您的位置:首页 > 数据库 > Oracle

oracle dba 培训教程 第15章 管理角色

2012-08-27 15:34 429 查看
为什个么要引入角色

将要为大量用户授予相同的多个权限时,系统权限的使用次数将是惊人的数目,当这些系统权限需要修改时,其修改量也是惊人的。

什么是角色

角色是一组命名的相关权限,这组权限可以通过这个名字授予用户或其他角色。

怎样创建角色

Create role
角色名

【identified by
口令】

或【identified externally】

在创建角色时怎样设置口令标识

Create role cat

Identified by miaomiao

怎样修改角色

Alter role cat identified externally

一个角色在创建之后是可以修改的,但只能修改它的验证方法

如何将系统权限授予角色

Grant
系统权限名 to
角色

如何将角色分别授予多个用户

Grant manager,clerk to
用户名【with admin option】

怎样得到一个角色所拥有的系统权限

Select * from role_sys_privs where role=’角色名’

怎样获得用户被授予的角色

Select * from user_role_privs

怎样为一个用户设置默认角色

Alter user
用户名default role
角色名

怎样为一个用户设置非默认角色

Alter user
用户名 default role none;

Alter user
用户名 default role all except
角色名

怎样获得用户的默认与非默认角色的信息

Select * from user_role_privs

怎样激活与禁止角色

禁止:set role
角色名none

激活:set role
角色名【identified by
口令】

怎样回收和删除角色

回收:revoke
角色名 from
用户名

删除:drop role
角色名

Oracle推荐的两个创建和使用角色的模型

第一种:通过角色授权的方法,该模型告知不要将权限直接授予用户,应该

!首先将数据库系统中的用户根据他们的工作性质进行分组,之后为每一个用户创建一个用户角色

!接下来将系统的应用进行分类,然后为每一类应用创建一个应用角色

!将权限首先授予应用角色

!再将应用角色授予用户

!最后将用户角色授予真正的用户

第二种:只将一些不重要的权限授予默认角色,而那些可能会威胁到系统安全的权限(如DML操作)只授予哪些有口令的角色,即非默认角色,之后再将这些角色赋予相应的用户,用户在登录后只能自动地使用那些以默认角色授予的权限,如果用户想使用以非默认角色授予的权限,就必须提供正确的口令

Oracle常用的预定义的角色

EXP_FULL_DATABASE:导出数据库的权限

IMP_FULL_DATABASE:导入数据库的权限

SELECT_CATALOG_ROLE:查询数据字典的权限

EXECUTE_CATALOG_ROLE:数据字典上的执行权限

DELETE_CATALOG_ROLE:数据字典上的删除权限

DBA,CONNECT,RESOURSE:这三个角色是为了用以前版本兼容而设置的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: