Oracle 10g 安全与 SQL 增强功能
1. VPD 其他增强功能
在 Oracle 10g 中, DBMS_RLS.ADD_POLICY
过程里的 STATEMENT_TYPES
参数能够接受一种名为 INDEX
的新类型。而在 Oracle 9i 中,有效取值仅为 SELECT
、 INSERT
、 UPDATE
或 DELETE
。Oracle 10g 的默认设置是应用除 INDEX
之外的所有类型。引入 INDEX
类型是为了在索引维护操作上实施安全策略,因为用户创建表索引时需要具备全表访问权限。
拥有维护索引权限的用户,即便在查询时没有全表访问权限,也能够查看所有行数据。Oracle 10g 引入 INDEX
类型,旨在防止用户在创建基于函数的索引时读取受保护的数据。否则,了解内情的用户可能会利用索引函数写出 VPD 特性本应隐藏的值。 INDEX
类型可确保在创建索引时应用安全策略。
ADD_POLICY
过程还有另一项增强功能,即 LONG_PREDICATE
参数。该新参数的默认值为 FALSE
,这意味着策略函数返回的谓词值最多可达 4000 字节。当此参数设置为 TRUE
时,策略函数可返回最长 32KB 的谓