TREE 类型的安全标签组件具有层次结构的逻辑拓扑(即,没有循环的简单图),其具有单个根节点和不超过 63 个附加节点。必须首先列出根节点的字符串变量,并且后面必须跟 ROOT 关键字。每个后续声明的节点的字符串常量必须后跟关键字 UNDER 和一些先前声明的节点的字符串常量。TREE 组件的元素集(包括它们的 ROOT 和 UNDER 关键字及逗号分隔符)必须包含在一对(( ... ))括号之间。
在 UNDER 关键字之后指定的标签元素称为同一 UNDER 关键字(称为该父元素的 child)之前的标签元素的 parent。如果没有在同一语句中声明 UNDER 关键字之后的节点名称,则 CREATE SECURITY LABEL COMPONENT 语句发生错误并失败。
指定为 TREE 组件的根节点的字符串常量具有最高的数据敏感性。对于用户读取或写入受保护的数据,用户安全标签的每个 TREE 组件必须包括数据行安全标签的 TREE 组件中的至少一个元素,或者一个这样元素的祖先。例如,如果 "Beta" 声明为 UNDER "Alpha" ,"Gamma" 声明为 UNDER "Beta" 则 "Gamma" 的数据敏感度低于 "Alpha" 。只有在同一父子关系链中的元素才能在其数据敏感性中进行比较。
CREATE SECURITY LABEL COMPONENT Oakland TREE ( 'Port' ROOT, 'Downtown' UNDER 'Port', 'Airport' UNDER 'Port', 'Estuary' UNDER 'Airport', 'Avenues' UNDER 'Downtown', 'Hills' UNDER 'Avenues');此处的根节点是 Port,它具有最高数据敏感性。在此层次结构中,Downtown 、Avenues 和 Hills 元素代表数据敏感性的降序级别,Airport 元素的数据敏感性比 Estuary 元素高。在此示例中,UNDER 关键字指定为父节点的四个组件元素在被包括在 UNDER 规范之前被声明。如果 Avenues 节点声明在 Airport 节点之前,则此示例的修改版本也是有效的,但是如果 Hills 节点声明先于 Avenues 节点,则会导致错误。
TREE 类型组件可以适用于多维安全策略的一些维度映射到单个逻辑层次结构或者共享公共根的层次结构的上下文中。