`
流浪鱼
  • 浏览: 1683071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

管理权限和角色.

 
阅读更多

1、权限(privilege)是指执行接特定类型SQL命令或访问其他方案对象的权利,它包括系统权限和对象权限。
1.1系统权限(System Privilege)是指执行特定类型SQL命令的权利。ORACLE提供了100种系统权限。
常用的系统权限:
create  session    连接到数据库    
create  table    
create  view
create public   sysnonym    建立同义词
create  sequence  建立序列
create  procedure   建立过程、函数、包
create  trigger  建立触发哭
create  cluster  建立簇
create  type  建立对象类型
create  database link  建立数据库连接
--显示所有系统权限
select  *  from  system_privilege_map 
--显示用户所具有的系统权限
通过查询数据字典视图dba_sys_privs,可以显示用户或角色所具有的系统权限以及转发授系统权限选项。
select *   from  dba_sys_privs  where  grantee='blake'
--显示当前用户所具有的系统权限及转授系统权限选项
select *  from  user_sys_privs
--显示当前会话所具有的系统权限
select *  from  session_privs
1.2、管理系统权限
1.2.1、授予系统权限
GRANT  system_privs  ,system_privs,[......]  to  [user|role|public]  ,[user|role|public ]  with  admin  option;
--显示所有系统权限
select  *  from  system_privilege_map 
--显示用户所具有的系统权限
通过查询数据字典视图dba_sys_privs,可以显示用户或角色所具有的系统权限以及转发授系统权限选项。
select *   from  dba_sys_privs  where  grantee='blake'
--显示当前用户所具有的系统权限及转授系统权限选项
select *  from  user_sys_privs
--显示当前会话所具有的系统权限
select *  from  session_privs
1.2.2收回系统权限
REVOKE  system_privs  ,system_privs [....]  from  {user|role|public}  ,   {user|role|public}  with  admin  option;
--系统权限不会级联收回


2、对象权限(object privilege)是指访问其它方案对象的权利。
alter   delete    insert   update  select index   execute   references
2.1授予对象权限
GRANT  {object_priv[(column_list)],[,object_priv[column_list]].. |all  [privileges]} on  [schema.]object  to  {user|role|public} [,{user|role|public}]     with  grant  option
例如:
grant  update(sal)  on emp    to  blake
--显示对象权限
select grantor  ,owner ,owner || '.' || table_name as object ,privilege from  dba_tab_privs  where  grantee='blake'
--显示列权限
select owner ,table_name || '.' ||  column_name   as  table_column ,privilege  from  dba_col_privs  where  grantee='BLAKE'
--只能在INSERT 、UPDATE 、REFERENCES上授予列权限。
2.2收回对象权限
REVOKE  {object_priv [, object_priv]...|all  [privileges]}  on  [schema.]object   from   {user|role|public} ,{user|role|public} ....[CASCADE  CONSTANTS] ;


3、管理角色
角色包括预定义角色和自定义角色
常用预定义角色:CONNECT    RESOURCE     DBA
CONNECT角色具有一般应用开发人员所需要的大多数权限。当建立了用户之后,多数情况下用户授予CONNECT和RESOURCE角色就足够了。

CONNECT角色所具有系统权限:
alter session  create  cluster  create  database  link    create  sequence   create  session
create public  sysnonym   create  table  create  view

RESOURCE角色具有应用开发人员所需要的其他权限。
RESOUCE角色具有的系统权限:
CREATE  CULSTER  CREATE INDEXTPE  CREATE  PROCEDURE  CREATE  SEQUENCE  CREATE  TABLE   CREATE  TRIGGER  CREATE  TYPE
DBA角色具有所有系统权限,以及WITH  ADMIN  OPTION选项。

3.1建立自定义角色
--当使用CREATE  ROLE命令建立角色时,可以指定角色的验证方式(不验证、数据库验证、OS验证等)
3.1.1建立角色(不验证)
GRANT  ROLE  pbulic_role  NOT  IDENTIFIED ;
3.1.2建立角色(数据库验证)
GRANT  ROLE  private_role  IDENTIFIED   BY  private(密码)  ;

3.2给角色授权
GRANT  SESSION  TO  public_role  WITH ADMIN  OPTION
GRANT  SELECT  ON  scott.emp  TO  public_role
GRANT  INSERT ,UPDATE  ,DELETE  ON  scott.emp TO  private_role
--系统的UNLIMITED  TABLESPACE  和对象权限的WITH  GRANT  OPTION 选项不能被授予角色另外不能用GRANT语句同进授予系统权限和对象权限。

3.3分配角色给用户
GRANT  public_role  ,private_role  TO  blake

3.4激活和禁止角色
3.4.1默认角色
默认角色是用户所具有角色的子集,当为用户指定默认角色后,以该用户身份登录时会自动激活其默认角色。
ALTER  USER user  DEFAULT  ROLE    {role [,role]....|ALL [EXCEPTON  role  [,role]....] |NONE};
ALTER  USER  blake  DEFAULT  ROLE   public_role ;
3.4.2激活和禁止角色
--在SQL*Plus中激活和禁止角色使用SET ROLE 命令来完成的,而在其他应用环境中可以使用过程DBMS_SESSION.SET_ROLE命令来完成的,需要注意,当激活新角色时会自动禁止先前角色。     
(1)激活角色:不验证
SET ROLE public_role

exec  dbms_session.set_role('public_role')
(2)激活角色:数据库验证
SET ROLE  private_role  IDENTIFIED  BY  private(密码)

exec  dbms_session.set_role('private_role  identified  by  private')
(3)  禁止角色
SET  ROLE  NONE;

exec  dbms_session.set_role('NONE');
3.5修改角色
3.5.1修改角色:不验证
ALTER  ROLE  private_role  NOT  IDENTIFIED  ;

3.6删除角色
DORP  ROLE  private_roles

3.7显示角色信息
3.7.1显示所有角色
select *  from   dba_roles
3.7.2显示角色所具有的系统权限
通过查询数据字典视图DBA_SYS_PRIVS或ROLE_SYS_PRIVS可以显示角色所具有的系统权限
select  privilege  ,admin_optoin  from  role_sys_privs  where  role='PBULIC_ROLE';
3.7.3显示角色所具有的对象权限
select  owner || '.'  || table_name ,privilege   from  role_tab_privs  where  role='PUBLIC_ROLE'
3.7.4显示用户所具有的角色及默认角色
select  granted_role ,default_role  from  dba_role_privs where  grantee='blank'
3.7.5显示当前会话激活的角色
select  *  from  session_roles ;

分享到:
评论

相关推荐

    Oracle管理索引、权限和角色.doc

    Oracle管理索引、权限和角色.doc

    10 oracle管理权限和角色 PPT

    Oracle数据库系统是企业级数据...以上就是Oracle管理权限和角色的关键知识点,这些概念和操作是数据库管理员日常工作中不可或缺的一部分,有效管理权限和角色能够保证数据安全,防止未授权访问,并简化权限分配流程。

    oracle权限及角色.doc

    总之,Oracle的角色和权限机制提供了强大的安全管理能力,允许管理员灵活地控制用户对数据库资源的访问,同时降低了权限管理的复杂度。正确理解和使用这些功能,对于构建安全、高效的Oracle数据库环境至关重要。

    信息系统用户帐号和角色权限管理流程.pdf

    信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf信息系统用户帐号和角色权限管理流程.pdf

    角色权限管理系统.doc

    角色权限管理系统是一个关键的软件设计领域,主要用于控制和管理用户在特定系统中的访问权限。本实验报告由西安石油大学计算机学院的学生杨晓和杨莎莎完成,旨在介绍他们设计的一个小规模权限管理系统,并分享其设计...

    权限管理系统.rar权限管理系统.rar

    6. **权限策略管理**:定义和管理权限策略,例如基于时间的权限、基于位置的权限等。 7. **权限继承与隔离**:子目录或子资源可继承父级的权限,同时也能设定独立的权限。 8. **权限变更通知**:当权限发生变动时,...

    个人管理系统用户管理角色管理权限管理

    在IT行业中,用户管理、角色管理和权限管理是构建任何后台管理系统不可或缺的重要组成部分,尤其是在个人管理系统中。这些概念和功能确保了系统的安全性和高效性,同时提供了定制化的用户体验。以下是关于这些核心...

    PHP网站后台角色权限管理系统源码.zip

    角色管理允许系统管理员轻松分配和调整用户权限。 4. **权限(Permission)控制**:权限是系统中的具体操作,如创建、读取、更新或删除数据。通过赋予用户不同的角色,系统可以实现细粒度的权限控制,确保不同用户...

    欢迎使用信息管理权限管理系统.zip

    【标题】"欢迎使用信息管理权限管理系统"是一个关于企业或组织内部信息管理系统的主题,它强调了权限管理和用户角色的概念。在这样的系统中,权限管理是核心功能,它确保只有授权的用户才能访问特定的数据或执行特定...

    Oracle用户、权限、角色管理

    在Oracle数据库的管理中,用户、权限和角色的管理是确保数据安全和高效使用的关键环节。本文将详细阐述Oracle中的用户管理、权限设置,以及角色管理的重要概念和操作流程。 #### 一、Oracle数据库用户管理 Oracle...

    基于C# WinForm的用户角色权限管理系统.zip

    对账号选定角色,账号登录之后只会显示给他对应角色分配的菜单,还有个人中心设置个人图像和用户名密码的修改,内容真实有效。文件中包含源码、sql文件以及mysql连接数据库的各版本的Mysql.Data.dll

    sap角色权限设置手册

    * 采购管理:在维护角色时,需要注意采购管理的权限,例如采购订单的创建和更改权限。 * 库存管理:在维护角色时,需要注意库存管理的权限,例如库存的创建和更改权限。 * 用户权限查看:在维护角色时,需要注意用户...

    角色权限管理设计方案

    在IT行业中,权限管理是系统安全性和用户友好性的重要组成部分,尤其在企业级应用中扮演着核心角色。本文将深入探讨“角色权限管理设计方案”,基于提供的描述和标签,我们将详细阐述这一主题,以便理解如何有效地...

    角色管理权限

    "角色管理权限"这一主题涉及到如何有效地分配、管理和监控用户对系统资源的访问权限。这种模式通常采用"角色"作为权限分配的中介,使得权限管理更为灵活和高效。 角色(Role)是一个预定义的一组权限集合,它代表了...

    asp.net 角色权限管理系统

    在ASP.NET中,权限管理通常通过角色(Role)和用户(User)的概念来实现,使得系统管理员可以将权限分配给不同的角色,然后将角色分配给用户,以此达到批量管理和分配权限的目的。 在ASP.NET中,角色管理主要由`...

    C# WinForm角色的权限菜单-源码.zip

    在IT领域,尤其是在开发企业级应用时,权限管理和角色控制是至关重要的部分。"C# WinForm角色的权限菜单-源码.zip"提供了一个实现基于角色的权限菜单功能的完整解决方案,适合那些需要在Windows桌面应用程序中进行...

    一个java版本的基于角色的权限管理系统.zip

    总结来说,基于Java的RBAC权限管理系统通过角色这一中介,实现了用户与权限的有效管理和控制,提高了系统的安全性。通过合理的类设计、服务实现以及数据库设计,我们可以构建出一个高效、易用的权限管理系统。对于...

    基于角色的权限控制

    例如,系统管理员角色可能包含创建、修改和删除用户的权限,而普通用户角色可能只有查看和使用系统的权限。 2. 用户(User):用户是实际操作系统的实体,他们可以通过被分配到一个或多个角色来获取权限。用户角色...

    大型数据库技术-实验五 用户、角色与权限管理.doc

    实验中未具体操作角色,但创建和管理角色与管理权限类似,使用`CREATE ROLE`、`GRANT TO`、`REVOKE FROM`和`ALTER ROLE`等命令。 - 当角色具有权限后,将其赋予用户,用户便间接获得了这些权限。角色的权限回收会...

    基于角色的权限管理需求分析

    基于角色的权限管理需求分析是指在计算机系统中,根据用户角色的不同,分配不同的权限和访问控制,以确保系统的安全和稳定性。这种管理方式可以根据组织结构和业务需求,灵活地分配权限和资源,提高系统的安全性和...

Global site tag (gtag.js) - Google Analytics