与安全策略相关的规则

WITH IDSLBACRULES 关键字指定新安全策略执行的读访问权规则和写访问权规则。如果您没有指定它们,则这些关键字缺省生效,因为 IDSLBACRULES 存取规则安全策略唯一支持的存取规则。

以下是 IDSLBACRULES 读访问权规则,称为 IDSLBACREAD ,当在 SELECT 、 UPDATE 或 DELETE 操作中从被标签的列或 列中读取数据值时应用此规则:
以下是 IDSLBACRULES 写访问权规则,称为 IDSLBACWRITE ,当在 INSERT 、 UPDATE 或 DELETE 操作中向被标签的列或行中写入数据值时应用此规则:

如果 DBSECADM 省略 WITH IDSLBACRULES 关键字,则这些规则缺省生效。然而,如果 WITH 关键字之后跟随除 IDSLBACRULES 值之外的任何规范,则 CREATE SECURITY POLICY 语句发生错误而失败,且不会创建安全策略。

除了显式或缺省 WITH IDSLBACRULES 关键字,CREATE SECURITY POLICY 语句还必须指定当用户未授权写入由安全策略保护的表 DELETE 、INSERT 或 UPDATE 语句中提供的显式指定的安全标签时,执行此写访问规则。用户的安全标签和用户持有的豁免凭证可确定用户是否对显式提供的安全标签具有写访问权。
以下示例创建了名为 MegaCorp 的安全策略,它使用三个安全标签,没有为用户安全标签设置 OVERRIDE 。以便在 DELETE 、INSERT 或 UPDATE 操作中对明确指定的标签不授权该用户的写访问权的数据提供写访问。
CREATE SECURITY POLICY MegaCorp
        COMPONENTS levels, compartments, groups
        WITH IDSLBACRULES;
要使此示例有效,levelscompartmentsgroups 安全标签组件(或者已被重命名为这些标识符的组件)必须在先前的 CREATE SECURITY LABEL COMPONENT 语句定义。