第16章 用户、角色与权限控制.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16章 用户、角色与权限控制 用户是数据库对象之一,只有使用了合法的用户登录之后,才可以对数据库进行各种操作。但是这些操作又必须是受限的,这就要求数据库对用户的权限进行控制。角色是权限的集合,用以更加高效、灵活地分配权限给用户。用户、权限和角色是Oracle数据库进行权限控制的主要手段。 本章的主要内容包括: 用户及用户的创建; 权限及权限的分配; 角色及角色的使用。 通过本章的学习,读者将清晰的了解用户、权限和角色这三者的概念及相互关系,并掌握如何在Oracle数据库进行权限控制。 16.1 用户 Oracle用户分为两类:一类是具有系统管理权限的用户,称为系统用户;另一类为普通用户。从创建时机上讲,Oracle数据库在创建时,会提供若干默认用户(如系统用户system);另外,系统用户可以在登录数据库后创建其他用户。这些用户共同组成了Oracle数据库的用户集合。本小节将讲述Oracle用户的概况,并讲解如何创建普通用户。 16.1.1 Oracle中的用户概况 在Oracle数据库中,存在着视图dba_users。该视图存储了所有用户的基本信息,我们搜寻视图内容来查看Oracle中的用户概况。 16.1.2 利用系统用户创建新的用户 对于开发人员来说,并不会经常使用系统用户登录数据库。因为系统用户的权限范围较大,如果出现失误,可能对数据库造成较大伤害。因此,往往开发人员会使用特定的用户进行开发任务。创建新用户的语法如下所示: create user 用户名 identified by 密码 default tablespace 名称空间 其中,create user命令用户创建新的用户,并指定用户名;identified by选项是必需的,用于指定新用户的密码;default tablespace用于指定新建用户的默认表空间,新用户登录之后,所有操作均默认在该名称空间进行。 16.1.3 用户的对象集合——模式 模式(Schema)是用户的附属对象,依赖于对象的存在而存在。一个用户在数据库中所拥有的所有对象的集合即为该用户的模式。这些对象包括:表、索引、视图、存储过程等。 16.1.4 系统用户——system与sys 系统用户sys和system是Oracle数据库默认创建的用户。用户sys角色为sysdba(数据库管理员),是数据库中权限最高的用户,可以进行任意操作而不受限制。system用户角色为sysoper(数据库操作员),权限仅次于sys用户。 我们在16.1.1节中提到,一个用户的状态有可能是EXPIRED LOCKED,即被锁定的。 16.2 权限 权限(Privilege)是Oracle中控制用户操作的主要策略。Oracle中的权限分为两种,系统权限和对象权限。本节将详细讲述系统权限和对象权限的概念及区别。 16.2.1 系统权限 系统权限是Oracle内置的、与具体对象无关的权限类型。这些权限不指向具体对象,而是针对某种操作而言。例如,创建表的权限,当表未创建时,自然无从谈对针对特定表的权限。 1.获得系统权限信息 2.分配系统权限 3.admin option选项 4.收回用户的系统权限 16.2.2 对象权限 对象权限是指用户在已存在对象上的权限。这些权限主要包括以下几种: select:可用于查询表、视图和序列。 insert:向表或视图中插入新的记录 update:更新表中数据 delete:删除表中数据 execute:函数、存储过程、程序包等的调用或执行 index:为表创建索引 references:为表创建外键 alter:修改表或者序列的属性 16.3 角色 利用grant命令为用户分配权限是一件非常耗时的工作,尤其是当数据库中用户众多,而且权限关系比较复杂时。有鉴于此,Oracle提供了角色这一策略来协助数据库管理员来更加灵活地实现权限分配。 角色是权限的集合。一个角色可能包含多个权限信息。在Oracle中,我们可以首先创建一个角色,该角色包含了多种权限。然后将角色分配给多个用户,从而在最大程度上实现复用性。 16.3.1 利用角色进行权限分配 创建角色应该使用create role命令。角色创建之后,会以对象的形式的存储在数据库中,并可以在数据字典中获得其信息。 【示例16-7】在16.2节,我们使用了grant命令将多个权限分别赋予了用户test和test_user。现假设用户test和test_user都应该具有表system.employees的select、update、insert和update权限。那么,可以首先创建一个角色,并将以上权限赋予该角色。 16.3.2 角色的延伸——继承 一个角色可以继承其他角色的权限集合,这为某些角色的实现提

文档评论(0)

PPT精品 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档