- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle FGA_审计
oracle FGA_审计
oracle审计-细粒度(转)
安全性和身份管理
现实问题的细粒度审计,第 3 部分
作者:Arup Nanda
现在您已经掌握了各种环境中的 FGA,下面您将了解到它如何能够在 Oracle Database 10g 中起到更大的作用
在本系列的前两个部分中,我向您介绍了细粒度审计 (FGA) 的概念,它用来在 Oracle9i Database 和更高版本中跟踪选定的语句。我还说明了如何在复杂的环境中(比如说在一个 Web 应用程序内部)通过应用程序上下文和客户端标识符来使用这个特性。这两篇文章为您提供了足够的信息,使您可以为几乎所有类型的数据库系统(无论它有多复杂)构建一个 FGA 设置程序。在这个第三部分,同时也是最后一部分中,我将说明 Oracle Database 10g 为表带来的 FGA 增强。
Oracle9i Database 中的 FGA
让我们简要地重述一下 FGA 的好处。关于完整的讨论,请参考本系列的第 1 部分和第 2 部分。
正规审计(通过 AUDIT 语句)记录使用的语句 — 如 SELECT 或 INSERT — 以及谁发出它、从哪一个终端、什么时候等等。然而,信息最重要的部分 — 哪条特定记录被修改了,以及数据本身的变化 — 没有捕获到。相反,许多用户编写触发器来捕获变化前后的数据值,并把它们记录在用户自定义的表中。但因为触发器只可能在 DML 语句(如 insert、update 和 delete)上使用,所以访问的一个主要的方面 — SELECT 语句 — 不能通过这种途径来审计。
因此 FGA 的价值在于:它只捕获 SELECT 语句。与触发器和 Log Miner 工具一起,FGA 提供了一种机制来审计各种类型的值修改和不涉及到修改的数据访问。
FGA 不仅填补了审计 SELECT 语句的空白,而且还提供了其它的一些引人注目的额外好处,这些好处使得数据库管理员的工作变得更加轻松。例如,FGA 允许一个用户自定义的过程在指定的审计条件出现的时候执行,因此您可以认为它是 SELECT 语句上的一个触发器 — 这是一个在其它方式下没有提供的功能。这个技巧可能非常有用 — 例如,任何时候当有人选择了收入超过 1 百万美元的员工的工资记录时,发送一封邮件给一个安全审计员,以在用户自定义的表中生成审计记录,这些表可以不受限制地进行处理(这与 SYS 拥有的 FGA_LOG$ 表不同);利用审计线索识别数据访问类型,以找出最可能的索引机制等等。
由于这些及其它的原因,FGA 成为数据库管理员工具箱中最重要的工具之一。不过,在 Oracle9i Database 中,它缺少一个重要的特性:在 SELECT 语句之外的语句上使用。
所有类型的 DML
在 Oracle Database 10g 中,FGA 已变得很完善 — 它可以审计所有类型的 DML 语句,而不只是 SELECT。
让我们看一个例子。在本系列的第 1 部分中,我介绍了一个名称为 ACCOUNTS 的表。在那个表上定义的 FGA 策略为:
begin
dbms_fga.add_policy (
object_schema = BANK,
object_name = ACCOUNTS,
policy_name = ACCOUNTS_ACCESS,
audit_column = BALANCE,
audit_condition = BALANCE = 11000
);
end;
在 Oracle 9i Database 下,这个策略只能审计 SELECT 语句。然而,在 Oracle Database 10g 中,您可以扩展它,使它包含 INSERT、UPDATE 和 DELETE。您可以通过指定一个新的参数来实现这个目的:
statement_types = INSERT, UPDATE, DELETE, SELECT
这个参数将在所有包括的语句类型上启用审计。您甚至可能考虑为每种语句类型创建单独的策略,这将允许您随意地启用和禁用策略 — 尤其是,控制审计线索的创建,以管理它们占用的空间。不过,statement_type 参数默认情况下只审计 SELECT 语句。
在策略中添加新的参数之后,发出以下语句:
update accounts set balance = 1200 where balance = 3000;
这将使一条记录插入到 FGA_LOG$ 表中。注意这条记录是由一个自动事务插入的;即使您回滚 update 语句,这条记录也将存在。您可以从另一个会话来检查线索是否存在。
select lsqltext from fga_log$;
LSQLTEXT
---
您可能关注的文档
最近下载
- 风能发电系统 漂浮式海上风力发电机组一体化计算分析导则及编制说明.pdf VIP
- 新人教版高中数学必修第一册全册单元测试卷(原卷+解析).pdf VIP
- 2024年北京市普通高中学业水平等级性考试地理试卷(含答案).pdf VIP
- 生猪屠宰兽医卫生检验人员考试题库5份(含答案).docx
- 2017款长城哈弗M6-2017款1.5T手动自动两驱蓝标_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf VIP
- 2025年全国普通高等学校体育单招真题英语试卷(原卷+ 完整版2025.pdf VIP
- 二月闹肠胀气(宝宝哭闹护理手册).pdf
- 马来酸阿伐曲泊帕片-药品临床应用解读.pptx VIP
- 当代中国政府与政治全套教学课件汇总.pptx VIP
- 2024年全国普通高等学校运动训练、民族传统体育专业单招考试数学试卷.pdf VIP
文档评论(0)