zoukankan      html  css  js  c++  java
  • SQL Fundamentals || DCL(Data Control Language) || 角色ROLES

    语句

    解释

    Create user

    Creates a user(usually performed by a DBA)

    Grant

    Gives other users privileges to access the objects

    Create role

    Creates a collection of privileges, usually performed by a DBA

    Alter user

    Changes a user's password

    Revoke

    Removes privileges on an object from users

    通过数据字典查询

    数据字典视图

    描述

    dba_users

    用户

    dba_ts_quotas

    每个用户空间使用配额

    dba_profiles

    查询profile文件

    dba_sys_privs

    查询用户权限

    dba_roles

    查看角色

    ROLE_SYS_PRIVS

    授予角色的系统权限

    ROLE_TAB_PRIVS

    授予角色的表权限

    USER_ROLE_PRIVS

    授予用户的角色

    USER_SYS_PRIVS

    授予用户的系统权限

    USER_TAB_PRIVS_MADE

    用户对象上授予的权限

    USER_TAB_PRIVS_RECD

    授予用户的对象权限

    USER_COL_PRIVS_MADE

    用户某列上授予的对象权限

    USER_COL_PRIVS_RECD

    授予用户某列上的对象权限

    什么是角色Role

    • 数据库系统是role-base基于角色的系统.
      • 角色是权限的集合.
    • 操作系统中是基于组的系统,操作系统是用户组group.
      • 组是用户的集合.
    • 可以将权限赋予一个用户,也可以将角色赋予一个用户.
      • 创建一个角色;

    CREATE ROLE manager;

    • 赋予给角色一个权限;

    GRANT create table, create view To manager;

    • 赋予一个角色给用户;

    GRANT manager To wendy, gaga;

    角色

    • 建立用户而后为其授权是用户管理的基本操作,如果要想让一个用户正常进行操作,那么肯定需要授予很多的操作权限。如果说现在有100个用户,而且这些用户都需要具备相同的权限,那么在进行权限维护的时候肯定不可能针对于100个用户分别维护,而是需要将所有用户的权限一起进行维护,而在这时就只能够将多个权限加入到一个角色之中,通过对角色的维护来实现对多个用户的权限维护(可以是系统权限,也可以是对象权限),
    • 所谓的角色就是指一组相关权限的集合

     

    创建角色

    如果用户要创建角色,则可以通过DBA或者是具有相应“CREATE ROLE”权限的用户来完成,

    角色的创建语法如下所示。

    CREATE ROLE 角色名称

    [NOT IDENTIFIED | IDENTIFIED BY 密码 ;

    范例

    创建一个普通的角色

    CREATE ROLE c##role_a ;

    创建一个带有密码的角色

    CREATE ROLE c##role_b IDENTIFIED BY hello ;

     

    为角色授权

    • 当一个角色创建完成之后,里面并没有任何的权限,用户可以使用GRANT为角色进行授权
    • 范例

    c##role_b角色授权

    GRANT CREATE SESSION , CREATE ANY TABLE , INSERT ANY TABLE TO c##role_b ;

    c##role_a的角色授予c##gaga用户

    GRANT c##role_a TO c##gaga ;

    c##role_ac##role_b的角色授予c##wendy用户

    GRANT c##_role_a ,c##role_b TO c##wendy ;

    修改及回收角色

    • 角色密码的设置

    设置或取消角色密码

    ALTER ROLE 角色名称 [NOT IDENTIFIED | IDENTIFIED BY 密码 ];

    c##role_a的角色密码设置为hello1

    ALTER ROLE c##role_a IDENTIFIED BY hello1 ;

    取消c##ole_b角色的密码

    ALTER ROLE c##role_b NOT IDENTIFIED ;

    • 通过角色回收权限

    CREATE VIEW的权限从c##role_a角色中回收

    REVOKE CREATE VIEW FROM c##role_a ;

     

    删除角色

    • 当某个角色不再使用时,可以直接利用DROP命令将其删除。

    DROP ROLE 角色名称 ;

    • 删除c##role_b角色

    DROP ROLE c##role_b ;

    预定义角色

    • Oracle之中为了减轻管理员的负担,专门提供了一些预定义角色。
    • CONNECTRESOURCE角色授予c##wendy用户
      • GRANT CONNECT , RESOURCE TO c##wendy ;

    预定义角色

    描述

    EXP_FULL_DATABASE

    导出数据库权限

    IMP_FULL_DATABASE

    导入数据库权限

    SELECT_CATALOG_ROLE

    查询数据字典权限

    EXECUTE_CATALOG_ROLE

    数据字典上的执行权限

    DELETE_CATALOG_ROLE

    数据字典上的删除权限

    DBA

    系统管理的相关权限

    CONNECT

    授予用户最典型的权限

    RESOURCE

    授予开发人员的权限

     

  • 相关阅读:
    iOS开发之Xcode8兼容适配iOS 10资料整理笔记
    C#流概述
    C#回调实现的一般过程
    ASP.Net MVC的学习
    RAID基本知识
    Infiniband基本知识
    [转]开源实时视频码流分析软件:VideoEye
    [转]高分一号的落后与特色
    [转]MVC,MVP 和 MVVM 的图示
    图文助你打开MS SQL Serever的ldf和mdf文件
  • 原文地址:https://www.cnblogs.com/thescentedpath/p/ROLES.html
Copyright © 2011-2022 走看看