• 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、创建角色

    1. --语法格式
    2. create role role_name by role_password;
    3. -- 样例演示
    4. create role identifiled by oracle;

    2、修改用户默认role

    1. -- 格式
    2. alter user 用户名 default role 角色名;
    3. -- 示例
    4. alter user test default role role1,role2;

    3、回收role

    rovoke role from test;

    4、删除role

    drop role hr_manager;

    5、为角色授权

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

    6、授予角色给用户

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

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

    1. -- 格式
    2. select * from dba_role_privs where grantee='用户名';
    3. -- 示例
    4. SQL> select * from dba_role_privs where grantee='WHITE';
    5. GRANTEE GRANTED_ROLE ADM DEF
    6. ------------------------------ ------------------------------ --- ---
    7. WHITE TEACHER NO YES
    8. WHITE CONNECT YES YES
    9. WHITE RESOURCE NO YES

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

    1. -- 格式
    2. select * from role_sys_privs where ROLE='角色';
    3. -- 示例
    4. SQL> select * from role_sys_privs where ROLE='TEACHER';
    5. ROLE PRIVILEGE ADM
    6. ------------------------------ -------------------- ---
    7. TEACHER CREATE ANY TABLE NO
    8. TEACHER CREATE PROCEDURE NO
    9. SQL> select * from role_sys_privs where ROLE='STUDENT';
    10. ROLE PRIVILEGE ADM
    11. ------------------------------ -------------------- ---
    12. STUDENT SELECT ANY TABLE NO

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

    1. --为角色添加口令
    2. alter role 角色名 identified by 角色口令;
    3. --删除角色的口令
    4. alter role 角色名 not identified;

  • 相关阅读:
    redis漏洞修复:CVE-2022-35977、CVE-2023-22458、CVE-2023-28856
    零代码数字孪生设计平台的功能特点
    python知识点的一些归纳
    Vue——组件高级——传值
    设计模式详解(十八)——责任链模式
    3. Apache HBase 为什么快?
    e-table,表格单元格合并
    我的创作者之路——2048天的技术成长与收获
    【C++初阶】日期类实现、const成员函数、取地址及const取地址操作符重载
    JavaScript-----jQuery
  • 原文地址:https://blog.csdn.net/yushaoyyds/article/details/134347241