SQL Server 权限管理

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: SQL Server 权限管理

1. 权限管理


什么是权限管理?

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


SQL server的安全机制

身份验证(Authentication):


Windows身份验证: 使用Windows操作系统的用户身份验证信息。

SQL Server身份验证: 使用SQL Server本地账户和密码进行身份验证。

授权(Authorization):


登录(Login): 登录是允许用户连接到SQL Server实例的标识。

用户(User): 用户是数据库级别的安全主体,关联到登录并在数据库中分配权限。

角色(Role): 角色是一组权限的逻辑集合,用户可以被分配到角色,以简化权限管理。

权限(Permission): 权限规定了对数据库对象执行的特定操作,如SELECT、INSERT、UPDATE、DELETE等。

数据库级别的安全性(Database-level Security):


数据库级别的角色(Database-level Roles): 例如,db_datareader和db_datawriter。

数据库级别的权限(Database-level Permissions): 控制对整个数据库的操作权限。

对象级别的安全性(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 身份验证模式



重新启动服务器

点击确定继续

重新连接

连接成功


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1天前
|
SQL 数据处理 API
实时计算 Flink版产品使用合集之遇到SQL Server锁表问题如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
7 0
|
2天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
17 1
|
2天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 0
|
4天前
|
SQL XML Linux
SQL Server的版本
【5月更文挑战第14天】SQL Server的版本
19 3
|
4天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
16 2
|
4天前
|
SQL 存储 数据库连接
LabVIEW与SQL Server 2919 Express通讯
LabVIEW与SQL Server 2919 Express通讯
|
4天前
|
SQL Windows
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
安装SQL Server 2005时出现对性能监视器计数器注册表值执行系统配置检查失败的解决办法...
14 4
|
4天前
|
SQL 数据可视化 Oracle
这篇文章教会你:从 SQL Server 移植到 DM(上)
这篇文章教会你:从 SQL Server 移植到 DM(上)
|
4天前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
|
4天前
|
SQL 存储 网络协议
SQL Server详细使用教程
SQL Server详细使用教程
31 2