ABAC_POLICY_DEFINITIONS

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 勾选“是” 仅 Unity Catalog

Important

此功能目前以公共预览版提供。

INFORMATION_SCHEMA.ABAC_POLICY_DEFINITIONS 返回附加到本地目录中安全对象的每个 ABAC 策略的一行。 每行描述策略定义,包括其附件范围、策略类型、包括和免除主体,以及用于强制实施策略的条件。

只有当你拥有 READ METADATA 或 MANAGE 在附带保单的担保上,或者拥有它时,你才会看到保单被退回。 这与 DESCRIBE POLICY 的访问模式匹配。

此关系是 SQL 标准信息架构的扩展。

定义

ABAC_POLICY_DEFINITIONS 关系包含以下字段:

名称 数据类型 可为 Null Description
POLICY_ID STRING No 策略的唯一标识符。
POLICY_NAME STRING No 策略的名称。
POLICY_TYPE STRING No 策略类型。 例如,ROW_FILTER、COLUMN_MASK、GRANT 或 DENY。
CATALOG_NAME STRING Yes 策略附加到的目录的名称,或包含策略所附加到的架构或表。
SCHEMA_NAME STRING Yes 策略附加到的架构的名称,或包含该策略所附加到的表。 NULL 用于目录附加策略。
SECURABLE_NAME STRING Yes 策略附加到的安全对象的名称。 NULL 用于目录附加策略和架构附加策略。
ON_SECURABLE_TYPE STRING No 该策略所附加的可担保对象类型: CATALOG、、 SCHEMA或 TABLE。
TO_PRINCIPALS ARRAY<STRING> No 策略适用的主体 (用户、组或服务主体)。 如果未设置空数组,则为空数组 [] 。
EXCEPT_PRINCIPALS ARRAY<STRING> No 从策略应用程序中排除的主体。 排除无值时为空数组 [] 。
FOR_SECURABLE_TYPE STRING No 评估策略所面向的安全对象的类型。 例如,对于TABLE行筛选器和列遮罩,或者 MODEL, MODEL_SERVICEMCP_SERVICEMODEL_PROVIDER_SERVICE用于AGENT_SERVICEGRANT策略。 对于 DENY 政策,该特权被拒绝的可保障类型,如 CATALOG、 SCHEMA或 TABLE。
PRIVILEGES ARRAY<STRING> Yes 保单授予或拒绝的特权。 NULL for ROW_FILTER 和 COLUMN_MASK policies。
WHEN_CONDITION STRING Yes 应用策略的条件表达式。 例如,一个布尔表达式,该表达式根据表的受治理标记匹配。
MATCH_COLUMNS ARRAY<STRING> Yes 策略引用的列。 NULL for GRANT 和 DENY policies。
CREATED_BY STRING No 创建策略的主体。

示例

-- List every GRANT policy in the current catalog.
> SELECT *
    FROM information_schema.abac_policy_definitions
    WHERE policy_type = 'GRANT';

-- List every DENY policy in the current catalog.
> SELECT *
    FROM information_schema.abac_policy_definitions
    WHERE policy_type = 'DENY';

-- Find all row filters and column masks attached to securable objects in a schema.
> SELECT policy_name, policy_type, on_securable_type, securable_name, when_condition, match_columns
    FROM information_schema.abac_policy_definitions
    WHERE policy_type IN ('ROW_FILTER', 'COLUMN_MASK')
      AND catalog_name = 'my_catalog'
      AND schema_name = 'my_schema';