Oracle-Database-11g应用与开发教程-教学课件-978-7-302-31490-5-第13章-安全性管理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Oracle-Database-11g应用与开发教程-教学课件-978-7-302-31490-5-第13章-安全性管理.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle Database 11 应用 开发 教程 教学 课件 978 302 31490 13 安全性 管理
- 资源描述:
-
1、第1页在线教务辅导网:在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/第2页第3页第第13章章 安全性管理安全性管理本章概述 本章的学习目标主要内容第4页本章概述本章概述 安全性是衡量数据库产品性能的重要指标。本章介绍安全性是衡量数据库产品性能的重要指标。本章介绍Oracle 11g数据库的安全管理机制,内容包括用户管理,权数据库的安全管理机制,内容包括用户管理,权限管理,角色管理,数据库审计等限管理,角色管理,数据库审计等。第5页 本章的学习目标:
2、本章的学习目标: 了解用户、权限、角色的概念及作用了解用户、权限、角色的概念及作用 学会创建、修改、删除用户学会创建、修改、删除用户 学会将系统权限和对象权限授予用户,以及回收权限学会将系统权限和对象权限授予用户,以及回收权限 学会使用系统预定义角色,学会创建自定义角色,以学会使用系统预定义角色,学会创建自定义角色,以及角色权限的授予和回收及角色权限的授予和回收 了解数据库审计的概念及作用了解数据库审计的概念及作用第6页主要内容主要内容13.1 概述概述13.2 用户管理用户管理13.3 权限管理权限管理13.4 角色管理角色管理13.5数据库审计数据库审计13.6小结小结13.7习题习题第7
3、页 安全性在数据库管理中占据重要的位置,没有完善的安安全性在数据库管理中占据重要的位置,没有完善的安全机制的保护,可能会导致数据的泄露、损坏或丢失,因此全机制的保护,可能会导致数据的泄露、损坏或丢失,因此安全性一直是数据库产品性能的重要衡量指标之一。安全性一直是数据库产品性能的重要衡量指标之一。Oracle数数据库的安全管理是从用户登录数据库就开始的。数据库访问据库的安全管理是从用户登录数据库就开始的。数据库访问的安全性主要包括两个方面的含义:一是阻止未授权用户访的安全性主要包括两个方面的含义:一是阻止未授权用户访问数据库;二是每个数据库用户都有不同的操作权限,用户问数据库;二是每个数据库用户
4、都有不同的操作权限,用户在数据库中的操作将被限制在其权限范围内。在数据库中的操作将被限制在其权限范围内。 在在Oracle数据库中,用户的身份通常被划分为数据库管理员和开发数据库中,用户的身份通常被划分为数据库管理员和开发人员,其中数据库管理员承担管理数据库的责任,包括安全性管理、调人员,其中数据库管理员承担管理数据库的责任,包括安全性管理、调优、备份策略的制定、数据库出现故障时的数据恢复、保证数据库的可优、备份策略的制定、数据库出现故障时的数据恢复、保证数据库的可用性等。软件系统的开发人员作为数据库管理员之外的一类使用者,承用性等。软件系统的开发人员作为数据库管理员之外的一类使用者,承担软件
5、开发的职责,对数据库的访问要求及技能掌握要求比数据库管理担软件开发的职责,对数据库的访问要求及技能掌握要求比数据库管理员低,他们需要熟练掌握的员低,他们需要熟练掌握的SQL及及PL/SQL的操作技能,能够快速及高效的操作技能,能够快速及高效率地完成对数据库的操作需求,对调优和备份恢复等操作通常不参与。率地完成对数据库的操作需求,对调优和备份恢复等操作通常不参与。所以,数据库的安全管理通常属于数据库管理员的职责,所以,数据库的安全管理通常属于数据库管理员的职责,DBA可以通过可以通过管理用户、角色以及权限来控制数据库的安全。但对于软件开发人员来管理用户、角色以及权限来控制数据库的安全。但对于软件
6、开发人员来说,掌握一些安全机制及处理方式也是有必要的。说,掌握一些安全机制及处理方式也是有必要的。第8页主要内容主要内容13.1 概述概述13.2 用户管理用户管理13.3 权限管理权限管理13.4 角色管理角色管理13.5数据库审计数据库审计13.6小结小结13.7习题习题第9页13.2 用户管理用户管理 用户是数据库的使用者和管理者,用户管理是用户是数据库的使用者和管理者,用户管理是Oracle数据库数据库安全管理的核心和基础。每个连接到数据库的用户都必须是系安全管理的核心和基础。每个连接到数据库的用户都必须是系统的合法用户,用户要想使用统的合法用户,用户要想使用Oracle的系统资源(查
7、询数据、创的系统资源(查询数据、创建表等),就必须要拥有相应的权限。建表等),就必须要拥有相应的权限。Oracle数据库的用户管理包括创建用户、修改用户的安全参数、数据库的用户管理包括创建用户、修改用户的安全参数、删除用户和查询用户信息等。删除用户和查询用户信息等。第10页13.2.1 初始用户初始用户 在创建在创建Oracle数据库时会自动创建一些用户,例如数据库时会自动创建一些用户,例如SYS、SYSTEM、SCOTT等,除了等,除了SYS、SYSTEM这两个初始合法这两个初始合法的管理员,其余用户在创建后处于锁定状态,需要在安装时的管理员,其余用户在创建后处于锁定状态,需要在安装时或者安
8、装后对其解锁并重新设定口令。这些初始用户有其自或者安装后对其解锁并重新设定口令。这些初始用户有其自身的职责和特点,软件项目一般不建议使用这些初始用户。身的职责和特点,软件项目一般不建议使用这些初始用户。即针对不同的项目,应该由管理员分配不同的用户,在开发即针对不同的项目,应该由管理员分配不同的用户,在开发过程中,过程中,SCOTT用户可以用来测试数据库的可用性。用户可以用来测试数据库的可用性。 l SYS:是数据库中具有最高权限的数据库管理员,可以:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典。启动、修改和关闭数据库,拥有数据字典。 l SYSTEM:是辅助数
9、据库管理员,不能启动和关闭数据:是辅助数据库管理员,不能启动和关闭数据库,可以进行一些其他的管理工作,例如创建用户、删除用库,可以进行一些其他的管理工作,例如创建用户、删除用户等。户等。 l SCOTT:数据库的测试用户,默认口令为:数据库的测试用户,默认口令为tiger。在该。在该用户下已经创建了一些数据表,用于用户学习及测试网络连用户下已经创建了一些数据表,用于用户学习及测试网络连接,包括:接,包括:EMP表、表、DEPT表等。表等。第11页13.2.2 相关属性相关属性和用户相关的属性包括以下几种。和用户相关的属性包括以下几种。(1)用户身份认证方式)用户身份认证方式在用户连接数据库时,
10、必须经过身份认证。在用户连接数据库时,必须经过身份认证。Oracle数据库用数据库用户有户有3种身份认证。种身份认证。u数据库身份认证:这种方式即用户名数据库身份认证:这种方式即用户名/口令方式,用户口口令方式,用户口令以加密方式保存在数据库内部,用户连接数据库时必令以加密方式保存在数据库内部,用户连接数据库时必须输入用户名和口令,通过数据库认证后才能登录数据须输入用户名和口令,通过数据库认证后才能登录数据库。这是默认的认证方式。库。这是默认的认证方式。u外部身份认证:用户账户由外部身份认证:用户账户由Oracle数据库管理,但口令管数据库管理,但口令管理和身份验证由外部服务完成,外部服务可以
11、是操作系理和身份验证由外部服务完成,外部服务可以是操作系统或网络服务。当用户试图建立与数据库的连接时,数统或网络服务。当用户试图建立与数据库的连接时,数据库不会要求用户输入用户名和口令,而从外部服务中据库不会要求用户输入用户名和口令,而从外部服务中获取当前用户的登录信息。这种方式比较适合在局域网获取当前用户的登录信息。这种方式比较适合在局域网环境下,连接简单,不需要提供用户名和口令,但是需环境下,连接简单,不需要提供用户名和口令,但是需要在创建用户时做一些相应的配置。要在创建用户时做一些相应的配置。第12页u全局身份认证:当用户试图建立与数据库的连接时,全局身份认证:当用户试图建立与数据库的连
12、接时,Oracle使用网络中的安全管理服务器(使用网络中的安全管理服务器(Oracle Enterprise Security Manager)对用户进行身份认证。和外部身份认证)对用户进行身份认证。和外部身份认证相同,用户账户由数据库管理,但相同,用户账户由数据库管理,但Oracle不保存口令,当不保存口令,当用户登录时,需要通过网络服务验证。用户登录时,需要通过网络服务验证。Oracle的安全管理的安全管理服务器可以提供全局范围内管理数据库用户的功能。服务器可以提供全局范围内管理数据库用户的功能。(2)表空间配额)表空间配额表空间配额限制用户在永久表空间中可用的存储空间大小,表空间配额限制
13、用户在永久表空间中可用的存储空间大小,默认情况下,新用户在任何表空间中都没有任何配额。用户默认情况下,新用户在任何表空间中都没有任何配额。用户在临时表空间中不需要配额。在临时表空间中不需要配额。 (3)默认表空间)默认表空间用户在创建数据库对象时,如果没有显示指明该对象在哪用户在创建数据库对象时,如果没有显示指明该对象在哪个空间,那么系统会将该对象自动存储在用户的默认表空间个空间,那么系统会将该对象自动存储在用户的默认表空间中,即中,即SYSTEM表空间。一般不建议将用户的对象建立在表空间。一般不建议将用户的对象建立在SYSTEM表空间中,所以默认表空间应指定。表空间中,所以默认表空间应指定。
14、第13页 (4) 临时表空间临时表空间 如果用户执行一些操作例如排序、汇总和表间连接等,如果用户执行一些操作例如排序、汇总和表间连接等,系统会首先使用内存中的排序区系统会首先使用内存中的排序区SORT_AREA_SIZE,如果,如果这块排序区大小不够,则将使用用户的临时表空间。一般使这块排序区大小不够,则将使用用户的临时表空间。一般使用系统默认临时表空间用系统默认临时表空间TEMP作为用户的默认临时表空间。作为用户的默认临时表空间。 (5)账户状态)账户状态 在创建用户时,可以设定用户的初始状态,包括用户在创建用户时,可以设定用户的初始状态,包括用户口令是否过期、用户账户是否锁定等。已锁定的用
15、户不能访口令是否过期、用户账户是否锁定等。已锁定的用户不能访问数据库,必须由管理员进行解锁后才允许访问。数据库管问数据库,必须由管理员进行解锁后才允许访问。数据库管理员可以随时锁定账户或解除锁定。理员可以随时锁定账户或解除锁定。 (6)资源配置)资源配置 每个用户都有一个资源配置,如果创建用户时没有指每个用户都有一个资源配置,如果创建用户时没有指定,定,Oracle会为用户指定默认的资源配置。资源配置的作用会为用户指定默认的资源配置。资源配置的作用是对数据库系统资源的使用加以限制,这些资源包括:口令是对数据库系统资源的使用加以限制,这些资源包括:口令是否过期,口令输入错误几次后锁定该用户,是否
16、过期,口令输入错误几次后锁定该用户,CPU时间,输时间,输入入/输出(输出(I/O)以及用户打开的会话数目等。)以及用户打开的会话数目等。第14页13.2.3 创建用户创建用户创建数据库用户的语法如下:创建数据库用户的语法如下:CREATE USER userIDENTIFIED BY passwore | EXTERNALLYDEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespaceQUOTA integer K | M | UNLIMITED ON tablespaceQUOTA integer K | M | UNLIMIT
17、ED ON tablespacePASSWORD EXPIREACCOUNT LOCK | UNLOCKPROFILE profile | DEFAULT第15页参数说明:参数说明:user:要创建的用户名;:要创建的用户名;BY password:用户通过数据库验证方式登录,登录时:用户通过数据库验证方式登录,登录时需要提供的口令;需要提供的口令;EXTERNALLY:用户需要通过操作系统验证;:用户需要通过操作系统验证;DEFAULT或或TEMPORARY TABLESPACE:为用户指定:为用户指定默认或临时表空间;默认或临时表空间;QUOTA:定义在表空间中允许用户使用的最大空间,可:
18、定义在表空间中允许用户使用的最大空间,可将限额定义为整数字节或千字节将限额定义为整数字节或千字节/兆字节。其中关键字兆字节。其中关键字UNLIMITED用户指定用户可以使用表空间中全部可用空用户指定用户可以使用表空间中全部可用空间;间;PASSWORD EXPIRE:强制用户在使用:强制用户在使用SQL*Plus登录登录到数据库时重置口令(该选项仅在用户通过数据库进行到数据库时重置口令(该选项仅在用户通过数据库进行验证时有效);验证时有效);ACCOUNT LOCK | UNLOCK:可用于显示锁定或解除:可用于显示锁定或解除锁定用户账户(锁定用户账户(UNLOCK为缺省设置);为缺省设置);
19、PROFILE:指定用户的资源配置。:指定用户的资源配置。第16页【例例13-1】创建用户创建用户rose,口令为,口令为zzuli,默认表空间为,默认表空间为USERS,在该表空间的配额为,在该表空间的配额为50MB。口令设置为过期状态,。口令设置为过期状态,即首次连接数据库时需要修改口令。即首次连接数据库时需要修改口令。(如果在如果在SQL Plus中创中创建用户成功,最后会显示个建用户成功,最后会显示个 用户已创建。用户已创建。 之类的,最好写之类的,最好写在例题下面,表示这是运行成功的代码,你实验一下,看看在例题下面,表示这是运行成功的代码,你实验一下,看看创建完结果是什么,写到下面。
20、后面的例题都是这样的吧创建完结果是什么,写到下面。后面的例题都是这样的吧)SQLCREATE USER rose IDENTIFIED BY zzuli2 DEFAULT TABLESPACE USERS3 QUOTA 50M ON USERS4 PASSWORD EXPIRE;用户已创建。用户已创建。第17页13.2.4 修改用户修改用户 用户创建后,可以更改用户的属性,如口令、默认表空间、用户创建后,可以更改用户的属性,如口令、默认表空间、临时表空间、表空间配额、概要文件和用户状态等。但不允许临时表空间、表空间配额、概要文件和用户状态等。但不允许修改用户的名称,除非将其删除。修改用户的名称
21、,除非将其删除。修改数据库用户使用修改数据库用户使用ALTER USER语句来实现,语句来实现,ALTER USER语句的语法格式为:语句的语法格式为:ALTER USER user_name IDENTIFIEDBY PASSWORD | EXTERNALLY | GOLBALLY AS external_nameDEFAULT TABLESPACE tablespace_nameTEMPORARY TABLESPACE temp_tempspace_nameQUOTA n K | M | UNLIMITED ON tablespace_namePROFILE profile_nameDEF
22、AULT ROLE role_list | ALL EXCEPT role_list | NONEPASSWORD EXPIREACCOUNT LOCK | UNLOCK;第18页对其中的参数说明如下。对其中的参数说明如下。l role_list:角色列表:角色列表l ALL:表示所有角色:表示所有角色l EXCEPT role_list:表示除了:表示除了role_list列表中角色以外的列表中角色以外的其他角色。其他角色。l NONE:表示没有默认角色。:表示没有默认角色。 【例【例13-2】 修改用户修改用户atea的默认表空间为的默认表空间为USERS,在,在该表空间的配额为该表空间的
23、配额为100MB,在,在USERS表空间的配额为表空间的配额为30MB。命令如下:。命令如下:SQLALTER USER atea2 DEFAULT TABLESPACE USERS3 QUOTA 30M ON USERS;第19页13.2.5 删除用户删除用户 当一个用户不再使用时,可以将其删除。删除用户的语法:当一个用户不再使用时,可以将其删除。删除用户的语法:DROP USER user_name CASCADE执行该语句的用户必须具有执行该语句的用户必须具有DROP USER的系统权限。删除的系统权限。删除用户时需要注意如下几点:用户时需要注意如下几点:(1)如果用户方案中包括任何对象
24、,在删除用户时,必须)如果用户方案中包括任何对象,在删除用户时,必须加上加上CASCADE短语,短语,Oracle数据库会先删除该用户的所数据库会先删除该用户的所有对象,然后再删除该用户。有对象,然后再删除该用户。(2)如果用户当前正与)如果用户当前正与Oracle服务器连接,则不能删除。服务器连接,则不能删除。【例【例13-3】删除用户】删除用户atea。SQLDROP USER atea; -如果如果atea用户的方案用户的方案中没有对象中没有对象 SQLDROP USER atea CASCADE; -如果如果atea用户用户的方案中有对象的方案中有对象第20页13.2.6 查询用户信息
25、查询用户信息 如果要获取用户信息,可以通过查询数据字典视图或如果要获取用户信息,可以通过查询数据字典视图或动态性能视图来实现。动态性能视图来实现。 ALL_USERS:包含数据库所有用户的用户名、用户:包含数据库所有用户的用户名、用户ID和和用户创建时间。用户创建时间。 DBA_USERS:包含数据库所有用户的详细信息。:包含数据库所有用户的详细信息。 USER_USERS:包含当前用户的详细信息。:包含当前用户的详细信息。 DBA_TS_QUOTAS:包含所有用户的表空间配额信息。:包含所有用户的表空间配额信息。 USER_TS_QUOTAS:包含当前用户的表空间配额信息。:包含当前用户的表
展开阅读全文
链接地址:https://www.163wenku.com/p-2491544.html