用户、角色与权限控制.ppt

上传人:赵** 文档编号:65350864 上传时间:2022-12-05 格式:PPT 页数:15 大小:100.50KB
返回 下载 相关 举报
用户、角色与权限控制.ppt_第1页
第1页 / 共15页
用户、角色与权限控制.ppt_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《用户、角色与权限控制.ppt》由会员分享,可在线阅读,更多相关《用户、角色与权限控制.ppt(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1616章章 用户、角色与权限控制用户、角色与权限控制用户是数据库对象之一,只有使用了合法的用户登录之后,用户是数据库对象之一,只有使用了合法的用户登录之后,才可以对数据库进行各种操作。但是这些操作又必须是受限的,才可以对数据库进行各种操作。但是这些操作又必须是受限的,这就要求数据库对用户的权限进行控制。角色是权限的集合,这就要求数据库对用户的权限进行控制。角色是权限的集合,用以更加高效、灵活地分配权限给用户。用户、权限和角色是用以更加高效、灵活地分配权限给用户。用户、权限和角色是Oracle数据库进行权限控制的主要手段。数据库进行权限控制的主要手段。本章的主要内容包括:本章的主要内容包括

2、:用户及用户的创建;用户及用户的创建;权限及权限的分配;权限及权限的分配;角色及角色的使用。角色及角色的使用。通过本章的学习,读者将清晰的了解用户、权限和角色这通过本章的学习,读者将清晰的了解用户、权限和角色这三者的概念及相互关系,并掌握如何在三者的概念及相互关系,并掌握如何在Oracle数据库进行权限数据库进行权限控制。控制。16.1 16.1 用户用户Oracle用户分为两类:一类是具有系统管理权限的用户,称为用户分为两类:一类是具有系统管理权限的用户,称为系统用户;另一类为普通用户。从创建时机上讲,系统用户;另一类为普通用户。从创建时机上讲,Oracle数据库在数据库在创建时,会提供若干

3、默认用户(如系统用户创建时,会提供若干默认用户(如系统用户system);另外,系统);另外,系统用户可以在登录数据库后创建其他用户。这些用户共同组成了用户可以在登录数据库后创建其他用户。这些用户共同组成了Oracle数据库的用户集合。本小节将讲述数据库的用户集合。本小节将讲述Oracle用户的概况,并讲用户的概况,并讲解如何创建普通用户。解如何创建普通用户。16.1.1 Oracle16.1.1 Oracle中的用户概况中的用户概况在在Oracle数据库中,存在着视图数据库中,存在着视图dba_users。该视图存。该视图存储了所有用户的基本信息,我们搜寻视图内容来查看储了所有用户的基本信息

4、,我们搜寻视图内容来查看Oracle中的用户概况。中的用户概况。16.1.2 16.1.2 利用系统用户创建新的用户利用系统用户创建新的用户对于开发人员来说,并不会经常使用系统用户登录数据对于开发人员来说,并不会经常使用系统用户登录数据库。因为系统用户的权限范围较大,如果出现失误,可能对库。因为系统用户的权限范围较大,如果出现失误,可能对数据库造成较大伤害。因此,往往开发人员会使用特定的用数据库造成较大伤害。因此,往往开发人员会使用特定的用户进行开发任务。创建新用户的语法如下所示:户进行开发任务。创建新用户的语法如下所示:create user 用户名用户名 identified by 密码密

5、码 default tablespace 名称空间名称空间其中,其中,create user命令用户创建新的用户,并指定用户命令用户创建新的用户,并指定用户名;名;identified by选项是必需的,用于指定新用户的密码;选项是必需的,用于指定新用户的密码;default tablespace用于指定新建用户的默认表空间,新用户用于指定新建用户的默认表空间,新用户登录之后,所有操作均默认在该名称空间进行。登录之后,所有操作均默认在该名称空间进行。16.1.3 16.1.3 用户的对象集合用户的对象集合模式模式模式(模式(Schema)是用户的附属对象,依赖于对象的存在)是用户的附属对象,依

6、赖于对象的存在而存在。一个用户在数据库中所拥有的所有对象的集合即为而存在。一个用户在数据库中所拥有的所有对象的集合即为该用户的模式。这些对象包括:表、索引、视图、存储过程该用户的模式。这些对象包括:表、索引、视图、存储过程等。等。16.1.4 16.1.4 系统用户系统用户systemsystem与与syssys系统用户系统用户sys和和system是是Oracle数据库默认创建的用户。数据库默认创建的用户。用户用户sys角色为角色为sysdba(数据库管理员),是数据库中权限最(数据库管理员),是数据库中权限最高的用户,可以进行任意操作而不受限制。高的用户,可以进行任意操作而不受限制。sys

7、tem用户角色为用户角色为sysoper(数据库操作员),权限仅次于(数据库操作员),权限仅次于sys用户。用户。我们在我们在16.1.1节中提到,一个用户的状态有可能是节中提到,一个用户的状态有可能是EXPIRED&LOCKED,即被锁定的。,即被锁定的。16.2 16.2 权限权限权限(权限(Privilege)是)是Oracle中控制用户操作的主要策略。中控制用户操作的主要策略。Oracle中的权限分为两种,系统权限和对象权限。本节将详细中的权限分为两种,系统权限和对象权限。本节将详细讲述系统权限和对象权限的概念及区别。讲述系统权限和对象权限的概念及区别。16.2.1 16.2.1 系统

8、权限系统权限系统权限是系统权限是Oracle内置的、与具体对象无关的权限类型。这内置的、与具体对象无关的权限类型。这些权限不指向具体对象,而是针对某种操作而言。例如,创建表些权限不指向具体对象,而是针对某种操作而言。例如,创建表的权限,当表未创建时,自然无从谈对针对特定表的权限。的权限,当表未创建时,自然无从谈对针对特定表的权限。1获得系统权限信息获得系统权限信息2分配系统权限分配系统权限3admin option选项选项4收回用户的系统权限收回用户的系统权限16.2.2 16.2.2 对象权限对象权限对象权限是指用户在已存在对象上的权限。这些权限主对象权限是指用户在已存在对象上的权限。这些权

9、限主要包括以下几种:要包括以下几种:select:可用于查询表、视图和序列。:可用于查询表、视图和序列。insert:向表或视图中插入新的记录:向表或视图中插入新的记录update:更新表中数据:更新表中数据delete:删除表中数据:删除表中数据execute:函数、存储过程、程序包等的调用或执行:函数、存储过程、程序包等的调用或执行index:为表创建索引:为表创建索引references:为表创建外键:为表创建外键alter:修改表或者序列的属性:修改表或者序列的属性16.3 16.3 角色角色利用利用grant命令为用户分配权限是一件非常耗时的工作,命令为用户分配权限是一件非常耗时的工

10、作,尤其是当数据库中用户众多,而且权限关系比较复杂时。有尤其是当数据库中用户众多,而且权限关系比较复杂时。有鉴于此,鉴于此,Oracle提供了角色这一策略来协助数据库管理员来更提供了角色这一策略来协助数据库管理员来更加灵活地实现权限分配。加灵活地实现权限分配。角色是权限的集合。一个角色可能包含多个权限信息。角色是权限的集合。一个角色可能包含多个权限信息。在在Oracle中,我们可以首先创建一个角色,该角色包含了多种中,我们可以首先创建一个角色,该角色包含了多种权限。然后将角色分配给多个用户,从而在最大程度上实现权限。然后将角色分配给多个用户,从而在最大程度上实现复用性。复用性。16.3.1 1

11、6.3.1 利用角色进行权限分配利用角色进行权限分配创建角色应该使用创建角色应该使用create role命令。角色创建之后,会命令。角色创建之后,会以对象的形式的存储在数据库中,并可以在数据字典中获得以对象的形式的存储在数据库中,并可以在数据字典中获得其信息。其信息。【示例示例16-7】在在16.2节,我们使用了节,我们使用了grant命令将多个权命令将多个权限分别赋予了用户限分别赋予了用户test和和test_user。现假设用户。现假设用户test和和test_user都应该具有表都应该具有表system.employees的的select、update、insert和和update权限

12、。那么,可以首先创建一个角色,并将权限。那么,可以首先创建一个角色,并将以上权限赋予该角色。以上权限赋予该角色。16.3.2 16.3.2 角色的延伸角色的延伸继承继承一个角色可以继承其他角色的权限集合,这为某些角色一个角色可以继承其他角色的权限集合,这为某些角色的实现提供了更加便利的途径。例如,角色的实现提供了更加便利的途径。例如,角色role_employee已已经具备了表经具备了表system.employees增删改查的权限。现希望创建增删改查的权限。现希望创建一个新的角色一个新的角色role_test,该角色具有表,该角色具有表system.employees增删增删改查权限之外,还

13、希望拥有创建会话(改查权限之外,还希望拥有创建会话(create session)和创)和创建表(建表(create table)的权限。那么,可以利用已有角色)的权限。那么,可以利用已有角色role_employee来实现新角色。来实现新角色。16.3.3 16.3.3 禁用禁用/启用角色启用角色当用户登录数据库时,会话会自动加载当前用户的角色当用户登录数据库时,会话会自动加载当前用户的角色信息(如果该用户属于某个或某些角色的话)。可以通过视信息(如果该用户属于某个或某些角色的话)。可以通过视图图session_roles来查看用户所具有的角色信息。来查看用户所具有的角色信息。C:sqlpl

14、us test/abc123tstSQL*Plus:Release 10.1.0.2.0-Production on 星期日星期日 3月月 14 00:16:50 2010Copyright(c)1982,2004,Oracle.All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.1.0.2.0-ProductionWith the Partitioning,OLAP and Data Mining options16.4 16.4 本章实例本章实例并非所有角色都需要用户手动创建。

15、并非所有角色都需要用户手动创建。Oracle数据库提供数据库提供了多个内置角色。其中最常见的为了多个内置角色。其中最常见的为DBA、CONNECT和和RESOURCE。其中,。其中,DBA是数据库管理员角色,我们利用是数据库管理员角色,我们利用该角色可以对数据库进行所有操作。本实例将讲述该角色可以对数据库进行所有操作。本实例将讲述CONNECT和和RESOURCE角色的主要权限。角色的主要权限。16.5 16.5 本章小结本章小结本章详细讲述了用户、权限和角色的创建及使用。在本本章详细讲述了用户、权限和角色的创建及使用。在本章中尤其需要着重理解的是用户与模式的关系以及系统权限章中尤其需要着重理解的是用户与模式的关系以及系统权限与对象权限的区别。对于一个用户众多的数据库,使用角色与对象权限的区别。对于一个用户众多的数据库,使用角色是最优策略。应该遵循以下步骤来实现整个数据库的权限划是最优策略。应该遵循以下步骤来实现整个数据库的权限划分。分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁