安全生产_oracle安全性管理

上传人:F****n 文档编号:91872117 上传时间:2019-07-03 格式:PPT 页数:49 大小:413.01KB
返回 下载 相关 举报
安全生产_oracle安全性管理_第1页
第1页 / 共49页
安全生产_oracle安全性管理_第2页
第2页 / 共49页
安全生产_oracle安全性管理_第3页
第3页 / 共49页
安全生产_oracle安全性管理_第4页
第4页 / 共49页
安全生产_oracle安全性管理_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《安全生产_oracle安全性管理》由会员分享,可在线阅读,更多相关《安全生产_oracle安全性管理(49页珍藏版)》请在金锄头文库上搜索。

1、Oracle安全性管理,用户与权限管理概述,对于任意一个多用户计算机系统来说,访问和访问安全都是至关重要的。既要允许很多用户访问计算机系统,又要防止未授权的用户访问。 Oracle数据库的安全性可以被分成3个层次: 系统安全性 数据安全性 网络安全性,用户管理,用户与方案 在Oracle中,数据库用户和方案是安全的最基本的单元。术语“用户”和“方案”经常互换使用,然而它们是有区别的: 数据库方案定义为数据库对象的集合。 方案的名称就是拥有或控制这些数据库对象集合的用户名称 所有的数据库对象,包括表、视图、索引、触发器、Java存储过程、PL/SQL程序包、函数等,都归Oracle数据库中的某一

2、个用户所有。甚至Oracle的数据字典、系统目录也是名称为sys的方案的一部分。,用户管理,默认的数据库用户 每个Oracle数据库都有两个默认的数据库用户帐号SYS和SYSTEM SYS帐号拥有数据字典的基本表和视图. SYSTEM帐号一般用于创建显示管理信息的表和视图,或被Oracle数据库选项和工具使用的内部表和试图,不要在SYSTEM方案中存储并不用于数据库管理的表.,用户管理,建立用户帐号,CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE default_tablespace TEMPORARY TABLES

3、PACE temp_tablespace QUOTA 数值 K|M|UNLIMITED ON 默认表空间 QUOTA 数值 K|M|UNLIMITED ON 其他表空间 PASSWORD EXPIRE ACCOUNT LOCK|UNLOCK,CREATE USER Michael IDENTIFIED BY lincoln,CONNECT sys/password AS sysdba CREATE TABLESPACE mytbs01 DATAFILE e:mytbs01_1.dbf SIZE 5M AUTOEXTEND ON NEXT 3M MAXSIZE UNLIMITED; CREATE

4、 USER myuser1 IDENTIFIED BY welcome DEFAULT TABLESPACE mytbs01 TEMPORARY TABLESPACE temp QUOTA 2M ON mytbs01 PASSWORD EXPIRE;,用户管理,修改用户帐号口令 删除用户帐号,ALTER USER Michael IDENTIFIED BY sara,DROP USER Michael,如果将Cascade关键字用于drop user命令的末尾,则在从数据库中删除用户之前,删除用户的所有对象。该关键字不仅可以删除所有的用户对象,而且还可以删除其他用户模式中对已删除对象表进行引用

5、的约束,使其他用户所拥有的引用了已删除对象的对象无效。,用户管理,用户的默认表空间与临时表空间,ALTER USER username DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE temp_tablespace,如果不进行指定,则用户的默认表空间为USERS表空间;默认的临时表空间是TEMP表空间,如果没有创建TEMP表空间,则SYSTEM表空间为用户临时表空间,用户管理,锁定和解锁用户帐号 被锁定的帐号不能进行数据库访问操作,ALTER USER username ACCOUNT LOCK|UNLOCK,为什么要锁定用

6、户帐号而不是将其删除?,用户管理,修改用户的磁盘空间配额,ALTER USER username DEFAULT TABLESPACE default_tablespace QUOTA nn on default_tablespace,DBA可以通过动态性能视图来查看用户在数据库中的活动信息,限制用户对系统资源的使用,以保证数据库的运行安全. Select sid,serial#,logon_time,username,machine from v$session;,权限管理,除非用户具有执行特定的数据库操作权限,否则,用户既不能与数据库服务器连接,也不能做任何事情 例如: 除非用户具有CRE

7、ATE SESSION系统权限,否则用户不能与Oracle数据库连接 除非用户具有CREATE TABLE系统权限,否则用户不能在自己的模式中创建表,权限管理,在Oracle数据库中,有两类权限:对象权限和系统权限。 对象级别权限:指在对象级控制数据库的存取和使用的机制,即访问其他用户的方案对象的能力.例如,用户可以存取哪个用户方案中的哪个对象,是否能对该对象查询,插入或更新等. 系统权限:指在系统级控制数据库的存取和使用的机制,即执行某种SQL语句的能力.例如:是否能启动,停止数据库,是否能连接到数据库,是否能创建,删除,更改方案对象.,DBMS通过权限实现数据库安全保护的过程是: DBA或

8、对象的创建者通过SQL语言的GRANT和REVOKE语句,把授予(回收)权限的定义告知DBMS. DBMS把授予(回收)权限的结果存入(取出)数据字典. 当用户提出操作请求时,DBMS根据数据字典中保留的权限定义进行检查,以决定是否可以执行该操作请求. 权限可以通过两种方式授予用户: 直接授予:直接将权限授予用户; 间接授予:先将权限授予角色,然后将角色授予用户.,权限管理,数据库权限的类型-系统权限 系统权限(System Privilege)向用户提供了执行某一种或某一类型的数据库操作的能力,有近100种系统权限。基本的系统权限如表14-1,权限管理,系统权限的授予和撤销一般由DBA完成,

9、REVOKE sys_priv_1,sys_priv_2.|ALLPRIVILEGES FROM user_1,user_2.|PUBLIC;,GRANT sys_priv_1,sys_priv_2.|ALLPRIVILEGES TO user_1,user_2.|PUBLIC WITH ADMIN OPTION;,查看系统权限 SELECT * FROM USER_SYS_PRIVS SELECT * FROM DBA_SYS_PRIVS,权限管理,使用系统权限时,需要注意以下几点: 一般情况下,都应该将CREATE SESSION权限授予用户 用户需要CREATE TABLE权限来在自己的

10、模式中创建、修改、删除或查询任何表 如果要删除其他模式中的表,用户必须具有DROP ANY TABLE系统权限 CREATE ANY PROCEDURE允许用户创建、修改、删除或执行任何存储过程、程序包和函数 开发人员一般需要几个系统权限,包括CREATE TABLE,CREATE VIEW,CREATE TYPE等,以创建支持前台应用程序的数据库模式,权限管理,数据库权限的类型-对象权限 对象权限控制用户是否能在特定数据库对象(如表、视图或存储过程)上执行特定类型的操作,权限管理,对象权限的授予和撤销,REVOKE obj_priv_1,obj_priv_2.|ALLPRIVILEGES O

11、N schema.object(column1,column2) FROM user_1,user_2.|PUBLIC,GRANT obj_priv_1,obj_priv_2.|ALLPRIVILEGES ON schema.object(column1,column2) TO user_1,user_2.|PUBLIC WITH GRANT OPTION,查看对象权限 col GRANTEE format a15 col OWNER format a10 col GRANTOR format a10 col PRIVILEGE format a10 select * from user_ta

12、b_privs; select * from dba_tab_privs; 得到基本表的权限状况,其中: GRANTEE表示接受对象权限的用户 OWNER表示表的拥有者 GRANTOR为授权用户 PRIVILEGE表示对象权限 GRANTABLE表示该用户是否能向其他用户授予对象权限,权限管理,使用对象权限时需要注意以下几个问题(选学): 如果一个视图引用了其他模式中的表或视图,则该视图的拥有者必须以WITH GRANT OPTION方式获得这些表或视图的权限,才能将该视图的对象权限授予其他用户 SELECT对象权限只能授予整个表而不能授予表中的字段,角色与权限管理,数据库角色就是权限的命名集

13、合。使用角色可以大大降低用户权限的维护负担。角色可以是对象权限或系统权限的命名集合。数据库管理员只需创建特定的数据库角色,使其反映组织或应用的安全权限,就可以将这些角色赋予用户。 系统内置角色CONNECT,RESOURCE,DBA等,角色与权限管理,利用角色进行权限管理,权限1,权限2,权限3,角色1,角色2,用户1,用户2,用户3,角色与权限管理,创建角色 如:Create role public_role 创建一个公用角色 删除角色,CREATE ROLE role_name;,DROP ROLE role;,对角色授权,将系统权限授予角色 将对象权限授予角色,GRANT sys_pri

14、v_1,sys_priv_2.|ALLPRIVILEGES TO role_1,role_2. WITH ADMIN OPTION,GRANT obj_priv_1,obj_priv_2.|ALLPRIVILEGES ON schema.object(column1,column2)|DIRECTORY dir TO role_1,role_2.|PUBLIC WITH GRANT OPTION,Grant create session to public_role with admin option; Connect scott/tiger; Grant select ,insert,upd

15、ate on dept to public_role; connect sys/pwdbvtc4 as sysdba; Grant public_role to myuser1; Connect myuser1/welcome select * from scott.dept;,角色与权限管理,撤销角色的系统权限 撤销角色的对象权限,REVOKE sys_priv_1,sys_priv_2.|ALLPRIVILEGES FROM role_1,role_2.;,REVOKE obj_priv_1,obj_priv_2.|ALLPRIVILEGES ON schema.object(column

16、1,column2)|DIRECTORY dir FROM user_1,user_2.,角色与权限管理,将角色授予用户或其他角色 撤销授予用户或其他角色的角色,GRANT role_1,role_2. TO user_1,user_2.|PUBLIC|role_1,role_2 WITH ADMIN OPTION;,REVOKE role_1,role_2. FROM user_1,user_2.|PUBLIC|role_1,role_2;,查看角色信息 可以通过数据字典视图USER_TAB_PRIVS查看角色拥有的权限 如:select * from USER_TAB_PRIVS where grantee=PUBLIC_RO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号