BenQConfidential()2007,BenQCorporation管理角色BenQConfidential()2007,BenQCorporation目标完成这一课的学习后,您应该能达到下列目标:–创建和修改角色–控制角色的可用性–删除角色–使用预定义角色–显示数据字典中的角色信息BenQConfidential()2007,BenQCorporation用户权限角色UPDATEONJOBSINSERTONJOBSSELECTONJOBSCREATETABLECREATESESSIONHR_CLERKHR_MGRABC角色BenQConfidential()2007,BenQCorporation–轻松权限管理–动态权限管理–可选择权限可用性–可以通过操作系统授予角色的优点BenQConfidential()2007,BenQCorporation通过ADMIN选项授予的角色:–不验证:–使用口令:–外部验证:CREATEROLEoe_clerk;CREATEROLEhr_clerkIDENTIFIEDBYbonus;CREATEROLEhr_managerIDENTIFIEDEXTERNALLY;创建角色BenQConfidential()2007,BenQCorporation角色名说明CONNECT,提供这些角色的目的是为了向后RESOURCE,DBA兼容EXP_FULL_DATABASE导出数据库的权限IMP_FULL_DATABASE导入数据库的权限DELETE_CATALOG_ROLE对于数据字典表的DELETE权限EXECUTE_CATALOG_ROLE对于数据字典程序包的EXECUTE权限SELECT_CATALOG_ROLE对于数据字典表的SELECT权限预定义角色BenQConfidential()2007,BenQCorporationALTERROLEhr_clerkIDENTIFIEDEXTERNALLY;ALTERROLEhr_managerNOTIDENTIFIED;ALTERROLEoe_clerkIDENTIFIEDBYorder;修改角色•使用ALTERROLE可修改验证方法。•要求使用ADMIN选项或具有ALTERANYROLE权限。BenQConfidential()2007,BenQCorporationGRANThr_clerkTOhr_manager;GRANToe_clerkTOscott;GRANThr_managerTOscottWITHADMINOPTION;分配角色使用GRANT命令分配角色BenQConfidential()2007,BenQCorporationALTERUSERscottDEFAULTROLEhr_clerk,oe_clerk;ALTERUSERscottDEFAULTROLEALL;ALTERUSERscottDEFAULTROLEALLEXCEPThr_clerk;ALTERUSERscottDEFAULTROLENONE;设置缺省角色•可以为一个用户分配多个角色。•可以为用户分配一个缺省角色。•限制用户的缺省角色的数目。–应用程序角色只能由授权的PL/SQL程序包启用。–USINGpackage子句用来创建应用程序角色。CREATEROLEadmin_roleIDENTIFIEDUSINGhr.employee;应用程序角色BenQConfidential()2007,BenQCorporation启用和禁用角色–禁用角色以暂时撤消用户拥有的该角色。–启用角色以暂时授予该角色。–SETROLE命令可启用和禁用角色。–登录时启用用户的缺省角色。–启用角色可能需要口令。BenQConfidential()2007,BenQCorporationSETROLEhr_clerk;SETROLEoe_clerkIDENTIFIEDBYorder;SETROLEALLEXCEPToe_clerk;启用和禁用角色BenQConfidential()2007,BenQCorporation•撤消用户角色需要有ADMINOPTION或GRANTANYROLE权限。•使用以下命令撤消角色:REVOKEhr_managerFROMPUBLIC;REVOKEoe_clerkFROMscott;撤消用户角色BenQConfidential()2007,BenQCorporationDROPROLEhr_manager;删除角色–删除角色:•删除授予所有用户和角色的角色•删除数据库角色–需要ADMINOPTION或DROPANYROLE权限–使用以下命令删除角色:BenQConfidential()2007,BenQCorporationHR_MANAGERHR_CLERKPAY_CLERK用户角色应用程序角色应用程序权限用户工资表权限津贴权限角色创建原则BENEFITSPAYROLLBenQConfidential()2007,BenQCorporation缺省角色受口令保护(非缺省设置)选择权限INSERT、UPDATE、DELETE和SELECT权限PAY_CLERKPAY_CLERK_RO使用口令与缺省角色的原则BenQConfidential()2007,BenQCorporation获取角色信息可以通过查询以下视图来获取有关角色的信息:•DBA_ROLES:数据库中存在的所有角色•DBA_ROLES_PRIVS:授予用户和角色的角色•ROLE_ROL_PRIVS:授予角色的角色•DBA_SYS_PRIVS:授予用户和角色的系统权限•ROLE_SYS_PRIVS:授予角色的系统权限•ROLE_TAB_PRIVS:授予角色的对象权限•SESSION_ROLES:用户当前启用的角色BenQConfidential()2007,BenQCorporation在这一课中,您应该能够掌握:–创建角色–为角色分配权限–为用户或角色分配角色–设置缺省角色小结练习17概览•此练习涉及以下主题:–列出角色的系统权限–创建、分配和删除角色–创建应用程序角色