章库的全性9ee全里 9.13关系数据库标准语言SQL的自主存取控制方法 SL标准对自主存取控制提供了支持,其DCL主要是 GRANT(授 权)语句和 REVOKE(收权)语句。 令关系中的用户权限 用户权限主要包括数据对象和操作类型两个要素。定义用户的 存取权限称为授权。 表9-1不同类型数据对象的操作权限 数据对象 操作权限 表、视图、列( ( TABLEY)|SErT, INSERT,, UPDATE, DELETE, ALL PRIVILEGE 基本表( TABLE) ALTER. INDEX 数据库( DATABASE) CREATETAB 表空间( TABLESPACE)USE CREATEDBC 2021/1/21
第9章 数据库的安全性及SQL Server安全管理 2021/1/21 9.1.3 关系数据库标准语言SQL的自主存取控制方法 SQL标准对自主存取控制提供了支持,其DCL主要是GRANT(授 权)语句和REVOKE(收权)语句。 ❖ 关系中的用户权限 用户权限主要包括数据对象和操作类型两个要素。定义用户的 存取权限称为授权。 表9-1 不同类型数据对象的操作权限 数据对象 操作权限 表、视图、列(TABLE) SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGE 基本表(TABLE) ALTER, INDEX 数据库(DATABASE) CREATETAB 表空间(TABLESPACE) USE 系统 CREATEDBC
章库的全性9ee全里 冷SL的存取控制功能一授权和收权语句 ■授权( GRANT)语句 格式: GRANT权限[0N对象]T0用户[ WITH GRANT OPTION] 功能:将指定数据对象的指定权限授予指定的用户。 说明:其中, WITH GRANT OPTI0N选项的作用是允许获得指定权 限的用户把权限再授予其他用户 【例9.1】把对读者信息表( readers)中的列“姓名”修改、查询 表的权限授予用户user的语句可以写为 GRANT UPDATE E), SELECT ON TABLE readers TO user1 【例9.2】把对表 readers, books, borrowing的査询、修改、插入 和删除等全部权限授予用户 user和用户user2的语句可以写为: GRANT ALL PRIVILIGES ON TABLE readers. books, borrowinf TO user, user2 2021/1/21
第9章 数据库的安全性及SQL Server安全管理 2021/1/21 ❖ SQL的存取控制功能--授权和收权语句 ▪ 授权(GRANT)语句 格式:GRANT 权限 [ON 对象] TO 用户 [WITH GRANT OPTION] 功能:将指定数据对象的指定权限授予指定的用户。 说明:其中,WITH GRANT OPTION选项的作用是允许获得指定权 限的用户把权限再授予其他用户。 【例9.1】把对读者信息表(readers)中的列“姓名”修改、查询 表的权限授予用户user1的语句可以写为: GRANT UPDATE(姓名),SELECT ON TABLE readers TO user1; 【例9.2】把对表readers,books, borrowinf的查询、修改、插入 和删除等全部权限授予用户user1和用户user2的语句可以写为: GRANT ALL PRIVILIGES ON TABLE readers,books, borrowinf TO userl,user2;
章库的全性9ee全里 【例9.3】把对表 books的查询权限授予所有用户。 GRANT SELECT ON tAbLE bOoks To public 【例9.4】把在数据库MyDB中建立表的权限授予用户user2 GRANT CREATETAB ON DATABASE My DB TO user2 【例9.5】把对表 readers的查询权限授予用户user3,并给用户 user3有再授予的权限。 GRANT SELECT ON TABLE readers to user 3 WITH GRANT OPTION: 【例9.6】用户uSer3把查询 readers表的权限授予用户user4。 GRANT SELECT ON TABLE readers to user4 2021/1/21
第9章 数据库的安全性及SQL Server安全管理 2021/1/21 【例9.3】 把对表books的查询权限授予所有用户。 GRANT SELECT ON TABLE books TO PUBLIC; 【例9.4】 把在数据库MyDB中建立表的权限授予用户user2。 GRANT CREATETAB ON DATABASE MyDB TO user2; 【例9.5】把对表readers的查询权限授予用户user3,并给用户 user3有再授予的权限。 GRANT SELECT ON TABLE readers TO user3 WITH GRANT OPTION; 【例9.6】用户user3把查询readers表的权限授予用户user4。 GRANT SELECT ON TABLE readers TO user4;
章库的全性9ee全里 ■回收( REVOKE)语句 格式: REVOKE权限[0N对象]FROM用户 功能:把已经授予指定用户的指定权限收回。 【例9.7】把用户user1修改读者姓名的权限收回 REVOKE UPDATE (LON TABLE readers FROM userl 【例9.8】把用户user3查询 readers表的权限收回 REVOKE SELECT ON TABLE readers from user 3 2021/1/21
第9章 数据库的安全性及SQL Server安全管理 2021/1/21 ▪ 回收(REVOKE)语句 格式:REVOKE 权限 [ON 对象] FROM 用户; 功能:把已经授予指定用户的指定权限收回。 【例9.7】把用户user1修改读者姓名的权限收回。 REVOKE UPDATE(姓名)ON TABLE readers FROM userl; 【例9.8】 把用户user3查询readers表的权限收回。 REVOKE SELECT ON TABLE readers FROM user3;
章库的全性9ee全里 92 SQL Server的安全体系结构 92 SQL Server2000的安全体系结构 SQL Server2000提供以下4层安全防线: 令操作系统的安全防线 Windows( Windiws nt或 Windows2000 Server等)网络管理员负责建立 用户组,设置账号并注册,同时决定不同用户对不同系统资源的访问级别。 今 SQL Server的运行安全防线 SQL Server通过登录账号设置来创建附加安全层。用户只有登录成功, 才能与 SQL Server建立一次连接 ☆ SQL Server数据库的安全防线 SQL Server的特定数据库都有自己的用户和角色,该数据库只能由它 的用户或角色访问,其他用户无权访问其数据。 令 SQL Server数据库对象的安全防线 SQL Server可以对权限进行管理。保证合法用户即使进入了数据库也 不能有超越权限的数据存取操作,即合法用户必须在自己的权限范围内进 行数据操作 2021/1/21
第9章 数据库的安全性及SQL Server安全管理 2021/1/21 9.2 SQL Server的安全体系结构 9.2.1 SQL Server 2000的安全体系结构 SQL Server 2000提供以下4层安全防线: ❖ 操作系统的安全防线 Windows(Windiws NT或Windows 2000 Server等) 网络管理员负责建立 用户组,设置账号并注册,同时决定不同用户对不同系统资源的访问级别。 ❖ SQL Server的运行安全防线 SQL Server通过登录账号设置来创建附加安全层。用户只有登录成功, 才能与SQL Server建立一次连接。 ❖ SQL Server数据库的安全防线 SQL Server的特定数据库都有自己的用户和角色,该数据库只能由它 的用户或角色访问,其他用户无权访问其数据。 ❖ SQL Server数据库对象的安全防线 SQL Server可以对权限进行管理。保证合法用户即使进入了数据库也 不能有超越权限的数据存取操作,即合法用户必须在自己的权限范围内进 行数据操作