1、管理角色第1页,共29页。目标目标完成这一课的学习后,您应该能达到下列目标:创建和修改角色 控制角色的可用性 删除角色使用预定义角色显示数据字典中的角色信息第2页,共29页。用户用户权限权限角色角色UPDATE ON JOBSINSERT ON JOBS SELECT ON JOBS CREATE TABLECREATE SESSIONHR_CLERKHR_MGRABC角色角色第3页,共29页。轻松权限管理动态权限管理可选择权限可用性可以通过操作系统授予 角色的优点角色的优点第4页,共29页。通过 ADMIN 选项授予的角色:不验证:使用口令:外部验证:CREATE ROLE oe_clerk
2、;CREATE ROLE hr_clerkIDENTIFIED BY bonus;CREATE ROLE hr_managerIDENTIFIED EXTERNALLY;创建角色创建角色第5页,共29页。第6页,共29页。角色名角色名 说明说明 CONNECT,提供这些角色的目的是为了向后提供这些角色的目的是为了向后RESOURCE,DBA兼容兼容EXP_FULL_DATABASE导出数据库的权限导出数据库的权限IMP_FULL_DATABASE导入数据库的权限导入数据库的权限DELETE_CATALOG_ROLE对于数据字典表的对于数据字典表的 DELETE 权限权限EXECUTE_CATA
3、LOG_ROLE对于数据字典程序包的对于数据字典程序包的 EXECUTE 权限权限SELECT_CATALOG_ROLE对于数据字典表的对于数据字典表的 SELECT 权限权限预定义角色预定义角色第7页,共29页。ALTER ROLE hr_clerkIDENTIFIED EXTERNALLY;ALTER ROLE hr_managerNOT IDENTIFIED;ALTER ROLE oe_clerkIDENTIFIED BY order;修改角色修改角色 使用使用 ALTER ROLE 可修改验证方法。可修改验证方法。要求使用要求使用 ADMIN 选项或具有选项或具有 ALTER ANY
4、ROLE 权限。权限。第8页,共29页。第9页,共29页。GRANT hr_clerk TO hr_manager;GRANT oe_clerk TO scott;GRANT hr_manager TO scott WITH ADMIN OPTION;分配角色分配角色使用使用 GRANT 命令分配角色命令分配角色第10页,共29页。第11页,共29页。第12页,共29页。ALTER USER scottDEFAULT ROLE hr_clerk,oe_clerk;ALTER USER scott DEFAULT ROLE ALL;ALTER USER scott DEFAULT ROLE AL
5、L EXCEPT hr_clerk;ALTER USER scott DEFAULT ROLE NONE;设置缺省角色设置缺省角色 可以为一个用户分配多个角色。可以为一个用户分配多个角色。可以为用户分配一个缺省角色。可以为用户分配一个缺省角色。限制用户的缺省角色的数目。限制用户的缺省角色的数目。第13页,共29页。第14页,共29页。应用程序角色只能由授权的 PL/SQL 程序包启用。USING package 子句用来创建应用程序角色。CREATE ROLE admin_roleIDENTIFIED USING hr.employee;应用程序角色应用程序角色第15页,共29页。启用和禁用角
6、色启用和禁用角色禁用角色以暂时撤消用户拥有的该角色。启用角色以暂时授予该角色。SET ROLE 命令可启用和禁用角色。登录时启用用户的缺省角色。启用角色可能需要口令。第16页,共29页。第17页,共29页。SET ROLE hr_clerk;SET ROLE oe_clerk IDENTIFIED BY order;SET ROLE ALL EXCEPT oe_clerk;启用和禁用角色启用和禁用角色第18页,共29页。撤消用户角色需要有撤消用户角色需要有 ADMIN OPTION 或或 GRANT ANY ROLE 权限。权限。使用以下命令撤消角色:使用以下命令撤消角色:REVOKE hr_
7、manager FROM PUBLIC;REVOKE oe_clerk FROM scott;撤消用户角色撤消用户角色第19页,共29页。第20页,共29页。DROP ROLE hr_manager;删除角色删除角色删除角色:删除授予所有用户和角色的角色 删除数据库角色需要 ADMIN OPTION 或 DROP ANY ROLE 权限使用以下命令删除角色:第21页,共29页。第22页,共29页。HR_MANAGERHR_CLERKPAY_CLERK用户角色用户角色应用程序角色应用程序角色应用程序权限应用程序权限用户用户工资表权限工资表权限津贴权限津贴权限角色创建原则角色创建原则BENEFIT
8、SPAYROLL第23页,共29页。缺省角色缺省角色受口令保护(非缺省设置)受口令保护(非缺省设置)选择权限选择权限INSERT、UPDATE、DELETE 和和 SELECT 权限权限PAY_CLERKPAY_CLERK_RO使用口令与缺省角色的原则使用口令与缺省角色的原则第24页,共29页。获取角色信息获取角色信息可以通过查询以下视图来获取有关角色的信息:可以通过查询以下视图来获取有关角色的信息:DBA_ROLES:数据库中存在的所有角色数据库中存在的所有角色 DBA_ROLES_PRIVS:授予用户和角色的角色授予用户和角色的角色 ROLE_ROL_PRIVS:授予角色的角色授予角色的角色 DBA_SYS_PRIVS:授予用户和角色的系统权限授予用户和角色的系统权限 ROLE_SYS_PRIVS:授予角色的系统权限授予角色的系统权限 ROLE_TAB_PRIVS:授予角色的对象权限授予角色的对象权限 SESSION_ROLES:用户当前启用的角色用户当前启用的角色第25页,共29页。在这一课中,您应该能够掌握:创建角色为角色分配权限为用户或角色分配角色设置缺省角色小结小结第26页,共29页。练习练习 17 概览概览 此练习涉及以下主题:列出角色的系统权限创建、分配和删除角色创建应用程序角色第27页,共29页。第28页,共29页。演讲完毕,谢谢观看!第29页,共29页。