新第11章安全管理.ppt

上传人:本田雅阁 文档编号:2379913 上传时间:2019-03-25 格式:PPT 页数:50 大小:237.01KB
返回 下载 相关 举报
新第11章安全管理.ppt_第1页
第1页 / 共50页
新第11章安全管理.ppt_第2页
第2页 / 共50页
新第11章安全管理.ppt_第3页
第3页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《新第11章安全管理.ppt》由会员分享,可在线阅读,更多相关《新第11章安全管理.ppt(50页珍藏版)》请在三一文库上搜索。

1、第11章 安全管理,主要内容,数据库的安全性 用户管理 权限管理 角色管理 概要文件管理,本章要求,了解Oracle数据库安全机制 掌握用户管理 掌握权限管理 掌握角色管理 了解概要文件的作用及其应用,11.1 数据库安全性概述,数据库的安全性含义 防止非法用户对数据库的访问 防止用户的非法操作 Oracle数据安全控制机制 用户管理 权限管理 角色管理 表空间设置和配额 用户资源限制 数据库审计,11.2 Oracle数据库安全性管理,用户管理 权限管理 角色管理 概要文件管理,11.2.1用户管理,数据库初始用户 用户属性 用户的创建、修改、删除、查询,数据库初始用户,SYS 数据库中具有

2、最高权限的DBA,可以启动、修改和关 闭数据库,拥有数据字典 SYSTEM 一个辅助的DBA,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户 SCOTT 口令tiger,用于测试网络的连接 PUBLIC用户组 为数据库中所有用户设定必需的对象权限和系统权限,用户属性,认证方式 数据库身份认证:口令 外部身份认证:账户由oracle数据库管理,但口令管理和身份验证由外部服务完成,外部服务可以是操作系统或网络服务。 全局身份认证:oracle使用网络中的安全管理服务器对用户进行身份认证 默认表空间 DEFAULT TABLESPACE 临时表空间:保存临时数据信息 TEMP

3、ORARY TABLESPACE,表空间配额 QUOTA ON 概要文件 限制用户对数据库系统资源的使用 设置用户的口令管理策略 账户状态 是否过期 是否锁定,基本语法 CREATE USER user_name IDENTIFIED BY password | EXTERNALLY | GLOBALLY AS external_name DEFAULT TABLESPACE tablespace_name TEMPORARY TABLESPACE temp_tablespace_name QUOTA n K|M|UNLIMITED ON tablespace_name PROFILE pro

4、file_name PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ,11.2.2.创建用户,注意 新创建的用户并不能直接连接到数据库中,因为它不具有CREATE SESSION系统权限,因此,在新建数据库用户后,通常需要使用GRANT语句为用户授予CREATE SESSION权限,用户表空间的设置,缺省表空间 DEFAULT TABLESPACE tablename 临时表空间 TEMPORARY TABLESPACE tempname 配额 限制用户所能使用的存储空间的大小。默认情况下,新建用户在任何表空间都不具任何配额 QUOTA ON tablename 用

5、户在临时表空间中不需要配额,在临时表空间中创建的所有临时段都属于SYS模式,CREATE USER test IDENTIFIED BY pwd DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 5M ON USERS;,创建用户示例,基本语法 ALTER USER user_name IDENTIFIED BY password | EXTERNALLY | GLOBALLY AS external_name DEFAULT TABLESPACE tablespace_name TEMPORARY TABLESPACE temp

6、_tablespace_name QUOTA n K | M | UNLIMITED ON tablespace_name PROFILE profile_name DEFAULT ROLE role_list | ALL EXCEPT role_list | NONE PASSWORD EXPIRE ACCOUNT LOCK | UNLOCK ,11.2.3修改用户,ALTER USER test DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA 10M ON USERS;,修改用户示例,用户的锁定与解锁,锁定用户 某个用户暂时

7、离开工作 某个用户永久离开工作 DBA创建的特殊用户帐户 ALTER USER test ACCOUNT LOCK; 解锁用户 ALTER USER test ACCOUNT UNLOCK;,11.2.4删除用户,基本语法 DROP USER user_name CASCADE ; 步骤 先删除用户所拥有的对象 再删除用户 如果用户拥有数据库对象,必须使用 cascade 将参照该用户对象的其他数据库对象(如存储过程、函数等)标志为INVALID,P213 ALL_USERS DBA_USERS USER_USERS DBA_TS_QUOTAS USER_TA_QUOTAS V$SESSION

8、 V$OPEN_CURSOR,11.2.5查询用户,11.3 权限管理,权限管理概述 系统权限的授予与回收 对象权限的授予与回收 查询权限信息,11.3.1权限管理概述,所谓权限就是执行特定类型SQL命令或访问其他用户的对象的权利。 Oracle中用户权限的分类 系统权限 在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。 对象权限 对某个特定的数据库对象执行某种操作的权限 获取途径的权限 直接授权:grant命令直接为用户授权 间接授权:先将权限授予角色,然后将角色授予用户,11.3.2系统权限管理,系统权限分类 对数据库某一类对象的操作能力,通常带有ANY关键字 数据库级

9、别的某种操作能力 系统权限的授予 语法结构: GRANT sys_list to user_list| role_list | PUBLIC WITH ADMIN OPTION ; 示例:为PUBLIC用户组授予CREATE SESSION系统权限 GRANT CREATE SESSION TO PUBLIC;,系统权限授予时需要注意的几点: 只有DBA才应当拥有ALTER DATABASE 系统权限。 应用程序开发者一般需要拥有CREATE TABLE、CREATE VIEW和CREATE INDEX等系统权限。 普通用户一般只具有CREATE SESSION系统权限。 只有授权时带有WIT

10、H ADMIN OPTION子句时,用户才可以将获得的系统权限再授予其他用户,即系统权限的传递性。,系统权限的回收 语法结构 REVOKE sys_priv_list FROM user_list| role_list; 注意事项 多个管理员者授予用户同一个系统权限后,其中一个管理员回收其授予该用户的系统权限时,该用户不再拥有该系统权限。 为了回收用户系统权限的传递性(授权时使用了WITH ADMIN OPTION子句),必须先回收其系统权限,然后再授予其相应的系统权限。 如果一个用户获得的系统权限具有传递性(授权时使用了WITH ADMIN OPTION子句),并且给其他用户授权,那么该用户

11、系统权限被回收后,其他用户的系统权限并不受影响。,例:sys用户和system用户分别给user1用户授予create table系统权限,当system用户回收user1用户的create table权限后,用户user1不在具有create table权限 例:user2用户具有create table系统权限,并有授权给其他用户的权限。为了终止其授予其他用户的权利,需要回收其create table的系统权限,然后重新给user2授权,但是不适用with grant option子句,对象权限分类 对象权限的授权 语法结构 GRANT obj_priv_list | ALL ON sch

12、ema.object TO user_list | role_list WITH GRANT OPTION 示例:将scott模式下的emp表的SELECT、UPDATE、 INSERT权限授予user1用户。 GRANT SELECT,INSERT,UPDATE ON scott.emp TO user1;,11.3对象权限管理,对象权限的回收 语法结构 REVOKE obj_priv_list | ALL ON schema.object FROM user_list|role_list; 需要注意的几点 多个管理员者授予用户同一个对对象权限后,其中一个管理员回收其授予该用户的对象权限时,

13、不影响该用户从其他管理员处获得的对象权限。 为了回收用户对象权限的传递性(授权时使用了WITH GRANT OPTION子句),必须先回收其对象权限,然后再授予其相应的对象权限。 如果一个用户获得的对象权限具有传递性(授权时使用了WITH GRANT OPTION子句),并且给其他用户授权,那么该用户的对象权限被回收后,其他用户的对象权限也被回收。,11.3.4查询权限信息,DBA_TAB_PRIVS:包含数据库所有对象的授权信息 ALL_TAB_PRIVS:包含数据库所有用户和PUBLIC用户组的对象授权信息 USER_TAB_PRIVS:包含当前用户对象的授权信息 DBA_COL_PRIV

14、S:包含所有字段已授予的对象权限 ALL_COL_PRIVS:包含所有字段已授予的对象权限信息 USER_COL_PRIVS:包含当前用户所有字段已授予的对象权限信息。 DBA_SYS_PRIVS:包含授予用户或角色的系统权限信息 USER_SYS_PRIVS:包含授予当前用户的系统权限信。,11.4角色管理,角色概述 角色的分类 数据库系统预定义角色 用户自定义角色 角色的管理 定义、授权、修改、生效与失效、删除、查询 利用角色对用户间接授权,11.4.1 Oracle角色概术,角色的概念 所谓角色就是一系列相关权限的集合,11.4.2Oracle角色类型,系统预定义角色 P222 表12-

15、3 数据字典视图DBA_ROLES查询当前数据库中所有预定义角色 例:查询当前数据库的所有预定义角色 select * from DBA_ROLES; DBA_SYS_PRIVS查询各个预定义角色所具有的系统权限 例:查询DBA角色所具有的系统权限 select * from DBA_SYS_PRIVS where GRANTEE=DBA 用户自定义角色,11.4.3 自定义角色,创建角色 语法结构 CREATE ROLE role_name NOT IDENTIFIED IDENTIFIED BY password 示例 CREATE ROLE high_manager_role CREAT

16、E ROLE middle_manager_role IDENTIFIED BY middlerole; CREATE ROLE low_manager_role IDENTIFIED BY lowrole;,角色权限的授予与回收(GRANT,REVOKE) 给角色授予适当的系统权限、对象权限或已有角色。 在数据库运行过程中,可以为角色增加权限,也可以回收其权限。 示例: GRANT CONNECT,CREATE TABLE,CREATE VIEW TO low_manager_role; GRANT CONNECT,CREATE TABLE,CREATE VIEW TO middle_man

17、ager_role; GRANT CONNECT,RESOURCE,DBA TO high_manager_role; GRANT SELECT,UPDATE,INSERT,DELETE ON scott.emp TO high_manager_role;,修改角色 修改角色生效或失效时的认证方式 语法结构 ALTER ROLE role_name NOT IDENTIFIED IDENTIFIED BY password ; 角色的生效与失效 所谓角色的失效是指角色暂时不可用。 当一个角色生效或失效时,用户从角色中获得的权限也生效或失效。 语法结构 SET ROLE role_name ID

18、ENTIFIED BY password | ALL EXCEPT role_name | NONE ;,ALL:表示使当前用户所有角色生效 EXPECT role_name:除特定角色外,其余所有角色生效 NONE:当前用户所有角色失效 例:当前用户所有角色失效 SET ROLE none; 例:设置某一角色生效 SET ROLE high_role_manager IDENTIFIED BY highrole 例:使用ALL使所有角色生效,也可使用EXCEPT将个别角色仍处于失效状态 SET ROLE ALL EXPECT low_role_manager,删除角色 语法结构 DROP R

19、OLE role_name; 角色删除后,用户通过该角色获得的权限被回收,给用户或角色授予角色 语法结构: GRANT role_list TO user_list|role_list; 从用户或角色回收角色 语法结构: REVOKE role_list FROM user_list|role_list; 用户角色的激活或屏蔽 激活或屏蔽用户默认角色的语法: ALTER USER user_name DEFAULT ROLE role_name | ALL EXCEPT role_name | NONE ;,11.4利用角色进行权限管理,例:将CONNECT,high_manager_role

20、角色授予user1; 例:将RESOURCE,CONNECT角色授予角色middle_manager_role 例:回收角色middle_manager_role的RESOURCE,CONNECT角色,用户角色的激活或屏蔽示例 屏蔽用户的所有角色 ALTER USER user1 DEFAULT ROLE NONE; 激活用户的某些角色 ALTER USER user1 DEFAULT ROLE CONNECT,DBA; 激活用户的所有角色 ALTER USER user1 DEFAULT ROLE ALL; 激活除了某个角色外的其他所有角色 ALTER USER user1 DEFAULT

21、ROLE ALL EXCEPT DBA;,11.4.5查询角色信息,DBA_ROLES:包含数据库中所有角色及其描述。 DBA_ROLE_PRIVS:包含为数据库中所有用户和角色授予的角色信息。 USER_ROLE_PRIVS:包含为当前用户授予的角色信息。 ROLE_ROLE_PRIVS:为角色授予的角色信息。 ROLE_SYS_PRIVS:为角色授予的系统权限信息。 ROLE_TAB_PRIVS:为角色授予的对象权限信息。 SESSION_PRIVS:当前会话所具有的系统权限信息。 SESSION_ROLES:当前会话所具有的角色信息。,概要文件的作用 限制用户对数据库和系统资源的使用以及

22、进行用户口令管理 资源限制级别 会话级限制 调用级限制 资源限制类型 CPU使用时间 逻辑读 每个用户的并发会话数 用户连接数据库的空闲时间 用户连接数据库的时间 私有SQL区和PL/SQL区的使用,11.5概要文件管理,启用或停用资源限制 在数据库启动前启用或停用资源限制 将数据库初始化参数文件中的参数RESOURCE_LIMIT的值设置为TRUE或FALSE 在数据库启动后启用或停用资源限制 使用ALTER SYSTEM语句修改RESOURCE_LIMIT参数值为TRUE或FALSE,11.5.2概要文件中参数,资源限制参数 CPU_PER_SESSION CPU_PER_CALL CON

23、NECT_TIME IDLE_TIME SESSIONS_PER_USER LOGICAL_READS_PER_SESSION LOGICAL_READS_PER_CALL PRIVATE_SGA COMPOSITE_LIMIT,口令管理参数 FAILED_LOGIN_ATTEMPTS PASSWORD_LOCK_TIME PASSWORD_GRACE_TIME PASSWORD_LIFE_TIME PASSWORD_REUSE_MAX PASSWORD_REUSE_TIME PASSWORD_VERIFY_FUNCTION,11.5.3概要文件管理,创建概要文件 语法结构 CREATE PR

24、OFILE profile_name LIMIT resource_parameters | password_parameters ; 示例 创建一个名为res_profile的概要文件,要求每个用户最多可以创建4个并发会话;每个会话持续时间最长为60分钟;如果会话在连续20分钟内空闲,则会话结束;每个会话的私有SQL区为100KB;每个SQL语句占用的CPU时间总量不超过10秒;,CREATE PROFILE res_profile LIMIT SESSIONS_PER_USER 4 CONNECT_TIME 60 IDLE_TIME 20 PRIVATE_SGA 100K CPU_PER

25、_CALL 10;,例:创建一个名为pwd_profile的概要文件,如果用户连续4次登陆失败,则锁定该账户,10天后该账户自动解锁。 CREATE PROFILE pwd_profile LIMIT FAILED_LOGIN_ATTEMPTS 4 PASSWORD_LOCK_TIME 10;,将概要文件分配给用户 CREATE USER user5 IDENTIFIED BY user4 PROFILE res_profile; ALTER USER user5 PROFILE pwd_profile ; 修改概要文件 语法结构 ALTER PROFILE profile_name LIMI

26、T resource_parameters| password_parameters ; 示例: 修改概要文件,用户口令有效期设置为10天 ALTER PROFILE pwd_profile LIMIT PASSWORD_LIFE_TIME 10;,删除概要文件 语法结构:(如果要删除的概要文件已经制定给用户,则必须使用cascade) DROP PROFILE profile_name CASCADE ; 示例: DROP PROFILE pwd_profile CASCADE ; 查询概要文件 USER_PASSWORD_LIMITS USER_RESOURCE_LIMITS DBA_PROFILES,11.6利用OEM进行安全管理,利用 OEM创建一个用户,并给用户授权 利用 OEM创建一个角色,并给角色授权 利用 OEM创建一个概要文件,并将概要文件指定给用户 利用角色为用户授权,11.7小结,数据库的安全性 用户管理 权限管理 角色管理 概要文件管理 利用OEM进行安全管理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1