Oracle Database 12c 引入了下一代 Oracle 虚拟专用数据库 (VPD) Oracle Real Application Security (RAS)。Oracle RAS 引入了业界最先进的技术来支持应用安全要求。
Oracle RAS 提供的声明式模型所实现的安全策略不仅包括受保护的业务对象,还包括有权限操作这些业务对象的主体(用户和角色)。RAS 比传统的 Oracle 虚拟专用数据库技术更安全、可扩展性更高、更经济高效。
Oracle RAS 优点包括:
与现有 Oracle VPD 不同,RAS 提供的声明式接口允许开发人员定义数据安全策略、应用角色和应用用户,应用开发人员无需创建和维护 PL/SQL 存储过程。借助 RAS,在数据库内核中使用 Oracle RAS API 定义数据安全策略。与业务对象关联的权限存储在通过 RAS API 定义和维护的访问控制列表 (ACL) 中。ACL 是 Real Application Security 的重要组成部分,存储分配给主体的权限,并控制可在对象上执行的操作类型(选择、插入、更新和删除)。
Oracle Database 12c 虚拟专用数据库(VPD,首先在 Oracle8i 中引入)提供了一个将 PL/SQL 包与应用表关联的接口。PL/SQL 软件包计算自动附加到传入 SQL 语句的谓词或“where”子句,对表中的行和列实施访问限制。根据安全要求的不同,VPD 策略可以很简单,也可以很复杂,但几乎总是使用应用在运行时初始化的 Oracle 定义的应用上下文。可以使用 VPD 实施行和/或列级安全要求,以满足隐私和合规性要求。例如,简单的 VPD 示例可能限制只能在营业时间访问数据,更复杂的 VPD 示例可能会在登录触发器期间读取应用上下文,并对应用表实施行级安全性。