安全标签的组件和元素

类似安全策略,一个安全标签必须拥有至少一个,但不超过 16 个的组件。CREATE SECURITY LABEL 语句无法不是指定安全策略的组件的安全标签组件。同一 component 名称在 CREATE SECURITY LABEL 语句中只能指定一次。这些组件必须已经存在于数据库中,由此 DBSECADM 可使用 CREATE SECURITY LABEL COMPONENT 语句注册它们。

安全标签组件可以是 ARRAY 、SET 或 TREE 类型,可在 CREATE SECURITY LABEL COMPONENT 语句中描述。对于 ARRAY 类型的 componentelement 列表只能标识一个元素。对于 SET 或 TREE 类型的组件,element 列表可以标识创建组件完成时(或其最后修改完毕后)已定义的多个组件元素。有关安全标签组件的结构和语义的更多信息,请参阅 CREATE SECURITY LABEL COMPONENT 语句。

以下示例为同一安全策略 MegaCorp 创建名为 label1 的安全标签 。该标签使用两个安全标签组件,称为 levelscompartments 。每个组件有一个元素,分别称为 VPMarketing
CREATE SECURITY LABEL MegaCorp.label1  
        COMPONENT levels 'VP', 
        COMPONENT compartments 'Marketing';
      

要使该示例有效,则 levelscompartments 组件,以及它们的安全标签组件,VPMarketing 元素,必须在先前执行的 CREATE SECURITY LABEL COMPONENT 语句中定义。

在下个示例中,DBSECADM 对同一 MegaCorp 安全策略创建了名为 label2 的安全标签f。此标签使用了三个标签组件,分别为 levelscompartmentsgroups ,其中两个组件有一个元素,另一个组件有两个元素:
CREATE SECURITY LABEL MegaCorp.label2 
        COMPONENT level 'Director', 
        COMPONENT compartments 'HR', 'Finance',
        COMPONENT groups 'EntireRegion';
      
这些示例说明了安全标签的组件可以是其标签支持的安全策略的组件的子集,且多个安全标签可支持同一安全策略。