oracle之 oracle database vault(数据库保险库)

本文涉及的产品
访问控制,不限时长
简介:

在12c建库中 Database  Vault 与 Label Security 选项,之前没有留意过,特意记录一下

12.1 中:

12.2 中:

 

 

转载:http://www.linuxidc.com/Linux/2011-12/48689p2.htm

本篇包含如下内容:

·         什么是Oracle Database Vault?

·         Oracle Database Vault组成部分

·         Oracle Database Vault遵循哪些规范

·         Database Vault应对哪些内部威胁

·         Oracle Database Vault允许制定灵活的安全策略

·         Oracle Database Vault如何应对数据库联合

1.1  什么是Oracle Database Vault?

Oracle Database Vault能够限制任何用户访问数据库中的特定区域,包括拥有管理(administrative)权限在内的用户,例如,你可以限制管理员访问员工薪水、客户医疗记录、或者其他敏感信息。

这样你就可以针对你的敏感数据以多种方式来应用细粒度的访问控制,它加固Oracle数据库实例,同时加强了分离传统高权限用户职责的这个业界最佳实践。更重要的是,它使你的数据免遭特权用户损坏,同时又允许他们维护Oracle数据库。Oracle Database Vault是你的企业不可分割的一部分。

通过Oracle Database Vault,你可以解决现在仍然是最困难的安全问题:保护数据免遭内部威胁,满足通常的合规要求,加强职责隔离。

你可以配置Oracle Database Vault去管理独立的Oracle数据库实例的安全。你可以安装Oracle Database Vault到一个独立的Oracle数据库设备上、多个Oracle home下、以及Oracle RAC环境中。

更多关于Oracle Database Vault的FAQ请访问如下链接:

http://www.oracle.com/technology/deploy/security/database-security/database-vault/dbv_faq.html

更多OTN上关于Oracle Database Vault的信息请访问如下链接:

http://www.oracle.com/technology/deploy/security/database-security/database-vault/index.html

1.2  Oracle Database Vault组成部分

Oracle Database Vault包含如下部分:

·         Oracle Database Vault 访问控制组件

·         Oracle Database Vault 管理员组件(DVA)

·         Oracle Database Vault配置助手(DVCA)

·         Oracle Database Vault DVSYS和 DVF Schemas

·         Oracle Database Vault PL/SQL接口和开发包

·         Oracle Database Vault和Oracle Label Security PL/SQL APIs

·         Oracle Database Vault 监控和报告工具

1.2.1   Oracle Database Vault访问控制组件

Oracle Database Vault使你能够创建如下组件来保护你的数据库实例的安全:

·         域:域是需要被保护的数据库schemal、对象、角色的一个功能上的集合。例如:你可以将和账户、销售、或者人力资源相关的数据库schemal、对象、角色组成一个域。当你将这些组成一个域后,你可以使用域来控制赋给特定账户或者角色的系统权限的使用。这样你就可以给任何想使用这些数据库schemal、对象、角色的用户提供细粒度的访问控制。Chapter 4, "Configuring Realms" 详细讨论了域。.

·         命令规则:命令规则是一个特殊的规则,通过这个规则,你可以控制用户如何执行他们能够执行的几乎所有的SQL语句,包括SELECT, ALTER SYSTEM, database definition language (DDL), 和data manipulation language (DML)语句.命令规则必须和规则集一起决定某个语句是否允许执行。Chapter 6, "Configuring Command Rules" 详细讨论了规则集.

·         因素:因素是一个命名变量或者属性,例如用户位置、数据库IP地址、会话用户,这些因素是Oracle Database Vault能够识别和保护的。你可以针对用户活动使用这些因素,例如授权数据库账户链接到数据库,或者创建过滤逻辑条件来限制数据的可见性和可管理性。每个因素可以包含一个或者多个标识,标识是因素的具体的值。一个因素可以包含多个标识,这取决于因素的检索方法或者它的映射逻辑。Chapter 7, "Configuring Factors" 详细讨论了因素.

·         规则集:规则集是一个或者多个规则的集合,你可以将规则集和一个域的授权、命令规则、因素指派、或者安全应用角色关联起来。规则集基于其中的每个规则的计算值以及规则的计算方式(所有为真或者任意为真)。规则集中的规则是一个结果为“true”或“false”的PL/SQL表达式。Chapter 5, "Configuring Rule Sets"详细讨论了规则集。

·         安全应用角色:一个安全应用角色是一个特殊的Oracle数据库角色,它可以基于Oracle database vault规则集的计算结果激活。Chapter 8, "Configuring Secure Application Roles for Oracle Database Vault"详细讨论了安全应用角色。

为了加强这些组件的功能,Oracle Database vault提供了一系列的PL/SQL接口和包。"Oracle Database Vault PL/SQL Interfaces and Packages" 提供了一个概括的介绍.

通常情况下,你要做的第一步是创建一个包含你想保护的schema或者数据库对象的域,然后你就可以通过创建规则、命令规则、因素、标识、规则集、安全应用角色来保护你的域。除此以外,你可以运行报告工具来报告这些组件监控和保护的活动。Chapter 3, "Getting Started with Oracle Database Vault"提供了一个简单的指南,可以使你熟悉Oracle Database Vault的功能,Chapter 16, "Oracle Database Vault Reports"提供了更多关于如何运行报告来检查配置和其它Oracle Database Vault 完成的活动。

1.2.2   Oracle Database Vault管理员(DVA)

Oracle Database Vault 管理员是一个基于Oracle Database Vault的PL/SQL API构建的Java程序。这个程序可以让不熟悉PL/SQL接口的安全管理者通过友好的用户界面来配置访问控制策略。Oracle Database Vault管理员程序提供了众多的安全相关的报告,这些报告可以帮助了解基准的安全配置。这些报告同时也有助于指出与基准配置相比,当前配置有哪些变化。

Chapter 4 到 Chapter 9解释了如何通过Oracle database Vault管理员程序来配置访问策略,以及如何将Oracle Database Vault与其它Oracle产品集成起来. Chapter 16, "Oracle Database Vault Reports" 解释了Oracle Database Vault报告.

1.2.3   Oracle Database Vault 配置助手 (DVCA)

为了执行维护任务,可以使用命令行工具Oracle Database Vault配置助手(DVCA).更多信息请参考Appendix C, "Postinstallation Oracle Database Vault Procedures".

1.2.4   Oracle Database Vault DVSYS and DVF Schemas

Oracle Database Vault 提供了DVSYS这个schema来存储所有需要Oracle Database Vault保护的数据库对象。DVSYS schema包含角色、视图、账户、函数、以及其它Oracle Database Vault使用的数据库对象。DVF schema包含一些公共函数,这些函数用于从Oracle Database Vault访问控制配置中读取因素值的集合。

Chapter 10, "Oracle Database Vault Objects" 详细描述了这两个schema.

1.2.5   Oracle Database Vault PL/SQL 接口和包

Oracle Database Vault提供了一个PL/SQL接口和包,让安全管理员或者应用程序开发者按需配置访问控制策略。PL/SQL存储过程和函数使得普通的数据库账户能够在一个数据库会话上下文中在访问控制策略边界里进行操作。

参考Chapter 14, "Using the Oracle Database Vault PL/SQL Interfaces" and Chapter 11, "Using the DVSYS.DBMS_MACADM Package"获取更多信息.

1.2.6   Oracle Database Vault 和Oracle Label Security PL/SQL APIs

Oracle Database Vault提供了能够和Oracle Label Security集成的访问控制能力。Oracle Label Security是和Oracle Enterprise Manager Database Control集成的,Oracle Enterprise Manager Database Control能够让安全管理员定义应用到数据库对象的标签安全策略。Oracle Label Security同样提供了一组可以供数据库应用程序开发者用来提供标签安全策略的PL/SQL API

参考 "Integrating Oracle Database Vault with Oracle Label Security" 获取更多关于Oracle Database Vault和Oracle Label Security如何配合的信息. 参考 Oracle Label Security Administrator's Guide 获取更多关于Oracle Policy Manager的信息.

1.2.7   Oracle Database Vault 报告和监控工具

你可以根据Oracle Database Vault监控的不同的活动来生成报告,你可以监控策略的改变、异常的安全尝试、数据库配置和结构的变化。

参考 Chapter 16, "Oracle Database Vault Reports" 获取更多关于你可以生成的报告的信息. Chapter 15, "Monitoring Oracle Database Vault" 解释了如何监控Oracle Database Vault.

1.3  Oracle Database Vault遵循哪些规范

对规章制度的顺从的一个最大的好处是安全意识。历史上,关于信息技术部门的关注重点在可获得性和性能上面,而对遵守规章制度的关注要求每个人退后一步,然后从安全的角度看看他们的IT基础设施、数据库、应用程序。通常的问题包括:

·         谁能够访问这些信息?

·         敏感信息存储在哪里?

法律法规如Sarbanes-Oxley Act, Health Insurance Portability and Accountability Act (HIPAA), International Convergence of Capital Measurement and Capital Standards: a Revised Framework (Basel II), Japan Privacy Law, Payment Card Industry Data Security Standard (PCI DSS), and the European Union Directive on Privacy and Electronic Communications都含有一些常见的主题,例如内部控制、职责分离,以及访问控制。

然而,对于像Sarbanes-Oxley and HIPAA这些法规来说,最大的挑战是程序上的,剩余的部分可能需要技术投资。法律规章中一个常见的安全需求是严厉的内部控制。Oracle Database Vault能够帮助组织达到要求的程度随不同的法律规章而变化。通常情况下,Oracle Database Vault域、职责分离、命令集、因素总体上有助于减少全世界的法律规章规定的安全威胁。

Table 1-1列出了法律规章给出的潜在的安全威胁

Table 1-1法律规章给出的潜在的安全威胁

Regulation

Potential Security Threat

Sarbanes-Oxley Section 302

未经授权修改数据

Sarbanes-Oxley Section 404

修改数据,未经授权访问

Sarbanes-Oxley Section 409

拒绝服务,未经授权访问

Gramm-Leach-Bliley

未经授权访问, 修改,查看

Health Insurance Portability and Accountability Act (HIPAA) 164.306

未经授权访问

HIPAA 164.312

未经授权访问

Basel II – Internal Risk Management

未经授权访问

CFR Part 11

未经授权访问

Japan Privacy Law

未经授权访问

EU Directive on Privacy and Electronic Communications

未经授权访问

Payment Card Industry Data Security Standard (PCI DSS)

未经授权修改数据

 

1.4  Database Vault应对哪些内部威胁

多年来,蠕虫、病毒,和外部入侵者(黑客)被认为是计算机系统最大的威胁。不幸的是,经常被忽视的是可信用户以及特权用户可能盗窃或者修改数据。

Oracle Database Vault使用域、因素、命令规则来应对内部威胁。这些手段合起来提供强大的安全工具来帮助保护对数据库、应用程序、敏感数据的访问。你可以结合规则和因素来控制在什么样的条件下数据库命令能够被执行,控制被域保护的数据的访问。例如,你可以基于IP地址、时间日期、特定的应用程序来创建规则和因素来控制对数据的访问。这样可以限制只能由满足条件的连接才能够访问数据,以此来防止未经授权访问应用数据和为经授权的应用访问数据库。

Oracle Database Vault提供一些内置的因素,你可以将其与规则结合来控制数据库访问、域保护应用、以及数据库内部的命令。

你可以将规则以及因素和几十个数据库内部命令关联起来,提供更强的数据库内部控制。你可以定制这些手段来满足你的操作策略。例如,你可以定义一个规则来限制特定IP地址特定主机名称运行ALTER SYSTEM语句。

1.5  Oracle Database Vault允许制定灵活的安全策略

Oracle Database Vault可以帮助你为你的数据库设计灵活的安全策略。例如,任何具有DBA角色的数据库用户,如SYSTEM,能够修改数据库的基本参数。加入一个有系统特权的菜鸟管理员决定启动新的redo log文件,但是他并没有意识到在特定的时间进行那样操作会导致数据库出问题。通过Oracle Database Vault,你可以创建一个限制使用ALTER SYSTEM SWITCH LOGFILE命令规则来防止这样的用户做这样的操作。

除此以外,你也可以将规则绑定到命令规则上,以此来多方面的限制活动,例如,按照如下方式限制语句的执行:

·         按照时间(例如,只能在周五下午4~5点执行)

·         只能本地访问, 即不允许远程访问

·         按照IP地址(例如,只允许每个特定范围的IP地址访问)

通过这种方式,你可以很小心的控制和保护你的系统。你可以按照你的需要激活或者禁止命令规则,你也可以通过Oracle Database Vault管理员工具非常容易的集中维护命令规则。

1.6  Oracle Database Vault如何应对数据库联合

Oracle的客户拥有数百甚至数千分布在企业或者全球的数据库。因此,数据库合并在未来的几年将持续作为一个成本节约策略。分布式的数据库架构提供的物理安全在合并环境中也必须具备。Oracle Database Vault提出了关于数据库合并的主要关注点。

Figure 1-1 表明了Oracle Database Vault 如何应对这些关注点:

·         管理特权账户访问应用数据: 这种情况下,Oracle Database Vault 防止DBA访问由FIN域保护的schema。尽管DBA是最强大和可信的用户,但DBA并不需要访问数据库中的应用数据。

·         应用数据访问的职责分离: 这种情况下,由Oracle Database Vault 创建的,FIN域拥有者,能够访问FIN域的schema.

Figure 1-1 Oracle Database Vault 安全


Description of "Figure 1-1 Oracle Database Vault Security"

数据库合并导致很多强大的用户账号驻留在单个数据库中。这意味着除了整个数据库的DBA,各个应用schema的拥有者也具有强大的特权。废除一些特权将反过来影响已有的应用。通过Oracle Database Vault域,你可以通过可信路径、防止未经授权的用户使用特权查看数据两个手段来加强对应用数据的访问。例如,可以防止拥有SELECT ANY TABLE特权的DBA使用这个特权来查看应用数据。

 



本文转自 张冲andy 博客园博客,原文链接: http://www.cnblogs.com/andy6/p/7515948.html  ,如需转载请自行联系原作者


相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
18天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
65 11
|
1月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
24天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
56 7
|
5天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
20 3
|
5天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
24 3
|
5天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
29 2
|
18天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
131 15
|
12天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。

推荐镜像

更多