SQL Server 权限管理

news2024/10/2 20:25:03

CSDN 成就一亿技术人!

2024年 第一篇

难度指数:* * 

CSDN 成就一亿技术人!


目录

1. 权限管理

什么是权限管理?

SQL server的安全机制

服务器级角色

数据库级角色

对象级角色

2. 创建用户 赋予权限

最重要的一步骤


1. 权限管理

什么是权限管理?

权限管理是数据库管理中的一个关键方面,它涉及到确定哪些用户或数据库主体(如登录、用户、角色等)有权执行特定的操作。权限管理的目的是确保数据库的安全性,防止未经授权的访问,保护敏感数据和维护数据库的完整性

SQL server的安全机制

  1. 身份验证(Authentication):

    • Windows身份验证: 使用Windows操作系统的用户身份验证信息。
    • SQL Server身份验证: 使用SQL Server本地账户和密码进行身份验证。
  2. 授权(Authorization):

    • 登录(Login): 登录是允许用户连接到SQL Server实例的标识。
    • 用户(User): 用户是数据库级别的安全主体,关联到登录并在数据库中分配权限。
    • 角色(Role): 角色是一组权限的逻辑集合,用户可以被分配到角色,以简化权限管理。
    • 权限(Permission): 权限规定了对数据库对象执行的特定操作,如SELECT、INSERT、UPDATE、DELETE等。
  3. 数据库级别的安全性(Database-level Security):

    • 数据库级别的角色(Database-level Roles): 例如,db_datareader和db_datawriter。
    • 数据库级别的权限(Database-level Permissions): 控制对整个数据库的操作权限。
  4. 对象级别的安全性(Object-level Security):

    • 模式级别的权限(Schema-level Permissions): 控制对模式中对象的操作权限。
    • 对象级别的权限(Object-level Permissions): 控制对具体对象(表、视图、存储过程等)的操作权限。

服务器级角色

在SQL Server中,有一些预定义的服务器级角色,这些角色具有不同的权限级别

服务器角色描述
sysadmin具有服务器上所有权限的最高权限角色。成员可以执行任何操作。
serveradmin具有服务器级别配置选项和资源的管理权限。
securityadmin管理登录、证书和密钥等安全性权限。
processadmin管理正在运行的进程,但不能查看或更改这些进程的查询。
setupadmin管理 SQL Server 安装过程的权限。
bulkadmin执行 BULK INSERT 语句的权限。
diskadmin管理磁盘文件的权限。
dbcreator在服务器上创建、更改和删除数据库的权限。
public默认服务器角色,所有登录用户都是其成员。

这些服务器级角色允许对服务器执行不同级别的管理任务。在分配角色成员身份时,应遵循最小权限原则,确保用户或登录仅获得其工作所需的最低权限级别

数据库级角色

角色描述
db_owner具有数据库上所有权限的最高权限角色。成员可以执行任何操作。
db_accessadmin访问权限
db_securityadmin管理数据库中的权限、角色和对象的权限。
db_ddladmin管理数据库中的任何 DDL 操作。
db_datareader允许成员 SELECT 数据库中的任何表或视图的权限。
db_datawriter允许成员 INSERT、UPDATE 和 DELETE 数据库中的任何表的权限。
db_denydatareader禁止读
db_denydatawriter禁止写
public默认数据库角色,所有数据库用户都是其成员。

这些数据库级别的角色允许对数据库执行不同级别的管理任务。db_owner 角色是最高权限的角色,允许执行任何数据库级别的操作。public 角色是默认的数据库角色,所有数据库用户都是其成员,但它通常没有分配具体的权限。

对象级角色

权限描述
SELECT允许用户检索数据库对象中的数据。
INSERT允许用户向数据库对象中插入新的行。
UPDATE允许用户更新数据库对象中的现有行的数据。
DELETE允许用户从数据库对象中删除现有的行。
EXECUTE允许用户执行存储过程或函数。
ALTER允许用户更改对象的定义。
CREATE允许用户创建新的数据库对象(如表、视图、存储过程等)。
VIEW DEFINITION允许用户查看对象的定义,但不允许执行操作。
REFERENCES允许用户在其他对象中引用表或视图。
TAKE OWNERSHIP允许用户获取对象的所有权。
CONTROL允许用户对指定的数据库对象拥有完全的控制权。

这些权限用于控制用户对数据库对象的不同操作。具体的权限需求可能会因对象类型和应用程序要求而有所不同。在分配权限时,建议按照最小权限原则,确保用户只获得其工作所需的最低权限级别。

2. 创建用户 赋予权限

右击登录名 点击新建登录名

选择SQL server身份验证

输入登录名密码 设置密码规则

默认数据库这一栏 选择你创建这个用户 允许登录哪一个数据库操作

选择服务器角色 不同的角色有着不同的权限(上边表中有介绍)

这边我赋予最高(服务器)权限

选择用户可以登录的数据库

下边框内就是(数据库)角色 不同的数据库角色 对(数据库)有着不同的权限

这边我选择访问和读 权限(对数据库)

第三列安全对象(根据需求勾选即可)

安全对象(Securable),可以通过权限得到保护的实体。 是SQLServer数据库引擎授权系统控制对其进行访问的资源。 如表、视图、触发器等。

状态 选择授予 启用

最重要的一步骤

选择第二个 SQL server 和 windows 身份验证模式

重新启动服务器

点击确定继续

重新连接

连接成功

祝福大家在2024年里:

  1. 快乐幸福,笑逐颜开。
  2. 健康安康,身体倍棒。
  3. 事业有成,成就非凡。
  4. 爱情甜蜜,关系愈浓。
  5. 学业有成,智慧无穷。
  6. 家庭和睦,温馨幸福。
  7. 梦想成真,前程无限。
  8. 逆风前行,勇往直前。
  9. 心想事成,万事如意。
  10. 看尽美好,迎接新生。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1362232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【信号处理:小波包转换(WPT)/小波包分解(WPD) 】

【信号处理:小波包转换(WPT)/小波包分解(WPD) 】 小波包变换简介WPT/WPD的基础知识WPT/WPD的主要特点The Wavelet Packet Transform 小波包变换前向小波数据包变换最佳基础和成本函数数学中波纹的最佳基础其他成本函数…

计算机中的数据运算

放上计算机中的数据的表示方法 计算机中的数据表示方法-CSDN博客 补码的运算: 连同符号位一起相加,符号位产生的进位自然丢掉,这里要特别注意机器数的位数,计算数的位数决定了可以存放的数据的大小,加减产生的数据的…

软件测试|Docker Kill/Pause/Unpause命令详细使用指南

简介 Docker是一种流行的容器化平台,提供了各种命令和功能来管理和操作容器。本文将详细介绍Docker中的三个重要命令:kill、pause和unpause。我们将深入了解它们的作用、用法和示例,帮助您更好地理解和使用这些命令。 什么是Docker Kill/Pa…

解决 Postman 报错问题:一份综合指南

Postman 是一个流行的 API 测试工具,它可以帮助开发者和测试人员快速地创建和发送各种 HTTP 请求,并查看响应结果。但是,在使用 Postman 的过程中,有时候会遇到一些报错或异常情况,影响了正常的测试流程。本文将介绍一…

MongoDB索引详解

概述 索引是一种用来快速查询数据的数据结构。BTree 就是一种常用的数据库索引数据结构,MongoDB 采用 BTree 做索引,索引创建 colletions 上。MongoDB 不使用索引的查询,先扫描所有的文档,再匹配符合条件的文档。使用索引的查询&…

【linux笔记1】

目录 【linux笔记1】文件内容的理解用户管理用户管理命令添加用户切换用户修改用户信息删除用户 用户组 【linux笔记1】 文件内容的理解 etc文件夹:etc是拉丁语"et cetera"的缩写,意思是“和其他的”或“等等”。在linux系统中,“…

【C++】类和对象详解(类的使用,this指针)

文章目录 前言面向过程和面向对象的初步认识类的引入类的定义类的访问限定符和封装性访问限定符封装性 类的作用域类的实例化类对象模型如何计算类对象的大小类对象的存储方式猜测结构体内存对齐规则 this指针this指针的引出this指针的特性 总结 前言 提示:这里可以…

【DevOps-07-3】Jenkins集成Sonarqube

一、简要说明 Jenkins安装Sonarqube插件Jenkins安装和配置Sonar-Scanner信息Jenkins打包项目中,增加Sonar-Scanner代码质量扫描二、Jenkins安装Sonarqube插件 1、登录Jenkins管理后台,搜索安装Sonar-Scanner插件 Jenkins管理后台示例:http://192.168.95.131:8080/jenkins/

MySQL之视图内连接、外连接、子查询案例

目录 一.视图 1.1 含义 1.2 操作 二.案例 三.思维导图 一.视图 1.1 含义 虚拟表,查询方面和普通表一样使用。 1.2 操作 1.创建视图: create or replace view 视图名 as 查询语句; 2.视图的修改: 方式1 create or replace view …

HttpRunner的测试用例分层机制

测试用例分层介绍: 在接口自动化测试维护过程中,由于测试用例的增加和需求变更导致测试用例的调整,使自动化测试用例的维护非常麻烦,直接关系到自动化测试能否持续有效地在项目中开展。 概括来说,测试用例分层机制的核…

性能优化-OpenMP基础教程(三)

本文主要介绍OpenMP并行编程的环境变量和实战、主要对比理解嵌套并行的效果。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础教程 🎀CSDN主页 发狂的小花 &…

MiniTab的宏基础知识

什么是宏? 宏是包含一系列 Minitab 会话命令的文本文件。可以使用宏自动执行重复性任务(例如,生成月度报表)或扩展 Minitab 的功能(例如,计算特殊检验统计量)。 Minitab 提供以下类型的宏&…

JetBrains Rider使用总结

简介: JetBrains Rider 诞生于2016年,一款适配于游戏开发人员,是JetBrains旗下一款非常年轻的跨平台 .NET IDE。目前支持包括.NET 桌面应用、服务和库、Unity 和 Unreal Engine 游戏、Xamarin 、ASP.NET 和 ASP.NET Core web 等多种应用程序…

IOS:Safari无法播放MP4(H.264编码)

一、问题描述 MP4使用H.264编码通常具有良好的兼容性,因为H.264是一种广泛支持的视频编码标准。它可以在许多设备和平台上播放,包括电脑、移动设备和流媒体设备。 使用caniuse查询H.264兼容性,看似确实具有良好的兼容性: 然而…

C#,入门教程(09)——运算符的基础知识

上一篇: C#,入门教程(08)——基本数据类型及使用的基础知识https://blog.csdn.net/beijinghorn/article/details/123906998 一、算术运算符号 算术运算符号包括:四则运算 加 , 减-, 乘*, 除/与取模%。 // 加法,运算 int va 1 …

海外分支访问国内服务器系统慢怎么办?

在全球业务不断扩张的今天,企业面临着海外分支访问国内总部服务器系统慢的问题。为了解决这一挑战,我们引入了lxway全球系统专网产品,为企业提供高效、安全的全球网络连接方案。通过解析技术瓶颈和专网的优势,本文将揭示如何借助先…

Linux第10步_通过终端挂载和卸载U盘

学习完“通过终端查看U盘文件”后,我们需要接着学习“通过终端挂载和卸载U盘”。主要是挂载U盘,它的用处很大,目的是通过命令来访问U盘。由于U盘的名字有很多种,为了便于访问,我们把将U盘的第一分区挂载到udisk目录下&…

Library Genesis (创世纪图书馆)最新镜像地址,可直接访问!不逊于 Z-Library 的优质电子书库

Library Genesis是一个提供免费访问数百万篇学术论文、书籍和其他研究资料的网站。它由一群图书馆员于1999年创立,并已成为全球学生、研究人员和学者最受欢迎的在线资源之一。 该网站提供各种材料,包括同行评审的期刊文章、会议论文、学位论文、论文、教…

【JAVA】volatile 关键字的作用

🍎个人博客:个人主页 🏆个人专栏: JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 volatile 的作用: 结语 我的其他博客 前言 在多线程编程中,保障数据的一致性和线程之间的可见性是…

Python基础入门第八课笔记(自定义函数 lambda)

什么时候用lambda表达式? 当函数有一个返回值,且只有一句代码,可以用lambda简写。 2、lanbda语法 lambda 形参 : 表达式 注意: 1、形参可以省略,函数的参数在lambda中也适用 2、lambda函数能接收任何数量的参数但只能…