Oracle安全管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
33
ORACEL利用角色更容易地进行权限管理。有下列优点:
(1)减少权限管理,不要显式地将同一权限组授权给几 个用户,只需将这权限组授给角色,然后将角色授权给每一 用户。
(2)动态权限管理,如果一组权限需要改变,只需修改 角色的权限,所有授给该角色的全部用户的安全域将自动地 反映对角色所作的修改。
如果要通过操作系统来对用户进行身份认证,则必须使用 IDENTIFIED EXTERNAL BY子句。
如果没有指定默认表空间,Oracle会把SYSTEM表空间作 为用户的默认表空间。为用户指定了默认表空间之后,还必 须使用QUOTA子句来为用户在默认表空间中分配的空间配额。
22
此外,常用的一些子句有: ①TEMPORARY TABLESPACE子句:为用户指定临时表空间。 ②PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概 要文件,Oracle将自动为他指定DEFAULT概要文件。 ③DEFAULT ROLE子句:为用户指定默认的角色。 ④PASSWORD EXPIRE子句:设置用户口令的初始状态为过期。 ⑤ACCOUNT LOCK子句:设置用户账户的初始状态为锁定,缺省为:ACCOUNT UNLOCK。
17
在会话级:每一次用户连接到一数据库,建立一会话。每 一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进 行限制。
在调用级:在SQL语句执行时,处理该语句有几步,为了 防止过多地调用系统,Oracle在调用级可设置几种资源限制。
18
有下列资源限制: (1)为了防止无控制地使用CPU时间,Oracle可限制每次Oracle调用 的CPU时间和在一次会话期间Oracle调用所使用的CPU的时间,以0.01秒 为单位。 (2)为了防止过多的I/O,Oracle可限制每次调用和每次会话的逻辑 数据块读的数目。 (3)Oracle在会话级还提供其它几种资源限制: • 每个用户的并行会话数的限制。 • 会话空闲时间的限制,如果一次会话的Oracle调用之间时间达到该空 闲时间,当前事务被回滚,会话被中止,会话资源返回给系统。 • 每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限 制,当前事务被回滚,会话被删除,该会话的资源被释放。 • 每次会话的专用SGA空间量的限制。
者必须有修改操作系统帐户安全性区域的操作系统权限。
9
2. 用户安全性策略 (1)一般用户的安全性
1)密码的安全性 2)权限管理 (2)终端用户的安全性
10
3. 数据库管理者安全性策略 (1)保护作为sys和system用户的连接 (2)保护管理者与数据库的连接 (3)使用角色对管理者权限进行管理
11
4. 应用程序开发者的安全性策略
(1)应用程序开发者和他们的权限 (2)应用程序开发者的环境
1)程序开发者不应与终端用户竞争数据库资源; 2)程序开发者不能损害数据库其他应用产品。 (3)应用程序开发者的空间限制 作为数据库安全性管理者,应该特别地为每个应用程序开发者设置以 下的一些限制: 1)开发者可以创建table或index的表空间; 2)在每一个表空间中,开发者所拥有的空间份额。
在 授 予 对 象 权 限 时 , 可 以 使 用 一 次 关 键 字 ALL 或 ALL PRIVILEGES将某个对象的所有对象权限全部授予指定的用 户。
40
3.授予角色
在GRANT关键字之后指定角色的名称,然后在TO关键 字之后指定用户名,即可将角色授予指定的用户。Oracle 数据库系统预先定义了CONNECT、RESOURCE、DBA、 EXP_FULL_DATABASE 、 IMP_FULL_DATABASE 五 个 角 色 。 CONNECT 具 有 创 建 表 、 视 图 、 序 列 等 权 限 ; RESOURCE 具 有 创 建 过 程 、 触 发 器 、 表 、 序 列 等 权 限 、 DBA 具 有 全 部 系 统 权 限 ; EXP_FULL_DATABASE 、 IMP_FULL_DATABASE具有卸出与装入数据库的权限。
32
一般,建立角色服务有两个目的:为数据库应用管理权 限和为用户组管理权限。相应的角色称为应用角色和用户 角色。
应用角色是授予的运行数据库应用所需的全部权限。 用户角色是为具有公开权限需求的一组数据库用户而建 立的。用户权限管理是受应用角色或权限授权给用户角色 所控制,然后将用户角色授权给相应的用户。
使用ALTER ROLE语句可以改变角色的口令或认证 方式。例如:利用下面的语句来修改OPT_ROLE角色的 口令(假设角色使用的是数据库认证方式):
ALTER ROLE OPT_ROLE IDENTIFIED BY accts*new;
36
37
1.授予系统权限 在GRANT关键字之后指定系统权限的名称,然后在TO 关键字之后指定接受权限的用户名,即可将系统权限授予 指定的用户。 例 如 : 利 用 下 面 的 语 句 可 以 相 关 权 限 授 予 用 户 chenjie : GRANT CREATE USER,ALTER USER,DROP USER TO chenjie WITH ADMIN OPTION;
7
8
1. 系统安全性策略 (1)管理数据库用户 (2)用户身份确认 (3)操作系统安全性 1)数据库管理员必须有create和delete文件的操作系统权限。 2)一般数据库用户不应该有create或delete与数据库相关文件
的操作系统权限。 3)如果操作系统能为数据库用户分配角色,那么安全性管理
Oracle的安全 管理
1
本章学习目标
数据库安全性问题一直是人们关注的焦点, 数据库数据的丢失以及数据库被非法用户的侵 入对于任何一个应用系统来说都是至关重要的 问题。确保信息安全的重要基础在于数据库的 安全性能。
2
内容安排
6.1 Oracle9i的安全保障机制 6.2 用户管理 6.3 权限和角色 6.4 概要文件 6.5 数据审计
12
6.2 用户管理
6.2.1 数据库的存取控制 6.2.2 创建用户 6.2.3 修改用户 6.2.4 删除用户
13
14
1. 用户鉴别 为了防止非授权的数据库用户的使用,Oracle提供三种确
认方法: 操作系统确认,Oracle数据库确认和网络服务确认。 由操作系统鉴定用户的优点是: 1)用户能更快,更方便地联入数据库。 2)通过操作系统对用户身份确认进行集中控制:如果操
有三类对象权限可以授予表或视图中的字段,它们是分 别是INSERT,UPDATE和REFERENCES对象权限。
39
例如:利用下面的语句可以将CUSTOMER表的SELECT和 INSERT,UPDATE对象权限授予用户chenqian:
GRANT SELECT,INSERT(CUSTOMER_ID,CUSTOMER_name), UPDATE(desc) ON CUSTOMER TO chenqian WITH GRANT OPTION;
在建立新用户之后,通常会需要使用GRANT语句为他授予CREATE SESSION系统权限,使他具有连接到数据库中的能力。或为新用户直接授予 Oracle中预定义的CONNECT角色。
23
24
ALTER USER语句最常用的情况是用来修改用 户 自 己 的 口 令 , 任 何 用 户 都 可 以 使 用 ALTER USER…IDENTIFIED BY语句来修改自己的口令,而 不需要具有任何其他权限。但是如果要修改其他用 户的口令,则必须具有ALTER USER系统权限。
25
DBA还会经常使用ALTER USER语句锁定或解锁用 户账户。例如:
ALTER USER chenjie ACCOUNT LOCK; ALTER USER chenjie ACCOUNT UNLOCK;
26
27
如果要删除的用户模式中包含有模式对象,必 须在DROP USER子句中指定CASCADE关键字,否 则Oracle将返回错误信息。例如:利用下面的语句 将删除用户chenjie,并且同时删除他所拥有的所有 表、索引等模式对象:
(3)权限的选择可用性,授权给用户的角色可选择地使 其可用或不可用。
(4)应用可知性,当用户经用户名执行应用时,该数据 库应用可查询字典,将自动地选择使角色可用或不可用。
(5)应用安全性,角色使用可由口令保护,应用可提供 正确的口令使用角色,如不知其口令,不能使用角色。
34
பைடு நூலகம் 35
在创建角色时必须为角色命名,新建角色的名称不能 与任何数据库用户或其他角色的名称相同。
系统权限可授权给用户或角色,一般,系统权限只授予 管理人员和应用开发人员,终端用户不需要这些相关功能。 2)对象权限:在指定的表、视图、序列、过程、函数或包 上执行特殊动作的权利。
31
2.角色 为相关权限的命名组,可授权给用户和角色。数据库角色包 含下列功能: (1)一个角色可授予系统权限或对象权限。 (2)一个角色可授权给其它角色,但不能循环授权。 (3)任何角色可授权给任何数据库用户。 (4)授权给用户的每一角色可以是可用的或者不可用的。 一个用户的安全域仅包含当前对该用户可用的全部角色的权限。 (5)一个间接授权角色对用户可显式地使其可用或不可用。 在一个数据库中,每一个角色名必须唯一。角色名与用户不 同,角色不包含在任何模式中,所以建立角色的用户被删除时 不影响该角色。
与用户类似,角色也需要进行认证。在执行CREATE ROLE语句创建角色时,默认地将使用NOT IDENTIFIED 子句,即在激活和禁用角色时不需要进行认证。如果需要 确保角色的安全性,可以在创建角色时使用IDENTIFIED 子句来设置角色的认证方式。与用户类似,角色也可以使 用两种方式进行认证。
3
6.1 安全保障机制
6.1.1 安全性内容 6.1.2 安全性策略
4
5
在Oracle多用户数据库系统中,安全机制作下 列工作:
(1)防止非授权的数据库存取。 (2)防止非授权的对模式对象的存取。 (3)控制磁盘使用。 (4)控制系统资源使用。 (5)审计用户动作。
6
Oracle利用下列机制管理数据库安全性: • 数据库用户和模式 • 权限 • 角色 • 存储设置和空间份额 • 资源限制 • 审计
作系统与数据库用户信息一致,那么Oracle无须存储和管理 用户名以及密码。
3)用户进入数据库和操作系统审计信息一致。
15
2.用户的表空间设置和定额 关于表空间的使用有几种设置选择:
• 用户的缺省表空间 • 用户的临时表空间 • 数据库表空间的空间使用定额
16
3. 用户资源限制和环境文件 用户可用的各种系统资源总量的限制是用户安全域的部
DROP USER chenjie CASCADE;
28
6.3 权限和角色
6.3.1 基本概念 6.3.2 创建角色 6.3.3 授予权限或角色 6.3.4 回收权限或角色 6.3.5 激活和禁用角色
29
30
1.权限 权限是执行一种特殊类型的SQL语句或存取另一用户的
对象的权力。有两类权限:系统权限和对象权限。 1)系统权限:是执行一处特殊动作或者在对象类型上执行 一种特殊动作的权利。
38
2.授予对象权限 Oracle对象权限指用户在指定的表上进行特殊操作的权
利。 在GRANT关键字之后指定对象权限的名称,然后在ON
关键字后指定对象名称,最后在TO关键字之后指定接受权 限的用户名,即可将指定对象的对象权限授予指定的用户。
使用一条GRANT语句可以同时授予用户多个对象权限, 各个权限名称之间用逗号分隔。
19
4.用户环境文件 用户环境文件是指定资源限制的命名集,可赋给Oracle
数据库的有效的用户。利用用户环境文件可容易地管理资源 限制。
在许多情况中决定用户的环境文件的合适资源限制的最 好的方法是收集每种资源使用的历史信息。
20
21
例子: CREATE USER chenjie IDENTIFIED BY cj_password DEFAULT TABLESPACE mbl_tbs QUOTA 5M ON mbl_tbs ;
分。利用显式地设置资源限制,安全管理员可防止用户无控 制地消耗宝贵的系统资源。资源限制是由环境文件管理。一 个环境文件是命名的一组赋给用户的资源限制。另外Oracle 为安全管理员在数据库提供是否对环境文件资源限制的选择。
Oracle可限制几种类型的系统资源的使用,每种资源可 在会话级、调用级或两者上控制。
ORACEL利用角色更容易地进行权限管理。有下列优点:
(1)减少权限管理,不要显式地将同一权限组授权给几 个用户,只需将这权限组授给角色,然后将角色授权给每一 用户。
(2)动态权限管理,如果一组权限需要改变,只需修改 角色的权限,所有授给该角色的全部用户的安全域将自动地 反映对角色所作的修改。
如果要通过操作系统来对用户进行身份认证,则必须使用 IDENTIFIED EXTERNAL BY子句。
如果没有指定默认表空间,Oracle会把SYSTEM表空间作 为用户的默认表空间。为用户指定了默认表空间之后,还必 须使用QUOTA子句来为用户在默认表空间中分配的空间配额。
22
此外,常用的一些子句有: ①TEMPORARY TABLESPACE子句:为用户指定临时表空间。 ②PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概 要文件,Oracle将自动为他指定DEFAULT概要文件。 ③DEFAULT ROLE子句:为用户指定默认的角色。 ④PASSWORD EXPIRE子句:设置用户口令的初始状态为过期。 ⑤ACCOUNT LOCK子句:设置用户账户的初始状态为锁定,缺省为:ACCOUNT UNLOCK。
17
在会话级:每一次用户连接到一数据库,建立一会话。每 一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进 行限制。
在调用级:在SQL语句执行时,处理该语句有几步,为了 防止过多地调用系统,Oracle在调用级可设置几种资源限制。
18
有下列资源限制: (1)为了防止无控制地使用CPU时间,Oracle可限制每次Oracle调用 的CPU时间和在一次会话期间Oracle调用所使用的CPU的时间,以0.01秒 为单位。 (2)为了防止过多的I/O,Oracle可限制每次调用和每次会话的逻辑 数据块读的数目。 (3)Oracle在会话级还提供其它几种资源限制: • 每个用户的并行会话数的限制。 • 会话空闲时间的限制,如果一次会话的Oracle调用之间时间达到该空 闲时间,当前事务被回滚,会话被中止,会话资源返回给系统。 • 每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限 制,当前事务被回滚,会话被删除,该会话的资源被释放。 • 每次会话的专用SGA空间量的限制。
者必须有修改操作系统帐户安全性区域的操作系统权限。
9
2. 用户安全性策略 (1)一般用户的安全性
1)密码的安全性 2)权限管理 (2)终端用户的安全性
10
3. 数据库管理者安全性策略 (1)保护作为sys和system用户的连接 (2)保护管理者与数据库的连接 (3)使用角色对管理者权限进行管理
11
4. 应用程序开发者的安全性策略
(1)应用程序开发者和他们的权限 (2)应用程序开发者的环境
1)程序开发者不应与终端用户竞争数据库资源; 2)程序开发者不能损害数据库其他应用产品。 (3)应用程序开发者的空间限制 作为数据库安全性管理者,应该特别地为每个应用程序开发者设置以 下的一些限制: 1)开发者可以创建table或index的表空间; 2)在每一个表空间中,开发者所拥有的空间份额。
在 授 予 对 象 权 限 时 , 可 以 使 用 一 次 关 键 字 ALL 或 ALL PRIVILEGES将某个对象的所有对象权限全部授予指定的用 户。
40
3.授予角色
在GRANT关键字之后指定角色的名称,然后在TO关键 字之后指定用户名,即可将角色授予指定的用户。Oracle 数据库系统预先定义了CONNECT、RESOURCE、DBA、 EXP_FULL_DATABASE 、 IMP_FULL_DATABASE 五 个 角 色 。 CONNECT 具 有 创 建 表 、 视 图 、 序 列 等 权 限 ; RESOURCE 具 有 创 建 过 程 、 触 发 器 、 表 、 序 列 等 权 限 、 DBA 具 有 全 部 系 统 权 限 ; EXP_FULL_DATABASE 、 IMP_FULL_DATABASE具有卸出与装入数据库的权限。
32
一般,建立角色服务有两个目的:为数据库应用管理权 限和为用户组管理权限。相应的角色称为应用角色和用户 角色。
应用角色是授予的运行数据库应用所需的全部权限。 用户角色是为具有公开权限需求的一组数据库用户而建 立的。用户权限管理是受应用角色或权限授权给用户角色 所控制,然后将用户角色授权给相应的用户。
使用ALTER ROLE语句可以改变角色的口令或认证 方式。例如:利用下面的语句来修改OPT_ROLE角色的 口令(假设角色使用的是数据库认证方式):
ALTER ROLE OPT_ROLE IDENTIFIED BY accts*new;
36
37
1.授予系统权限 在GRANT关键字之后指定系统权限的名称,然后在TO 关键字之后指定接受权限的用户名,即可将系统权限授予 指定的用户。 例 如 : 利 用 下 面 的 语 句 可 以 相 关 权 限 授 予 用 户 chenjie : GRANT CREATE USER,ALTER USER,DROP USER TO chenjie WITH ADMIN OPTION;
7
8
1. 系统安全性策略 (1)管理数据库用户 (2)用户身份确认 (3)操作系统安全性 1)数据库管理员必须有create和delete文件的操作系统权限。 2)一般数据库用户不应该有create或delete与数据库相关文件
的操作系统权限。 3)如果操作系统能为数据库用户分配角色,那么安全性管理
Oracle的安全 管理
1
本章学习目标
数据库安全性问题一直是人们关注的焦点, 数据库数据的丢失以及数据库被非法用户的侵 入对于任何一个应用系统来说都是至关重要的 问题。确保信息安全的重要基础在于数据库的 安全性能。
2
内容安排
6.1 Oracle9i的安全保障机制 6.2 用户管理 6.3 权限和角色 6.4 概要文件 6.5 数据审计
12
6.2 用户管理
6.2.1 数据库的存取控制 6.2.2 创建用户 6.2.3 修改用户 6.2.4 删除用户
13
14
1. 用户鉴别 为了防止非授权的数据库用户的使用,Oracle提供三种确
认方法: 操作系统确认,Oracle数据库确认和网络服务确认。 由操作系统鉴定用户的优点是: 1)用户能更快,更方便地联入数据库。 2)通过操作系统对用户身份确认进行集中控制:如果操
有三类对象权限可以授予表或视图中的字段,它们是分 别是INSERT,UPDATE和REFERENCES对象权限。
39
例如:利用下面的语句可以将CUSTOMER表的SELECT和 INSERT,UPDATE对象权限授予用户chenqian:
GRANT SELECT,INSERT(CUSTOMER_ID,CUSTOMER_name), UPDATE(desc) ON CUSTOMER TO chenqian WITH GRANT OPTION;
在建立新用户之后,通常会需要使用GRANT语句为他授予CREATE SESSION系统权限,使他具有连接到数据库中的能力。或为新用户直接授予 Oracle中预定义的CONNECT角色。
23
24
ALTER USER语句最常用的情况是用来修改用 户 自 己 的 口 令 , 任 何 用 户 都 可 以 使 用 ALTER USER…IDENTIFIED BY语句来修改自己的口令,而 不需要具有任何其他权限。但是如果要修改其他用 户的口令,则必须具有ALTER USER系统权限。
25
DBA还会经常使用ALTER USER语句锁定或解锁用 户账户。例如:
ALTER USER chenjie ACCOUNT LOCK; ALTER USER chenjie ACCOUNT UNLOCK;
26
27
如果要删除的用户模式中包含有模式对象,必 须在DROP USER子句中指定CASCADE关键字,否 则Oracle将返回错误信息。例如:利用下面的语句 将删除用户chenjie,并且同时删除他所拥有的所有 表、索引等模式对象:
(3)权限的选择可用性,授权给用户的角色可选择地使 其可用或不可用。
(4)应用可知性,当用户经用户名执行应用时,该数据 库应用可查询字典,将自动地选择使角色可用或不可用。
(5)应用安全性,角色使用可由口令保护,应用可提供 正确的口令使用角色,如不知其口令,不能使用角色。
34
பைடு நூலகம் 35
在创建角色时必须为角色命名,新建角色的名称不能 与任何数据库用户或其他角色的名称相同。
系统权限可授权给用户或角色,一般,系统权限只授予 管理人员和应用开发人员,终端用户不需要这些相关功能。 2)对象权限:在指定的表、视图、序列、过程、函数或包 上执行特殊动作的权利。
31
2.角色 为相关权限的命名组,可授权给用户和角色。数据库角色包 含下列功能: (1)一个角色可授予系统权限或对象权限。 (2)一个角色可授权给其它角色,但不能循环授权。 (3)任何角色可授权给任何数据库用户。 (4)授权给用户的每一角色可以是可用的或者不可用的。 一个用户的安全域仅包含当前对该用户可用的全部角色的权限。 (5)一个间接授权角色对用户可显式地使其可用或不可用。 在一个数据库中,每一个角色名必须唯一。角色名与用户不 同,角色不包含在任何模式中,所以建立角色的用户被删除时 不影响该角色。
与用户类似,角色也需要进行认证。在执行CREATE ROLE语句创建角色时,默认地将使用NOT IDENTIFIED 子句,即在激活和禁用角色时不需要进行认证。如果需要 确保角色的安全性,可以在创建角色时使用IDENTIFIED 子句来设置角色的认证方式。与用户类似,角色也可以使 用两种方式进行认证。
3
6.1 安全保障机制
6.1.1 安全性内容 6.1.2 安全性策略
4
5
在Oracle多用户数据库系统中,安全机制作下 列工作:
(1)防止非授权的数据库存取。 (2)防止非授权的对模式对象的存取。 (3)控制磁盘使用。 (4)控制系统资源使用。 (5)审计用户动作。
6
Oracle利用下列机制管理数据库安全性: • 数据库用户和模式 • 权限 • 角色 • 存储设置和空间份额 • 资源限制 • 审计
作系统与数据库用户信息一致,那么Oracle无须存储和管理 用户名以及密码。
3)用户进入数据库和操作系统审计信息一致。
15
2.用户的表空间设置和定额 关于表空间的使用有几种设置选择:
• 用户的缺省表空间 • 用户的临时表空间 • 数据库表空间的空间使用定额
16
3. 用户资源限制和环境文件 用户可用的各种系统资源总量的限制是用户安全域的部
DROP USER chenjie CASCADE;
28
6.3 权限和角色
6.3.1 基本概念 6.3.2 创建角色 6.3.3 授予权限或角色 6.3.4 回收权限或角色 6.3.5 激活和禁用角色
29
30
1.权限 权限是执行一种特殊类型的SQL语句或存取另一用户的
对象的权力。有两类权限:系统权限和对象权限。 1)系统权限:是执行一处特殊动作或者在对象类型上执行 一种特殊动作的权利。
38
2.授予对象权限 Oracle对象权限指用户在指定的表上进行特殊操作的权
利。 在GRANT关键字之后指定对象权限的名称,然后在ON
关键字后指定对象名称,最后在TO关键字之后指定接受权 限的用户名,即可将指定对象的对象权限授予指定的用户。
使用一条GRANT语句可以同时授予用户多个对象权限, 各个权限名称之间用逗号分隔。
19
4.用户环境文件 用户环境文件是指定资源限制的命名集,可赋给Oracle
数据库的有效的用户。利用用户环境文件可容易地管理资源 限制。
在许多情况中决定用户的环境文件的合适资源限制的最 好的方法是收集每种资源使用的历史信息。
20
21
例子: CREATE USER chenjie IDENTIFIED BY cj_password DEFAULT TABLESPACE mbl_tbs QUOTA 5M ON mbl_tbs ;
分。利用显式地设置资源限制,安全管理员可防止用户无控 制地消耗宝贵的系统资源。资源限制是由环境文件管理。一 个环境文件是命名的一组赋给用户的资源限制。另外Oracle 为安全管理员在数据库提供是否对环境文件资源限制的选择。
Oracle可限制几种类型的系统资源的使用,每种资源可 在会话级、调用级或两者上控制。