目录
权限管理是数据库管理中的一个关键方面,它涉及到确定哪些用户或数据库主体(如登录、用户、角色等)有权执行特定的操作。权限管理的目的是确保数据库的安全性,防止未经授权的访问,保护敏感数据和维护数据库的完整性
身份验证(Authentication):
授权(Authorization):
数据库级别的安全性(Database-level Security):
对象级别的安全性(Object-level Security):
在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 | 允许用户对指定的数据库对象拥有完全的控制权。 |
这些权限用于控制用户对数据库对象的不同操作。具体的权限需求可能会因对象类型和应用程序要求而有所不同。在分配权限时,建议按照最小权限原则,确保用户只获得其工作所需的最低权限级别。
右击登录名 点击新建登录名
选择SQL server身份验证
输入登录名密码 设置密码规则
默认数据库这一栏 选择你创建这个用户 允许登录哪一个数据库操作
选择服务器角色 不同的角色有着不同的权限(上边表中有介绍)
这边我赋予最高(服务器)权限
选择用户可以登录的数据库
下边框内就是(数据库)角色 不同的数据库角色 对(数据库)有着不同的权限
这边我选择访问和读 权限(对数据库)
第三列安全对象(根据需求勾选即可)
安全对象(Securable),可以通过权限得到保护的实体。 是SQLServer数据库引擎授权系统控制对其进行访问的资源。 如表、视图、触发器等。
状态 选择授予 启用
选择第二个 SQL server 和 windows 身份验证模式
重新启动服务器
点击确定继续
重新连接
连接成功
祝福大家在2024年里: