安全性管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库方案定义为数据库对象的集合。 方案的名称就是拥有或控制这些数据库对象集合的用户名称
所有的数据库对象,包括表、视图、索引、触发器、 Java存储过程、PL/SQL程序包、函数等,都归Oracle 数据库中的某一个用户所有。甚至Oracle的数据字典 、系统目录也是名称为sys的方案的一部分。
用户管理
用户的默认表空间与临时表空间
ALTER USER username DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE temp_tablespace
如果不进行指定,则用户的默认表空间为USERS表空 间;默认的临时表空间是TEMP表空间,如果没有创建 TEMP表空间,则SYSTEM表空间为用户临时表空间
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
例如:
除非用户具有CREATE SESSION系统权限, 否则用户不能与Oracle数据库连接
除非用户具有CREATE TABLE系统权限,否 则用户不能在自己的模式中创建表
权限管理
在Oracle数据库中,有两类权限:对象权限和 系统权限。
对象级别权限:指在对象级控制数据库的存取和使 用的机制,即访问其他用户的方案对象的能力.例如, 用户可以存取哪个用户方案中的哪个对象,是否能对 该对象查询,插入或更新等.
系统权限:指在系统级控制数据库的存取和使用的 机制,即执行某种SQL语句的能力.例如:是否能启动, 停止数据库,是否能连接到数据库,是否能创建,删除, 更改方案对象.
DBMS通过权限实现数据库安全保护的过程是:
DBA或对象的创建者通过SQL语言的GRANT和 REVOKE语句,把授予(回收)权限的定义告知DBMS.
系统权限(System Privilege)向用户提 供了执行某一种或某一类型的数据库操 作的能力,有近100种系统权限。基本的 系统权限如表14-1
权限管理
系统权限的授予和撤销—一般由DBA完成
GRANT {sys_priv_1[,sys_priv_2]...|ALL[PRIVILEGES]} TO {user_1[,user_2]...|PUBLIC} [WITH ADMIN OPTION];
DBMS把授予(回收)权限的结果存入(取出)数据字典. 当用户提出操作请求时,DBMS根据数据字典中保留的
权限定义进行检查,以决定是否可以执行该操作请求.
权限可以通过两种方式授予用户:
直接授予:直接将权限授予用户;
间接授予:先将权限授予角色,然后将角色授予 用户.
权限管理
数据库权限的类型--系统权限
DBA可以通过动态性能视图来查看用户在数 据库中的活动信息,限制用户对系统资源的 使用,以保证数据库的运行安全.
Select sid,serial#,logon_time,username,machine
from v$session;
权限管理
除非用户具有执行特定的数据库操作权 限,否则,用户既不能与数据库服务器 连接,也不能做任何事情
Oracle安全性管理
用户与权限管理概述
对于任意一个多用户计算机系统来说, 访问和访问安全都是至关重要的。既要 允许很多用户访问计算机系统,又要防 止未授权的用户访问。
Oracle数据库的安全性可以被分成3个层次:
系统安全性 数据安全性 网络安全性
用户管理
用户与方案 在Oracle中,数据库用户和方案是安全的最基本的单 元。术语“用户”和“方案”经常互换使用,然而它 们是有区别的:
用户管理
默认的数据库用户 每个Oracle数据库都有两个默认的数据库 用户帐号SYS和SYSTEM
SYS帐号拥有数据字典的基本表和视图. SYSTEM帐号一般用于创建显示管理信息的表
和视图,或被Oracle数据库选项和工具使用的 内部表和试图,不要在SYSTEM方案中存储并 不用于数据库管理的表.
用户管理
修改用户帐号口令
ALTER USER Michael IDENTIFIED BY sara
删除用户帐号
DROP USER Michael
如果将Cascade关键字用于drop user命令的末尾,则 在从数据库中删除用户之前,删除用户的所有对象。 该关键字不仅可以删除所有的用户对象,而且还可以 删除其他用户模式中对已删除对象表进行引用的约束, 使其他用户所拥有的引用了已删除对象的对象无效。
பைடு நூலகம்
用户管理
建立用户帐号 CREATE USER username IDENTIFIED BY password [DEFAULT TABLESPACE default_tablespace] [TEMPORARY TABLESPACE temp_tablespace] [QUOTA [数值 K|M]|[UNLIMITED] ON 默认表空间] [QUOTA [数值 K|M]|[UNLIMITED] ON 其他表空间] [PASSWORD EXPIRE] [ACCOUNT {LOCK|UNLOCK}]
MAXSIZE UNLIMITED;
CREATE USER myuser1 IDENTIFIED BY welcome DEFAULT TABLESPACE mytbs01 TEMPORARY TABLESPACE temp QUOTA 2M ON mytbs01 PASSWORD EXPIRE;
用户管理
锁定和解锁用户帐号 被锁定的帐号不能进行数据库访问操作
ALTER USER username ACCOUNT {LOCK|UNLOCK}
为什么要锁定用户帐号而不是将其删除?
用户管理
修改用户的磁盘空间配额
ALTER USER username DEFAULT TABLESPACE default_tablespace QUOTA nn on default_tablespace
所有的数据库对象,包括表、视图、索引、触发器、 Java存储过程、PL/SQL程序包、函数等,都归Oracle 数据库中的某一个用户所有。甚至Oracle的数据字典 、系统目录也是名称为sys的方案的一部分。
用户管理
用户的默认表空间与临时表空间
ALTER USER username DEFAULT TABLESPACE default_tablespace TEMPORARY TABLESPACE temp_tablespace
如果不进行指定,则用户的默认表空间为USERS表空 间;默认的临时表空间是TEMP表空间,如果没有创建 TEMP表空间,则SYSTEM表空间为用户临时表空间
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
例如:
除非用户具有CREATE SESSION系统权限, 否则用户不能与Oracle数据库连接
除非用户具有CREATE TABLE系统权限,否 则用户不能在自己的模式中创建表
权限管理
在Oracle数据库中,有两类权限:对象权限和 系统权限。
对象级别权限:指在对象级控制数据库的存取和使 用的机制,即访问其他用户的方案对象的能力.例如, 用户可以存取哪个用户方案中的哪个对象,是否能对 该对象查询,插入或更新等.
系统权限:指在系统级控制数据库的存取和使用的 机制,即执行某种SQL语句的能力.例如:是否能启动, 停止数据库,是否能连接到数据库,是否能创建,删除, 更改方案对象.
DBMS通过权限实现数据库安全保护的过程是:
DBA或对象的创建者通过SQL语言的GRANT和 REVOKE语句,把授予(回收)权限的定义告知DBMS.
系统权限(System Privilege)向用户提 供了执行某一种或某一类型的数据库操 作的能力,有近100种系统权限。基本的 系统权限如表14-1
权限管理
系统权限的授予和撤销—一般由DBA完成
GRANT {sys_priv_1[,sys_priv_2]...|ALL[PRIVILEGES]} TO {user_1[,user_2]...|PUBLIC} [WITH ADMIN OPTION];
DBMS把授予(回收)权限的结果存入(取出)数据字典. 当用户提出操作请求时,DBMS根据数据字典中保留的
权限定义进行检查,以决定是否可以执行该操作请求.
权限可以通过两种方式授予用户:
直接授予:直接将权限授予用户;
间接授予:先将权限授予角色,然后将角色授予 用户.
权限管理
数据库权限的类型--系统权限
DBA可以通过动态性能视图来查看用户在数 据库中的活动信息,限制用户对系统资源的 使用,以保证数据库的运行安全.
Select sid,serial#,logon_time,username,machine
from v$session;
权限管理
除非用户具有执行特定的数据库操作权 限,否则,用户既不能与数据库服务器 连接,也不能做任何事情
Oracle安全性管理
用户与权限管理概述
对于任意一个多用户计算机系统来说, 访问和访问安全都是至关重要的。既要 允许很多用户访问计算机系统,又要防 止未授权的用户访问。
Oracle数据库的安全性可以被分成3个层次:
系统安全性 数据安全性 网络安全性
用户管理
用户与方案 在Oracle中,数据库用户和方案是安全的最基本的单 元。术语“用户”和“方案”经常互换使用,然而它 们是有区别的:
用户管理
默认的数据库用户 每个Oracle数据库都有两个默认的数据库 用户帐号SYS和SYSTEM
SYS帐号拥有数据字典的基本表和视图. SYSTEM帐号一般用于创建显示管理信息的表
和视图,或被Oracle数据库选项和工具使用的 内部表和试图,不要在SYSTEM方案中存储并 不用于数据库管理的表.
用户管理
修改用户帐号口令
ALTER USER Michael IDENTIFIED BY sara
删除用户帐号
DROP USER Michael
如果将Cascade关键字用于drop user命令的末尾,则 在从数据库中删除用户之前,删除用户的所有对象。 该关键字不仅可以删除所有的用户对象,而且还可以 删除其他用户模式中对已删除对象表进行引用的约束, 使其他用户所拥有的引用了已删除对象的对象无效。
பைடு நூலகம்
用户管理
建立用户帐号 CREATE USER username IDENTIFIED BY password [DEFAULT TABLESPACE default_tablespace] [TEMPORARY TABLESPACE temp_tablespace] [QUOTA [数值 K|M]|[UNLIMITED] ON 默认表空间] [QUOTA [数值 K|M]|[UNLIMITED] ON 其他表空间] [PASSWORD EXPIRE] [ACCOUNT {LOCK|UNLOCK}]
MAXSIZE UNLIMITED;
CREATE USER myuser1 IDENTIFIED BY welcome DEFAULT TABLESPACE mytbs01 TEMPORARY TABLESPACE temp QUOTA 2M ON mytbs01 PASSWORD EXPIRE;
用户管理
锁定和解锁用户帐号 被锁定的帐号不能进行数据库访问操作
ALTER USER username ACCOUNT {LOCK|UNLOCK}
为什么要锁定用户帐号而不是将其删除?
用户管理
修改用户的磁盘空间配额
ALTER USER username DEFAULT TABLESPACE default_tablespace QUOTA nn on default_tablespace