当前位置: 首页 > news >正文

Oracle(17)Managing Roles

目录

一、基础知识

1、基础介绍

2、Predefined Roles 预定义的角色

3、各种角色的介绍

二、基础操作

1、创建角色

2、修改用户默认role

3、回收role

4、删除role

5、为角色授权

6、授予角色给用户

7、查看用户包含的角色:

8、查看角色所包含的权限

9、为角色添加或删除口令


 

Managing Roles 管理角色

一、基础知识

1、基础介绍

在Oracle中,Roles是一种权限管理的机制,它可以被视为一组用户或其他Roles的集合。Roles可以分配给用户,从而在系统中管理访问权限。通过使用Roles,可以轻松地管理用户的访问权限和安全性,并且可以避免对每个用户进行单独的授权。Roles可以继承其他Roles的权限,并且可以包含多个权限对象(如表、序列、视图等)。这使得它更容易管理大规模的应用程序,同时提高了应用程序的安全性和可靠性。

2、Predefined Roles 预定义的角色

  • CONNECT:
    • 连接到数据库、创建群集、数据库链接、序列、同义词、表和视图以及更改会话的权限。
  • RESOURCE:
    • 创建集群、表和序列的特权,以及创建程序化对象(如过程、函数、包、索引类型、类型、触发器和操作符) 的特权。
  • DBA:
    • 使用ADMIN选项的所有系统特权,因此可以将系统特权授予数据库的其他用户或角色。
  • SELECT_CATALO_ROLE:查询字典视图和表的能力。
  • EXECUTE_CATALO_ROLE:执行字典包(SYS拥有的包)的特权。

3、各种角色的介绍

  • CONNECT,RESOURCE,DBA
    • 这些预定义角色主要用于数据库管理。Oracle 建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。
  • DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE
    • 这些角色主要用于访问数据字典视图和包。
  • EXP_FULL_DATABASE,IMP_FULL_DATABASE
    • 这两个角色用于数据导入导出工具的使用。
  • AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE
    • 这两个角色用于 Oracle 高级查询功能。
  • SNMPAGENT
    • 用于 Oracle enterprise manager 和 Intelligent Agent
  • RECOVERY_CATALOG_OWNER
    • 用于创建拥有恢复库的用户。
       

二、基础操作

1、创建角色

--语法格式
create role role_name by role_password;-- 样例演示
create role identifiled by oracle;

2、修改用户默认role

-- 格式
alter user 用户名 default role 角色名;-- 示例
alter user test default role role1,role2;

3、回收role

rovoke role from test;

4、删除role

drop role hr_manager;

5、为角色授权

grant create any table, create procedure to teacher;grant SELECT ANY TABLE to student;

6、授予角色给用户

-- 格式
grant 角色 to 用户名;-- 示例
SQL> grant student to black;
Grant succeeded.

7、查看用户包含的角色:

-- 格式select * from dba_role_privs where grantee='用户名';-- 示例
SQL> select * from dba_role_privs where grantee='WHITE';GRANTEE 		       GRANTED_ROLE		      ADM DEF
------------------------------ ------------------------------ --- ---
WHITE			       TEACHER			      NO  YES
WHITE			       CONNECT			      YES YES
WHITE			       RESOURCE 		      NO  YES

8、查看角色所包含的权限

-- 格式
select * from role_sys_privs where ROLE='角色';-- 示例SQL> select * from role_sys_privs where ROLE='TEACHER';
ROLE			       PRIVILEGE	    ADM
------------------------------ -------------------- ---
TEACHER 		       CREATE ANY TABLE     NO
TEACHER 		       CREATE PROCEDURE     NOSQL> select * from role_sys_privs where ROLE='STUDENT';
ROLE			       PRIVILEGE	    ADM
------------------------------ -------------------- ---
STUDENT 		       SELECT ANY TABLE     NO

9、为角色添加或删除口令

--为角色添加口令
alter role 角色名 identified by 角色口令;--删除角色的口令
alter role 角色名 not identified;

http://www.lryc.cn/news/231148.html

相关文章:

  • 小程序中如何设置门店信息
  • SCons
  • 蓝桥杯每日一题2023.11.14
  • 力扣labuladong——一刷day33
  • spring cloud alibaba之nacos
  • python自动化第一篇—— 带图文的execl的自动化合并
  • 使用 Redis 实现分布式锁,解决分布式锁原子性、死锁、误删、可重入、自动续期等问题(使用SpringBoot环境实现)
  • mysql oracle统计报表每天每月每年SQL
  • 通过Python设置及读取PDF属性,轻松管理PDF文档
  • 10. 深度学习——模型优化
  • macos 上彻底卸载 DevEco Studio
  • Nginx(五) break,if,return,rewrite和set指令的执行顺序深究
  • 八大学习方法(金字塔模型、费曼学习法、布鲁姆学习模型)
  • K8S的基础知识
  • java:基于jjwt写一个jwt工具类
  • AK F.*ing leetcode 流浪计划之半平面求交
  • docker搭建zokeeper集群、kafka集群
  • 【java学习—十四】反射机制调用指定方法、指定属性(5)
  • PC端微信@所有人逻辑漏洞
  • 如何在Windows 10中进行屏幕截图
  • 【nlp】2.4 GRU模型
  • 国科云:浅谈DNS缓存投毒常见类型和防御策略
  • Linux命令(120)之tcpdump
  • 2311rust对接C
  • MYSQL字符串函数详解和实战(字符串函数大全,内含示例)
  • 从C语言到C++_40(多线程相关)C++线程接口+线程安全问题加锁(shared_ptr+STL+单例)
  • Angular 指令介绍及使用(三)
  • 小学生加减乘除闯关运算练习流量主微信小程序开发
  • 普通测径仪升级的智能测径仪 增添11大实用功能!
  • vue做的一个一点就转的转盘(音乐磁盘),点击停止时会在几秒内缓慢停止,再次点击按钮可以再次旋转,