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

为什个么要引入角色

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

什么是角色

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

怎样创建角色

Create role 角色名

identified by 口令】

或【identified externally

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

Create role cat

Identified by miaomiao

怎样修改角色

Alter role cat identified externally

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

如何将系统权限授予角色

Grant 系统权限名 to 角色

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

Grant managerclerk 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:数据字典上的删除权限

DBACONNECTRESOURSE:这三个角色是为了用以前版本兼容而设置的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值