第12章 用户管理和安全.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章用户管理和安全第12章用户管理和安全

角色管理 在许多情况下,用户的工作往往都是分类的,因此就可以将用户分为不同的种类,每一种用户的权限都是相同的,即扮演了相同的角色。因此Oracle借用了角色这种概念来实现这种权限管理的方法,达到简化权限管理的目的。 角色就是一组相关权限的集合,是对权限进行集中管理(授予、回收)的一种方法。即将不同权限集中在一起就形成了角色。使用角色可以大大降低用户权限的维护负担。 数据库管理员只需创建特定的数据库角色,使其反映组织或应用的安全权限,就可以将这些角色赋予用户,实际是把角色所拥有的权限分配给用户。 不使用角色分配权限 权限 用户 Manager 使用角色分配权限 ORACEL利用角色更容易地进行权限管理。有下列优点: (1)减少权限管理,不要显式地将同一权限组授权给几个用户,只需将这权限组授给角色,然后将角色授权给每一用户。 (2)动态权限管理,如果一组权限需要改变,只需修改角色的权限,所有授给该角色的全部用户的安全域将自动地反映对角色所作的修改。 (3)权限的选择可用性,授权给用户的角色可选择地使其可用或不可用。 (4)应用安全性,角色使用可由口令保护,应用可提供正确的口令使用角色,如不知其口令,不能使用角色。 预定义角色 在创建数据库时,Oracle数据库会自动创建一些常用的角色,即预定义角色。这些角色已经由Oracle数据库授予了相应的系统权限。DBA 可以直接将这些预定义的角色授予用户,完成简单的权限管理工作。 下面是比较传统的三个预定义角色。 CONNECT 授予最终用户的典型权利,最基本的 RESOURCE 授予开发人员的权限 CREATE TRIGGER CREATE SEQUENCE CREATE TYPE CREATE PROCEDURE CREATE CLUSTER CREATE OPERATOR CREATE INDEXTYPE CREATE TABLE DBA 拥有系统的所有系统级权限。 对于数据库管理员应该授予DBA角色。对于数据库开发用户,只需要授予CONNECT和RESOURCE两个角色。可以通过数据字典DBA_SYS_PRIVS查询所有预定义角色的系统权限。 创建自定义角色 Oracle允许用户按实际需要自定义各种角色,以便将其授予不同类型的用户,增强权限管理的灵活性和方便性。 创建角色的语句格式如下: CREATE ROLE 角色名 [IDENTIFIED BY password] 其中任性的IDENTIFIED BY password要求用户在启用这个角色之前先确认自己的身份。该角色在默认情况下被关闭,为了打开此角色需要使用如下语句: SET ROLE role_name IDENTIFIED BY password; 例:CREATE ROLE account_role; 注意:新创建的角色并不具有任何权限,这时的角色是没有什么用处的。因此,创建角色之后,通常要立即给它授予系统权限或对象权限。 将权限授予角色 Grant connect to account_role ; Grant create table to account_role ; Grant select on scott.emp to account_role; 将角色授予用户 Grant resource to test ; Grant account_role to ora_test1 ; 回收角色中的某一权限 Revoke create table from account_role ; 回收用户的某一角色 Revoke account_role from ora_test1 ; 角色删除 由于角色可以重复修改和设置,随着角色的增多,需要删除一些不必要的角色。删除角色可以通过DROP语句来实现,使这个角色的权限集合无效,拥有此角色的用户都不能使用这些权限。 例: Drop role account_role ; 获取角色有关的信息 从如下的数据字典中获取有关角色的信息: DBA_ROLES:数据库中所有的角色。 DBA_SYS_PRIVS:拥有系统权限的用户和角色。 ROLE_SYS_PRIVS:拥有系统权限的角色。 ROLE_TAB_PRIVS:拥有对象权限的角色 USER_ROLE_PRIVS 用户拥有的角色 PL/SQL与角色 默认情况下,PL/SQL函数、过程、程序包都要使用“定义者”的命名空间和权限执行。需要注意的是,这些已编译的“PL/SQL程序”对象要使用直接赋予设计用户的权限执行,而不使用用户通过数据库角色得到的对象权限来执行。当然,这将使让作为特定

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档