当前位置:文档之家› 数据库的安全管理

数据库的安全管理

身份验证模式设置
2、登录账号管理
登录账号
是服务器级用户访问数据库系统的标识 为了访问SQL Server系统,用户必须提供正确的登录账号 ,这些登录账号既可以是Windows登录账号,也可以是 SQL Server登录账号,但它必须是符合标识符规则的惟一 名字 登录账号的信息是系统信息,存储在master数据库的 sysxlogins系统表中,用户如需要有关登录账号的信息可以 到该表中查询
2、登录账号管理---使用SSMS管理登录账号
添加一个Windows NT用户或用户组
例1 (续) :增加windows用户“WTQ-PC\Test”
2、登录账号管理---使用SSMS管理登录账号
添加一个SQL Server用户
例2:增加SQL Server用户,用户名sql,密码pwd
2、登录账号管理---使用SSMS管理登录账号
1、SQL Server的安全机制
两种身份验证模式
两种身份验证模式:Windows身份验证和混合验证(即 Windows验证或SQL Server验证) Windows身份验证
使用Windows操作系统的安全机制验证用户身份,只要用户 能够通过Windows用户账号验证,即可连接到SQL Server而不 再进行身份验证
2、登录账号管理---使用SSMS管理登录账号
删除登录账号
例4:删除登录账号“WTQ-PC\Test”
2、登录账号管理---使用T-SQL命令管理登录账号
添加一个Windows NT用户或用户组
例5:增加windows用户“WTQ-PC\Test”,默认数据库为 DBS
2、登录账号管理---使用T-SQL命令管理登录账号
添加一个SQL Server用户
例6:增加SQL Server用户,用户名sql,密码pwd,默认 数据库为DBS
2、登录账号管理---使用T-SQL命令管理登录账号
修改登录账号
例7:修改登录账号“sql”的属性
2、登录账号管理---使用T-SQL命令管理登录账号
删除登录账号
例8:删除Windows登录账号“WTQ-PC\Test”
5、权限管理---使用T-SQL语句管理权限
添加一个SQL Server用户
例2 (续) :增加SQL Server用户,用户名sql,密码pwd
2、登录账号管理---使用SSMS管理登录账号
修改登录账号
例3:修改登录账号“sql”的属性
2、登录账号管理---使用SSMS管理登录账号
修改登录账号
例3 (续) :修改登录账号“sql”的属性
第14章 数据库的安全管理
重点
身份验证模式; 登录账号、数据库用户; 对象权限、语句权限;
难点
GRANT、REVOKE、DENY
1、SQL Server的安全机制
SQL Server的安全性是建立在身份验证和访问许可两种 安全机制上的;
身份验证 用来确定登录SQL Server的用户的登录账号和密码是否正确, 以此来验证其是否具有连接SQL Server的权限 通过身份验证并不代表其能够访问SQL Server中的数据库对象
3、数据库用户管理
创建数据库用户
例10:在数据库DBS中创建数据库用户
3、数据库用户管理
创建数据库用户
例 10 (续) :在数据库DBS中创建数据库用户
3、数据库用户管理
创建数据库用户
例10 (续) :在数据库DBS中创建数据库用户
3、数据库用户管理
修改数据库用户
例11:修改数据库DBS中数据库用户sql
4、角色管理---固定数据库角色
db_owner :可以执行数据库的所有配置和维护活动,还可以删除数 据库; db_securityadmin:可以修改角色成员身份和管理权限; db_accessadmin:可以为 Windows 登录名、Windows 组和 SQL Server 登录名添加或删除数据库访问权限; db_backupoperator:可以备份数据库; db_ddladmin:可以在数据库中运行任何数据定义语言 (DDL) 命令 db_datawriter:可以在所有用户表中添加、删除或更改数据; db_datareader:可以从所有用户表中读取所有数据; db_denydatawriter:不能添加、修改或删除数据库内用户表中的任 何数据; db_denydatareader:不能读取数据库内用户表中的任何数据;
5、权限管理
许可(权限)用来指定授权用户可以使用的数据库对象 和这些授权用户可以对这些数据库对象执行的操作; 在SQL Server中包括三种类型的许可:对象许可、语句 许可和隐含许可;
5、权限管理---对象许可
表示对特定的数据库对象,即表、视图、字段和存储过 程的操作许可; 它决定了能对表、视图、存储过程等执行哪些操作(如 UPDATE、DELETE、INSERT、EXECUTE); 如果用户想要对某一对象进行操作,其必须具有相应的 操作的权限; 例如,当用户要成功修改表中数据时,则前提条件是已 被授予表的UPDATE 权限;
4、角色管理---固有数据库角色
固定数据库角色是在数据库级别定义的,并且存在于每个 数据库中; 一个数据库角色只在其所在的数据库中有效,对其他数据 库无效; 可以向数据库级角色中添加任何数据库帐户和其他 SQL Server 角色; 用户不能删除固有的数据库角色;
4、角色管理---固定数据库角色
5、权限管理---对象许可
例13:为数据库DBS中的用户sql授予对Student表的 select、insert权限,拒绝update、delete权限
5、权限管理---语句许可
指定用户是否具有权限来执行某一语句,这些语句通常 是一些具有管理性的操作,如创建数据库、表、存储过 程等; 还包括备份数据库和事务日志的权限;
2、登录账号管理---使用SSMS管理登录账号
修改登录账号
例3 (续) :修改登录账号“sql”的属性
2、登录账号管理---使用SSMS管理登录账号
修改登录账号
例3 (续) :修改登录账号“sql”的属性
2、登录账号管理---使用SSMS管理登录账号
修改登录账号
例3 (续) :修改登录账号“sql”的属性
数据库级别的安全性
主要通过数据库用户进行控制,要想访问一个数据库,必须 拥有该数据库的一个用户,数据库用户是通过登录账号进行 映射的,可以属于固定的数据库角色或自定义的数据库角色;
数据对象级别的安全性
通过设置数据对象的访问权限进行控制的;
1、SQL Server的安全机制
SQL Server 的安全机制主要包括三个等级
4、角色管理---固有服务器角色
4、角色管理---固有服务器角色
sysadmin :可以在服务器上执行任何活动; Serveradmin:可以更改服务器范围的配置选项和关闭服务器 securityadmin :可以管理登录名及其属性; processadmin :可以终止在SQL Server 实例中运行的进程 setupadmin :可以添加和删除链接服务器; bulkadmin :可以运行 BULK INSERT 语句; diskadmin :用于管理磁盘文件; dbcreator :可以创建、更改、删除和还原任何数据库; 每个 SQL Server 登录名都属于 public 服务器角色;
5、权限管理---语句许可
例14:为数据库DBS中的用户sql授予备份数据库的权限, 拒绝创建表的权限
5、权限管理---隐含许可
系统自行预定义而不需要授权就有的权限,包括固定服 务器角色、固定数据库角色和数据库对象所有者所拥有 的权限; 例如:服务器角色sysadmin的成员可以在整个服务器范围 内从事任何操作,数据库拥有者db_owner被授予了对其 所创建的数据库的一切权限;
3、数据库用户管理
登录账号与数据库用户的区别
一个合法的登录账号只表明该账号通过了NT认证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象 进行某种或某些操作 只有当其同时拥有了数据库用户账号后,才能够访问相应 的数据库 一个登录账号总是与一个或多个数据库用户账号(这些账 号必须分别存在相异的数据库中)相对应,这样才可以访 问数据库 例如,登录账号sa 自动与每一个数据库用户dbo 相关联
访问许可 用来指定登录用户可以使用的数据库对象(如表、视图、存 储过程、函数等)以及可以对这些对象执行的操作
1、SQL Server的安全机制
SQL Server 的安全机制主要包括三个等级
服务器级别的安全性
主要通过登录账号进行控制,要想访问一个数据库服务器, 必须拥有一个登录账号,登录账号可以是windows账号或组, 也可以是SQLServer的登录账号;登录账号可以属于相应的服 务器角色;
3、数据库用户管理
删除数据库用户
例12:删除数据库DBS中数据库用户sql
4、角色管理
利用角色,SQL Server 管理者可以将某些用户设置为某一角 色,这样只对角色进行权限设置便可实现对所有用户权限的设 置,大大减少了管理员的工作量; “角色”类似于 Microsoft Windows 操作系统中的“组”
每个数据库用户都属于 public 数据库角色;
4、角色管理---应用程序角色
应用程序角色是一种比较特殊的由用户定义的数据库角色 如果想让某些用户只能通过特定的应用程序间接地存取数 据库中的数据,而不是直接地存取数据库数据时,就应该 考虑使用应用程序角色; 应用程序角色默认情况下不包含任何成员, 且是非活动的 必须为应用程序角色设计一个密码以激活它;
2、登录账号管理
查看登录账号
2、登录账号管理---使用SSMS管理登录账号
添加一个Windows NT用户或用户组
相关主题