一.角色管理的概述

1.角色的概念

为了简化数据库权限的管理,在Oracle数据库中引入了角色的概念。所谓的角色就是一系列相关权限的集合。

2.角色的特点

在数据库中,角色的名称必须是唯一的,不能与用户同名。

由于角色不是模式对象,当创建角色的用户被删除时对角色没有任何影响。

角色可以包含任何的系统权限和对象权限

       角色可以授予任何数据库用户和其他角色

授予用户的角色可以随时禁用或激活

可以使用default role语句设置用户的默认角色

如果创建角色时指定需要验证,则激活该角色时需要提供验证信息

可以随时增加或删除角色所具有的权限

3.优点

减少权限管理的工作量。

实现权限的动态管理

有效的使用权限

提供应用安全性

4.角色的分类    主要分为预定义角色与自定义角色

二.预定义角色

在Oracle11g数据库中有50多个预定义角色。最常用的有

dba

resource

connect等

查询当前数据库的的所有预定义角色

SQL> select * from dba_roles;

ROLE                           PASSWORD_REQUIRED AUTHENTICATION_TYPE
------------------------------ ----------------- -------------------
CONNECT NO NONE
RESOURCE NO NONE
DBA NO NONE
SELECT_CATALOG_ROLE NO NONE
EXECUTE_CATALOG_ROLE NO NONE
DELETE_CATALOG_ROLE NO NONE
EXP_FULL_DATABASE NO NONE
IMP_FULL_DATABASE NO NONE
LOGSTDBY_ADMINISTRATOR NO NONE
DBFS_ROLE NO NONE
AQ_ADMINISTRATOR_ROLE NO NONE
AQ_USER_ROLE NO NONE
。。。。。。。

  这是所有的预定义的所有的角色

三.创建角色

语法

CREATE ROLE role[NOT IDENTIFIED]|[IDENTIFIED [BY password]]|EXTERNALLY|GLOBALLY

NOT IDENTIFIED:角色曹勇数据库认证,激活时不需要口令

创建4个角色,一个采用不需要口令数据库认证,一个采用需要口令数据库认证,一个采用操作系统认证,一个采用全局认证

SQL> create role role_emp;

Role created

SQL> create role role_emp identified by role_manager;

SQL> create role role_manager identified by role_manager;

Role created

SQL> create role role_external identified externally;

Role created

SQL> create role role_global identified  globally;

Role created

  四.角色权限的授予与回收

需要注意的

1.使用grant语句为角色授权的时候,自己需要grant admin option,或者是grant grant option

2.在Oracle11 g中不允许角色授权带有grant admin option,或者是grant grant option

五.修改角色

ALTER ROLE role[NOT IDENTIFIED]|[IDENTIFIED [BY password]]|EXTERNALLY|GLOBALLY

六.禁用与激活角色

1.禁用所有角色

set role none;

2.激活指定角色

set role  connect ,resource,role_emp identified by role_emp;

3.激活除了个别角色外其他所有角色

set role all except role_manager,role_emp;

4.激活所有角色

set role all;

5.删除角色

drop role role_emp;

七.利用角色进行权限管理

设置用户的默认角色

alter user user default  role role_list|[all [except role_list]]|none;

1.禁用用户user1的所有角色,当用户user1登录数据库时所有角色处于禁用状态

alter user user1 default role none;

2.将用户user1的角色connect,resource设置为默认角色

alter user  user1 default  role connect,resource;

3.将用户的所有角色设置为默认角色

alter user user1 default role all;

4.将用户除默认角色外的,其他角色都设置为默认角色

alte user user1 default role all execpt resource;

Oracle数据安全(四)j角色管理的更多相关文章

  1. (十四)角色管理(Ztree插件的基本使用)

    1. 建表 角色表 菜单表 角色-菜单(这个表中的role_id和menuu_id都不能被设置为主键,否则当插入一个新角色的时候,一个角色可能拥有多个菜单(role_id重复),一个菜单可能被多个角色 ...

  2. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  3. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  4. Oracle用户管理和角色管理

    原博:http://liwx.iteye.com/blog/1182251 一.创建用户的Profile文件 SQL> create profile student limit // stude ...

  5. Oracle用户、授权、角色管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  6. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  7. Oracle 用户、授权、角色管理

    Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...

  8. Oracle用户、权限、角色管理学习(文字很系统)

     Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库  休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...

  9. Oracle 用户、角色管理简介

    Oracle 用户.角色管理简介 by:授客 QQ:1033553122 创建用户 形式1:创建名为testacc2的用户 CREATE USER testacc2 IDENTIFIED BY abc ...

随机推荐

  1. Java语言中两种异常的差别

    Java提供了两类主要的异常:runtime exception和checked exception.所有的checked exception是从java.lang.Exception类衍生出来的,而 ...

  2. 【vijos】1764 Dual Matrices(dp)

    https://vijos.org/p/1764 自从心态好了很多后,做题的确很轻松. 这种题直接考虑我当前拿了一个,剩余空间最大能拿多少即可. 显然我们枚举每一个点拿出一个矩形(这个点作为右下角), ...

  3. 卡友友刷MPOS注册开通流程!

    1.下载友刷APP:打开微信扫描机器背面二维码—点击右上角游览器打开 2. 注册-身份证认证-结算卡绑定:用本人手机号注册完成后,顺着进行身份认证.以及储蓄结算卡绑定.具体看下图: 3.绑定机器:选择 ...

  4. kvm初体验之四:从Host登录Guest的五种方式

    1. virt-viewer virt-viewer -c qemu:///system vm1 2. virt-manager (以非root身份运行) virt-manager -c qemu:/ ...

  5. CSS:层叠样式表的冲突处理

    前言 重叠样式表的冲突是通过重叠过程排序,最终确定文档的显示方式的,也就是是说通过重叠排序来处理冲突问题.这过程起决定性作用的是选择器及其相关申明的特殊性,以及继承机制. 基本流程 1.找出所有相关规 ...

  6. 我如何让echarts实现了分组(原创插件echarts.group代码分享)

    前言 echarts是百度出品的一款很棒的前端图表控件,被评为“百度少有的良心产品”.可以实现散点图.折线图.柱状图.地图.饼图.雷达图.K线图等等几十种常用.不常用的图表,效果酷炫. 示例地址:ht ...

  7. quartz定时任务配置

    参考:http://www.cnblogs.com/kay/archive/2007/11/02/947372.html Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quar ...

  8. Android性能测试摘入(TestHome)

    Android性能测试:      客户端性能测试      服务端性能测试   客户端性能测试:      1.ROM版本的性能测试(即手机的不同操作系统):关注功耗测试      2.应用的性能测 ...

  9. python拓展库whl下载网址集合:

    http://www.lfd.uci.edu/~gohlke/pythonlibs/

  10. 《挑战程序设计竞赛》2.2 贪心法-其它 POJ3617 3069 3253 2393 1017 3040 1862 3262

    POJ3617 Best Cow Line 题意 给定长度为N的字符串S,要构造一个长度为N的字符串T.起初,T是一个空串,随后反复进行下列任意操作: 从S的头部(或尾部)删除一个字符,加到T的尾部 ...