SHOW ROW ACCESS POLICIES

列出您具有访问权限的行访问策略。返回包括创建日期、数据库和架构名称、所有者以及任何可用注释的信息。

另请参阅:

行访问策略 DDL

语法

SHOW ROW ACCESS POLICIES [ LIKE '<pattern>' ]
                         [ IN
                              {
                                ACCOUNT                  |

                                DATABASE                 |
                                DATABASE <database_name> |

                                SCHEMA                   |
                                SCHEMA <schema_name>     |
                                <schema_name>
                              }
                         ]
Copy

参数

LIKE 'pattern'

(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(%_)。

例如,以下模式返回 相同的 结果:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 默认:无值(不对输出应用筛选)。

[ IN ... ]

(可选)指定命令的作用域。指定以下任一项:

ACCOUNT

返回整个账户的记录。

DATABASE. DATABASE db_name

返回当前正在使用的数据库或指定数据库 (db_name) 的记录。

如果指定 DATABASE 而不指定 db_name,并且没有使用任何数据库,则关键字对输出没有影响。

SCHEMA. SCHEMA schema_name. schema_name

返回当前正在使用的架构或指定架构 (schema_name) 的记录。

如果数据库正在使用中,或者指定了完全限定 schema_name`(例如 ``db.schema`),则 SCHEMA 是可选选项。

如果未使用任何数据库,则指定 SCHEMA 对输出没有影响。

默认:取决于会话当前是否正在使用数据库:

  • 数据库:DATABASE 是默认值(即该命令返回您有权在数据库中查看的对象)。

  • 无数据库:ACCOUNT 是默认值(即该命令返回您有权在账户中查看的对象)。

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 一项 权限

权限

对象

备注

APPLY ROW ACCESS POLICY

账户

APPLY

行访问策略

OWNERSHIP

行访问策略

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

有关行访问策略 DDL 和权限的其他详细信息,请参阅 管理行访问策略

使用说明

  • 该命令不需要正在运行的仓库即可执行。

  • LIMIT rows 的值不能超过 10000。如果省略 LIMIT rows,若结果集大于 1 万行,则该命令将导致错误。

    要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含 LIMIT rows 或查询相应的视图。

  • 若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。

示例

以下示例代表具有 ACCOUNTADMIN 角色的用户执行查询。

SHOW ROW ACCESS POLICIES;
Copy
---------------------------------+------+---------------+-------------+-------------------+--------------+---------+---------+-----------------+
          created_on             | name | database_name | schema_name |       kind        |    owner     | comment | options | owner_role_type |
---------------------------------+------+---------------+-------------+-------------------+--------------+---------+---------+-----------------+
Fri, 23 Jun 1967 00:00:00 -0700  | P1   | RLS_AUTHZ_DB  | S_D_1       | ROW_ACCESS_POLICY | ACCOUNTADMIN |         | ""      | ROLE            |
Fri, 23 Jun 1967 00:00:00 -0700  | P2   | RLS_AUTHZ_DB  | S_D_2       | ROW_ACCESS_POLICY | ACCOUNTADMIN |         | ""      | ROLE            |
---------------------------------+------+---------------+-------------+-------------------+--------------+---------+---------+-----------------+

以下示例代表一个角色,该角色对存在行访问策略的父架构没有 USAGE,并且不是 ACCOUNTADMIN 角色。


Copy
SHOW ROW ACCESS POLICIES;

---------------------------------+------+---------------+-------------+-------------------+--------------+---------+---------+-----------------+
          created_on             | name | database_name | schema_name |       kind        |    owner     | comment | options | owner_role_type |
---------------------------------+------+---------------+-------------+-------------------+--------------+---------+---------+-----------------+
语言: 中文