SECURITY LABEL 子句

GRANT SECURITY LABEL 语句将安全标签授予用户或用户列表。

SECURITY LABEL 子句

元素 描述 限制 语法
label 现有安全标签的名称 必须存在作为指定的安全 policy 的标签 标识符
policy label 的安全策略 必须在该数据库中已存在 标识符
user 要将该标签授予的用户 必须为用户的授权标识符 所有者名称

仅持有 DBSECADM 角色的用户可发出 GRANT SECURITY LABEL 语句。

安全标签是始终与安全策略关联的数据库对象。那个策略定义构成安全标签的有效的安全组件的集合。该标签存储安全策略的每一组件的一个或多个值的集合。

DBSECADM 可将安全标签与下列实体关联:
  • 数据库表的一列,列安全标签可保护该列
  • 数据库表的一行,行安全标签可保护该行
  • 用户,其用户安全标签(以及已经授予该用户的安全策略的规则的任何豁免)称为该用户的安全凭证

当持有特定安全策略的安全标签的用户尝试访问同一安全策略的行安全标签所保护的行,数据库服务器将该用户安全标签中值的集合与该行安全标签中值的集合进行对比,来决定该用户是否该被允许访问该数据。类似地,在决定用户的凭证是否该允许其访问受保护的列时,LBAC 考虑用户安全标签与列安全标签。

GRANT SECURITY LABEL 语句是 DBSECADM 将用户与安全标签相关联的机制。通过仅 DBSECADM 可执行的 CREATE TABLE 或 ALTER TABLE 语句的选项,受保护的表中的数据值与行安全标签或列安全标签相关联,而不是通过 GRANT SECURITY LABEL 语句)。

可跟在 TO 关键字之后的 USER 关键字是可选的,而且没有作用,但在 GRANT SECURITY LABEL 语句中指定的任何授权标识符都必须是单个用户的标识符,而不是角色的标识符。