《安全性管理》课件.ppt
《《安全性管理》课件.ppt》由会员分享,可在线阅读,更多相关《《安全性管理》课件.ppt(52页珍藏版)》请在三一办公上搜索。
1、第1页,Oracle 11g数据库应用教程,第2页,第13章 安全性管理,本章概述 本章的学习目标主要内容,第3页,本章概述,安全性是衡量数据库产品性能的重要指标。本章介绍Oracle 11g数据库的安全管理机制,内容包括用户管理,权限管理,角色管理,数据库审计等。,第4页,本章的学习目标:了解用户、权限、角色的概念及作用 学会创建、修改、删除用户 学会将系统权限和对象权限授予用户,以及回收权限 学会使用系统预定义角色,学会创建自定义角色,以及角色权限的授予和回收 了解数据库审计的概念及作用,第5页,主要内容,13.1 概述13.2 用户管理13.3 权限管理13.4 角色管理13.5数据库审
2、计13.6小结13.7习题,第6页,安全性在数据库管理中占据重要的位置,没有完善的安全机制的保护,可能会导致数据的泄露、损坏或丢失,因此安全性一直是数据库产品性能的重要衡量指标之一。Oracle数据库的安全管理是从用户登录数据库就开始的。数据库访问的安全性主要包括两个方面的含义:一是阻止未授权用户访问数据库;二是每个数据库用户都有不同的操作权限,用户在数据库中的操作将被限制在其权限范围内。,在Oracle数据库中,用户的身份通常被划分为数据库管理员和开发人员,其中数据库管理员承担管理数据库的责任,包括安全性管理、调优、备份策略的制定、数据库出现故障时的数据恢复、保证数据库的可用性等。软件系统的
3、开发人员作为数据库管理员之外的一类使用者,承担软件开发的职责,对数据库的访问要求及技能掌握要求比数据库管理员低,他们需要熟练掌握的SQL及PL/SQL的操作技能,能够快速及高效率地完成对数据库的操作需求,对调优和备份恢复等操作通常不参与。所以,数据库的安全管理通常属于数据库管理员的职责,DBA可以通过管理用户、角色以及权限来控制数据库的安全。但对于软件开发人员来说,掌握一些安全机制及处理方式也是有必要的。,第7页,主要内容,13.1 概述13.2 用户管理13.3 权限管理13.4 角色管理13.5数据库审计13.6小结13.7习题,第8页,13.2 用户管理,用户是数据库的使用者和管理者,用
4、户管理是Oracle数据库安全管理的核心和基础。每个连接到数据库的用户都必须是系统的合法用户,用户要想使用Oracle的系统资源(查询数据、创建表等),就必须要拥有相应的权限。Oracle数据库的用户管理包括创建用户、修改用户的安全参数、删除用户和查询用户信息等。,第9页,13.2.1 初始用户 在创建Oracle数据库时会自动创建一些用户,例如SYS、SYSTEM、SCOTT等,除了SYS、SYSTEM这两个初始合法的管理员,其余用户在创建后处于锁定状态,需要在安装时或者安装后对其解锁并重新设定口令。这些初始用户有其自身的职责和特点,软件项目一般不建议使用这些初始用户。即针对不同的项目,应该
5、由管理员分配不同的用户,在开发过程中,SCOTT用户可以用来测试数据库的可用性。l SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典。l SYSTEM:是辅助数据库管理员,不能启动和关闭数据库,可以进行一些其他的管理工作,例如创建用户、删除用户等。l SCOTT:数据库的测试用户,默认口令为tiger。在该用户下已经创建了一些数据表,用于用户学习及测试网络连接,包括:EMP表、DEPT表等。,第10页,13.2.2 相关属性,和用户相关的属性包括以下几种。(1)用户身份认证方式在用户连接数据库时,必须经过身份认证。Oracle数据库用户有3种身份认证。数据
6、库身份认证:这种方式即用户名/口令方式,用户口令以加密方式保存在数据库内部,用户连接数据库时必须输入用户名和口令,通过数据库认证后才能登录数据库。这是默认的认证方式。外部身份认证:用户账户由Oracle数据库管理,但口令管理和身份验证由外部服务完成,外部服务可以是操作系统或网络服务。当用户试图建立与数据库的连接时,数据库不会要求用户输入用户名和口令,而从外部服务中获取当前用户的登录信息。这种方式比较适合在局域网环境下,连接简单,不需要提供用户名和口令,但是需要在创建用户时做一些相应的配置。,第11页,全局身份认证:当用户试图建立与数据库的连接时,Oracle使用网络中的安全管理服务器(Orac
7、le Enterprise Security Manager)对用户进行身份认证。和外部身份认证相同,用户账户由数据库管理,但Oracle不保存口令,当用户登录时,需要通过网络服务验证。Oracle的安全管理服务器可以提供全局范围内管理数据库用户的功能。,(2)表空间配额表空间配额限制用户在永久表空间中可用的存储空间大小,默认情况下,新用户在任何表空间中都没有任何配额。用户在临时表空间中不需要配额。(3)默认表空间用户在创建数据库对象时,如果没有显示指明该对象在哪个空间,那么系统会将该对象自动存储在用户的默认表空间中,即SYSTEM表空间。一般不建议将用户的对象建立在SYSTEM表空间中,所以
8、默认表空间应指定。,第12页,(4)临时表空间 如果用户执行一些操作例如排序、汇总和表间连接等,系统会首先使用内存中的排序区SORT_AREA_SIZE,如果这块排序区大小不够,则将使用用户的临时表空间。一般使用系统默认临时表空间TEMP作为用户的默认临时表空间。(5)账户状态 在创建用户时,可以设定用户的初始状态,包括用户口令是否过期、用户账户是否锁定等。已锁定的用户不能访问数据库,必须由管理员进行解锁后才允许访问。数据库管理员可以随时锁定账户或解除锁定。(6)资源配置 每个用户都有一个资源配置,如果创建用户时没有指定,Oracle会为用户指定默认的资源配置。资源配置的作用是对数据库系统资源
9、的使用加以限制,这些资源包括:口令是否过期,口令输入错误几次后锁定该用户,CPU时间,输入/输出(I/O)以及用户打开的会话数目等。,第13页,13.2.3 创建用户创建数据库用户的语法如下:CREATE USER userIDENTIFIED BY passwore|EXTERNALLYDEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespaceQUOTA integer K|M|UNLIMITED ON tablespaceQUOTA integer K|M|UNLIMITED ON tablespacePASSWORD EXP
10、IREACCOUNT LOCK|UNLOCKPROFILE profile|DEFAULT,第14页,参数说明:user:要创建的用户名;BY password:用户通过数据库验证方式登录,登录时需要提供的口令;EXTERNALLY:用户需要通过操作系统验证;DEFAULT或TEMPORARY TABLESPACE:为用户指定默认或临时表空间;QUOTA:定义在表空间中允许用户使用的最大空间,可将限额定义为整数字节或千字节/兆字节。其中关键字UNLIMITED用户指定用户可以使用表空间中全部可用空间;PASSWORD EXPIRE:强制用户在使用SQL*Plus登录到数据库时重置口令(该选项仅
11、在用户通过数据库进行验证时有效);ACCOUNT LOCK|UNLOCK:可用于显示锁定或解除锁定用户账户(UNLOCK为缺省设置);PROFILE:指定用户的资源配置。,第15页,【例13-1】创建用户rose,口令为zzuli,默认表空间为USERS,在该表空间的配额为50MB。口令设置为过期状态,即首次连接数据库时需要修改口令。(如果在SQL Plus中创建用户成功,最后会显示个 用户已创建。之类的,最好写在例题下面,表示这是运行成功的代码,你实验一下,看看创建完结果是什么,写到下面。后面的例题都是这样的吧)SQLCREATE USER rose IDENTIFIED BY zzuli2
12、 DEFAULT TABLESPACE USERS3 QUOTA 50M ON USERS4 PASSWORD EXPIRE;用户已创建。,第16页,13.2.4 修改用户,用户创建后,可以更改用户的属性,如口令、默认表空间、临时表空间、表空间配额、概要文件和用户状态等。但不允许修改用户的名称,除非将其删除。修改数据库用户使用ALTER USER语句来实现,ALTER USER语句的语法格式为:ALTER USER user_name IDENTIFIEDBY PASSWORD|EXTERNALLY|GOLBALLY AS external_nameDEFAULT TABLESPACE tab
13、lespace_nameTEMPORARY TABLESPACE temp_tempspace_nameQUOTA n K|M|UNLIMITED ON tablespace_namePROFILE profile_nameDEFAULT ROLE role_list|ALL EXCEPT role_list|NONEPASSWORD EXPIREACCOUNT LOCK|UNLOCK;,第17页,对其中的参数说明如下。l role_list:角色列表l ALL:表示所有角色l EXCEPT role_list:表示除了role_list列表中角色以外的其他角色。l NONE:表示没有默认角色
14、。【例13-2】修改用户atea的默认表空间为USERS,在该表空间的配额为100MB,在USERS表空间的配额为30MB。命令如下:SQLALTER USER atea2 DEFAULT TABLESPACE USERS3 QUOTA 30M ON USERS;,第18页,13.2.5 删除用户,当一个用户不再使用时,可以将其删除。删除用户的语法:DROP USER user_name CASCADE执行该语句的用户必须具有DROP USER的系统权限。删除用户时需要注意如下几点:(1)如果用户方案中包括任何对象,在删除用户时,必须加上CASCADE短语,Oracle数据库会先删除该用户的所
15、有对象,然后再删除该用户。(2)如果用户当前正与Oracle服务器连接,则不能删除。【例13-3】删除用户atea。SQLDROP USER atea;-如果atea用户的方案中没有对象 SQLDROP USER atea CASCADE;-如果atea用户的方案中有对象,第19页,13.2.6 查询用户信息,如果要获取用户信息,可以通过查询数据字典视图或动态性能视图来实现。ALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间。DBA_USERS:包含数据库所有用户的详细信息。USER_USERS:包含当前用户的详细信息。DBA_TS_QUOTAS:包含所有用户的表空间配额信
16、息。USER_TS_QUOTAS:包含当前用户的表空间配额信息。V$SESSION:包含用户会话信息。V$OPEN_CURSOR:包含用户执行的SQL语句信息。【例13-4】查找所有用户的默认表空间。(查找的结果应该截图,显示在下面)SQLSELECT user_name,default_tablespace 2 FROM dba_users;,第20页,主要内容,13.1 概述13.2 用户管理13.3 权限管理13.4 角色管理13.5 数据库审计13.6 小结13.7 习题,第21页,在用户创建完成后,仅仅表示该用户在Oracle系统中进行了注册而已,这样的用户既不能连接到数据库,更谈不
17、上进行查询、建表等操作。要使该用户能够连接到Oracle系统并能使用Oracle的资源,如查询表的数据,创建自己的表结构等,必须由具有DBA角色的用户对该用户进行授权。,第22页,13.3.1 权限概述,权限是指执行特定类型的SQL语句或访问另一个用户的对象的权利,例如:连接到数据库,创建表,查询其他用户的表,调用其他用户的存储过程等。Oracle数据库使用权限来控制用户对数据的访问和用户所能执行的操作。用户在数据库中可以执行什么样的操作,以及可以对哪些对象进行操作,完全取决于该用户所拥有的权限。根据系统管理方式的不同,在Oracle数据库中将权限分为两大类,系统权限和对象权限。系统权限指数据
18、库级别执行某些操作的权限,即用户执行某一特定的数据库操作或某类数据库操作等的权限,例如创建表空间,创建会话等。,第23页,对象权限是指对数据库中的特定对象(例如表、视图、序列、过程、函数或程序包)的访问控制,以及用户可以在这些数据库对象上执行哪些操作。例如插入表记录,增加约束条件等。无论系统权限还是对象权限,在Oracle数据库中,将权限授予用户的方式有直接授权和间接授权两种。所谓直接授权就是利用GRANT命令直接为用户授权,间接授权就是先将权限授予角色,再将角色授予用户。另外,已经获得某种权限的用户可以将他们的权限或其中一部分权限再授予其他用户。,第24页,13.3.2 系统权限管理,在Or
19、cale 11g 中含有200多种系统权限,每种系统权限都为用户提供了执行某一种或某一类数据库操作的能力,可以将系统权限授予用户和角色。由于系统权限可能影响到整个数据库,所有授予系统权限给用户时需要慎重。1授予系统权限 系统管理员给用户授权时,应该考虑到不同用户的身份。例如数据库管理员用户应该具有创建用户、修改用户权限、创建表空间以及可以对数据库任何模式中的对象进行管理的权限,而数据库开发人员应该具有在自己的方案中创建表、视图、过程等的权限。另外一些普通用户应该只赋予CREATE SESSION的权限。,第25页,授予系统权限的语法:GRANT system_privilege|role,sy
20、stem_privilege|roleTO user|role|PUBLIC,user|role|PUBLIC WITH ADMIN OPTION参数说明:l system_privilege:要授予的系统权限l user:被授予权限的用户l role:被授予的角色名l PUBLIC:将系统权限授予所有用户l WITH ADMIN OPTION:允许被授予者进一步为其他用户或角色授予权限或角色。当授权时带有这个子句时,用户才可以将获得的系统权限再授予其他用户,即系统权限的传递性。,第26页,【例13-5】数据库管理员授予CREATE SESSION权限给用户atea。SQLGRANT CREA
21、TE SESSION TO atea;2.系统权限收回 一般用户被授予过高的权限可能会给Oracle系统带来安全隐患。作为Oracle系统管理员,应该会查询当前Oracle系统中各个用户的权限,并且能够使用REVOKE命令撤销用户的某些不必要的系统权限。可以使用REVOKE语句撤销系统权限。REVOKE system_privilege|role,system_privilege|roleFROM user|role|PUBLIC,user|role|PUBLIC REVOKE语句中的参数和GRANT语句中相同。,第27页,【例13-6】收回用户atea的CREATE SESSION权限SQL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 安全性管理 安全性 管理 课件

链接地址:https://www.31ppt.com/p-5022770.html