ABAC_POLICY_DEFINITIONS

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

Important

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

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

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

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

定义

ABAC_POLICY_DEFINITIONS 关系包含以下字段:

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

示例

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

-- 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';