资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第12章 数据库的安全性和完整性管理,2019/5/24,主要内容,安全性概述 身份验证 登录帐户 数据库用户 角色 权限 完整性概述 约束 规则,安全性概述,SQL Server身份验证 登录帐户 数据库用户 角色 权限,SQL Server身份验证,Windows验证模式: Windows身份验证比SQL Server身份验证更加安全,使用Windows身份验证的登录帐户更易于管理,用户只需登录Windows之后就可以使用SQL Server。 SQL Server 和Windows 混合验证模式。,SQL Server2005登录帐户,使用SSMS管理登录帐户 使用Transact-SQL管理登录帐户,使用SSMS管理登录帐户,右击,选择“新建”,使用Transact-SQL管理登录帐户,CREATE LOGIN 如:CREATE LOGIN test WITH PASSWORD = 2,SQL Server2005数据库用户,在数据库中,用户帐号与登录帐号是两个不同的概念,一个合法的登录帐号只表明该帐号通过了Windows认证或SQL Server认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作。,使用Management Studio管理用户,使用Tractans-SQL管理用户,CREATE USER DROP USER ALTER USER。,例子,首先创建名为 Teacher 且具有密码的服务器登录名,然后在数据库TEACH中创建对应的数据库用户 WangWei。 CREATE LOGIN Teacher WITH PASSWORD = 27039; USE TEACH CREATE USER WangWei,例子,更改数据库用户的名称 ALTER USER WangWei WITH NAME = Wangjf 删除用户WangWei DROP USER WangWei,SQL Server2005角色,角色等价于Windows的工作组,将登录名或用户赋予一个角色,将权限给予角色,登录名或用户作为角色成员,继承了所属角色的权限。,角色分类,服务器角色 数据库角色 固有数据库角色 用户自定义数据库角色 应用程序角色,服务器角色,服务器角色内建于SQL Server,其权限无法更改,固有数据库角色,固有数据库角色是指这些角色所有数据库权限已被SQL Server预定义,不能对其权限进行任何修改,并且存在于每个数据库中。,使用Management Studio管理角色,使用Tractans-SQL语句管理角色,管理服务器角色 :sp_addsrvrolemember和 sp_dropsrvrrolemember 管理数据库角色 :CREATE ROLE,DROP ROLE,ALTER ROLE 查看角色信息 :sp_helprolemember、sp_helprole,SQL Server2005权限,主体 “主体”是可以请求SQL Server资源的个体、组和过程 安全对象 安全对象是授权系统控制对其进行访问的资源。 架构 架构是形成单个命名空间的数据库实体的集合 完全限定的对象名称现在包含四部分:server.database.schema.object。,主体,安全对象,权限的管理,权限管理指将安全对象的权限授予主体、取消或禁止主体对安全对象的权限。 SQL Server通过验证主体是否已获得适当的权限来控制主体对安全对象执行的操作。,主要安全对象权限,架构,每个用户都有一个默认架构 如果未定义默认架构,则数据库用户将把 DBO作为其默认架构。 完全限定的对象名称现在包含四部分:server.database.schema.object。,使用Management Studio管理权限,使用Tractans-SQL管理权限,GRANT用来把权限授予某一用户,以允许该用户执行针对该对象的操作。 REVOKE:取消用户对某一对象或语句的权限,这些权限是经过GRANT语句授予的。 ENY用来禁止用户对某一对象或语句的权限,明确禁止其对某一用户对象,执行某些操作。,例子,授予用户 WangWei 对数据库的 CREATE TABLE 权限。 GRANT CREATE TABLE TO WangWei 撤销用户 WangWei 对表Person.Address的SELECT权限。 REVOKE SELECT ON OBJECT:Person.Address FROM WangWei 拒绝用户 WangWei 对数据库中表 Person.Address 的 SELECT 权限。 DENY SELECT ON OBJECT:Person.Address TO WangWei,数据库完整性,实体完整性 域完整性 引用完整性 用户定义完整性,约束,PRIMARY KEY约束 FOREIGN KEY约束 UNIQUE约束 CHECK约束 DEFAULT定义 允许空值,例子主键约束,创建一个简单的学生表。 CREATE TABLE student( StuID int PRIMARY KEY, StuName varchar(20) ),例子外键约束,例12.26 创建选课表 CREATE TABLE schedule( scheduleid int PRIMARY KEY, subjectid int REFERENCES subject(subjectid), stuID int CONSTRAINT fk_stu_id FOREIGN KEY(StuID) REFERENCES student(StuID) ),规则,规则就是数据库中对存储在表的列或用户自定义数据类型中的值的规定和限制,规则是单独存储的独立的数据库对象。 后续版本的 MicrosoftSQL Server将删除规则。请避免在新的开发工作中使用该功能,并应着手修改当前还在使用该功能的应用程序。推荐使用CHECK约束。,规则的管理,规则的创建 :Create rule 规则的绑定 :sp_bindrule 规则的取消绑定: sp_unbindrule 规则的删除 :Drop rule,本章小结,本章介绍了数据库安全性和完整性的基本知识,并详细阐述了身份验证、登录帐户、用户、角色、权限的图形界面和T-SQL操作。数据库完整性保证了数据的正确和有效,介绍了约束和规则,主要要掌握约束的内容。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号