SHOW GRANTS

ロール、ユーザー、および共有に対して明示的に付与されている、すべてのアクセス制御権限をリストします。

権限とロールの詳細については、 アクセス制御の概要 をご参照ください。

共有の詳細については、 Secure Data Sharingの紹介 をご参照ください。

注釈

SHOW GRANTS は、他のすべての SHOW <オブジェクト> コマンドとは異なる構文を使用する特別なバリエーションです。

構文

SHOW GRANTS [ LIMIT <rows> ]

SHOW GRANTS ON ACCOUNT [ LIMIT <rows> ]

SHOW GRANTS ON <object_type> <object_name> [ LIMIT <rows> ]

SHOW GRANTS TO {
  APPLICATION <app_name>
  | APPLICATION ROLE [ <app_name>. ]<app_role_name>
  | <class_name> ROLE <instance_name>!<instance_role_name>
  | ROLE <role_name>
  | SHARE <share_name> [ IN APPLICATION PACKAGE <app_package_name> ]
  | USER <user_name>
} [ LIMIT <rows> ]

SHOW GRANTS OF { APPLICATION ROLE <app_role_name>|  ROLE <role_name> } [ LIMIT <rows> ]

SHOW GRANTS OF SHARE <share_name> [ LIMIT <rows> ]

SHOW FUTURE GRANTS IN SCHEMA { <schema_name> } [ LIMIT <rows> ]

SHOW FUTURE GRANTS IN DATABASE { <database_name> } [ LIMIT <rows> ]

SHOW FUTURE GRANTS TO ROLE <role_name> [ LIMIT <rows> ]

SHOW FUTURE GRANTS TO DATABASE ROLE <database_role_name>
Copy

バリアント

SHOW GRANTS

構文的には SHOW GRANTS TO USER current_user と同等です。現在のユーザーに付与されているすべてのロールをリストします。

LIMIT rows

オプションで、返される行の最大数を制限します。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。

デフォルト: 値なし(出力に制限は非適用)。

SHOW GRANTS ON ...
ACCOUNT

ロールに付与されているすべてのアカウントレベル(グローバル)権限を一覧表示します。

object_type object_name

オブジェクトに対して付与されているすべての権限をリストします。

データベースロールの場合、完全修飾名 database_name.database_role_name または相対名 database_role_name を使用できます。データベースロールに相対名を使用する場合、Snowflakeはセッション内のデータベースを使用してデータベースロールの相対名を解決します。

SHOW GRANTS TO ...
APPLICATION app_name

アプリケーションに付与されているすべての権限とロールをリストします。

APPLICATION ROLE [ app_name. ]app_role_name

アプリケーションロールに付与されたすべての権限とロールをリストします。

アプリケーションの名前、 app_name はオプションです。指定しない場合、Snowflakeは現在のアプリケーションを使用します。アプリケーションがデータベースでない場合、このコマンドは結果を返しません。

class_name ROLE instance_name!instance_role_name

インスタンスロール に付与されているすべての権限とロールをリストします。

class_name を含むデータベースとスキーマが 使用中でない場合、または 検索パス で指定されていない場合は、クラスの完全修飾名を指定します。例: SNOWFLAKE.CORE.BUDGET

詳細については、 インスタンスロールの例 をご参照ください。

ROLE role_name

ロールに付与されているすべての権限とロールをリストします。ロールが仮オブジェクトに対する付与を持つ場合、その付与は仮オブジェクトが作成されたセッションにのみ存在します。

SHARE share_name

共有に付与されているすべての権限をリストします。

SHARE share_name IN APPLICATION PACKAGE app_package_name

アプリケーションパッケージ内の共有に付与されたすべての権限とロールをリストします。

USER user_name

ユーザーに付与されているすべてのロールをリストします。すべてのユーザーが自動的に使用できる PUBLIC ロールはリストされていません。

SHOW GRANTS OF...
APPLICATION ROLE [ app_name. ]app_role

アプリケーションロールが付与されているすべてのユーザーとロールをリストします。

アプリケーションの名前、 app_name はオプションです。指定しない場合、Snowflakeは現在のアプリケーションを使用します。アプリケーションがデータベースでない場合、このコマンドは結果を返しません。

ROLE role_name

ロールが付与されているすべてのユーザーとロールをリストします。

SHARE share_name

共有のすべてのアカウントをリストし、共有を使用しているアカウントを示します。

SHOW FUTURE GRANTS IN ...
SCHEMA database_name.schema_name

ロールに付与されたスキーマ内の指定されたタイプの新しい(将来の)オブジェクトに対するすべての権限をリストします。 database_name. は、スキーマが存在するデータベースを指定します。現在のデータベースのスキーマをクエリする場合は、 オプション です。

DATABASE database_name

ロールに付与されたデータベース内の指定されたタイプの新しい(将来の)オブジェクトに対するすべての権限をリストします。

SHOW FUTURE GRANTS TO ROLE role_name

ロールに付与された、データベースまたはスキーマで指定された型の新しい(つまり将来の)オブジェクトに対するすべての権限をリストします。

SHOW FUTURE GRANTS TO DATABASE ROLE database_role_name

データベースロールに付与された、データベースまたはスキーマで指定された型の新しい(つまり将来の)オブジェクトに対するすべての権限をリストします。

共有データベースロールは将来の付与をサポートしません。詳細については、 GRANT DATABASE ROLE ... TO SHARE コマンドの使用上の注意をご参照ください。

使用上の注意

  • granted_by 列は、被付与者に権限付与を承認したロールを示します。承認のロールは、 付与者 として知られています。

    GRANT <権限> を使用してオブジェクトに対する権限をロールに付与すると、次の承認規則に従って、権限の付与者としてリストされるロールが決定されます。

    1. アクティブロール がオブジェクトの所有者である(つまり、オブジェクトに対する OWNERSHIP 権限を持っている)場合、そのロールが付与者です。

    2. アクティブロールが付与オプションを承認された指定の権限を保持している場合(つまり、権限が GRANT <権限> ... TO ROLE <ロール名> WITH GRANT OPTION でアクティブロールに付与された場合、ここで <ロール名> はアクティブロールの1つです)。その場合、付与オプションを承認された権限を保持するロールが付与者ロールです。複数のアクティブなロールがこの基準を満たす場合、どのロールが付与者のロールになるかは非決定論的であることに注意してください。

    3. アクティブロールが MANAGE GRANTS グローバル権限を保持している場合、付与者ロールはオブジェクト所有者であり、 MANAGE GRANTS 権限を保持していたロールでは ありません。つまり、 MANAGE GRANTS 権限により、そのオブジェクトに対する権限を付与する目的で、ロールはオブジェクト所有者になりすますことができます。

    granted_by 列が空の場合、権限はSnowflake SYSTEM ロールによって付与されました。このロールで特定の内部操作が実行されます。SYSTEM ロールによって承認された権限の付与は、顧客が変更することはできません。

  • SHOW GRANTS ... TO SHARE IN APPLICATION PACKAGE 構文を使用する場合、

    • grantee_name 列には、アプリケーションパッケージの名前を指定します。

    • granted_to 列は APPLICATION PACKAGE SHARE を指定します。

  • granted_by_role_type 列は、付与を実行した付与者ロールの型(ROLEDATABASE_ROLE、または APPLICATION_ROLE)を指定します。この列は、 SHOW GRANTS ON 構文を使用した場合にのみ出力に表示されます。

  • 管理アクセススキーマのオブジェクトに対して SHOW GRANTS ON <object_type> <object_name> コマンドを実行すると、 grant_options 列は FALSE を返します。

  • SHOWGRANTSONSCHEMA <managed_access_schema> コマンドを実行すると、 privilege 列に管理アクセススキーマを所有するロールの OWNERSHIP と MANAGE GRANTS 権限が含まれます。

  • データベースロールと SHOW FUTURE GRANTS TO DATABASE ROLE 構文を使用すると、コマンドは共有に付与されていないデータベースロールの結果を返します。

    データ共有のコンシューマーアカウントでは、共有データベースロールに将来の権限が付与されている場合、このコマンドは行を返しません。ただし、アカウントとこのコマンドのデータベースロールに対する将来の権限のサポートのタイミングによっては、このエラーメッセージが表示される可能性があります。

    Invalid state of the shared database role. Please revoke the future grants to the shared database role.
    

    コンシューマーとして、プ共有データベースロールから将来の付与を取り消すようにプロバイダーに依頼してください。

  • このコマンドの実行には、稼働中のウェアハウスを必要としません。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

sales データベースで付与されたすべての権限をリストします。

SHOW GRANTS ON DATABASE sales;

+---------------------------------+-----------+------------+------------+------------+--------------+--------------+----------------------+--------------+
| created_on                      | privilege | granted_on | name       | granted_to | grantee_name | grant_option | granted_by_role_type | granted_by   |
+---------------------------------+-----------+------------+------------+------------+--------------+--------------+----------------------+--------------+
| Thu, 07 Jul 2016 05:22:29 -0700 | OWNERSHIP | DATABASE   | REALESTATE | ROLE       | ACCOUNTADMIN | true         | ROLE                 | ACCOUNTADMIN |
| Thu, 07 Jul 2016 12:14:12 -0700 | USAGE     | DATABASE   | REALESTATE | ROLE       | PUBLIC       | false        | ROLE                 | ACCOUNTADMIN |
+---------------------------------+-----------+------------+------------+------------+--------------+--------------+----------------------+--------------+
Copy

analyst ロールに付与されているすべての権限をリストします。

SHOW GRANTS TO ROLE analyst;

+---------------------------------+------------------+------------+------------+------------+--------------+------------+
| created_on                      | privilege        | granted_on | name       | granted_to | grant_option | granted_by |
|---------------------------------+------------------+------------+------------+------------+--------------+------------+
| Wed, 17 Dec 2014 18:19:37 -0800 | CREATE WAREHOUSE | ACCOUNT    | DEMOENV    | ANALYST    | false        | SYSADMIN   |
+---------------------------------+------------------+------------+------------+------------+--------------+------------+
Copy

demo ユーザーに付与されているすべてのロールをリストします。

SHOW GRANTS TO USER demo;

+---------------------------------+------+------------+-------+---------------+
| created_on                      | role | granted_to | name  | granted_by    |
|---------------------------------+------+------------+-------+---------------+
| Wed, 31 Dec 1969 16:00:00 -0800 | DBA  | USER       | DEMO  | SECURITYADMIN |
+---------------------------------+------+------------+-------+---------------+
Copy

analyst ロールが付与されているすべてのロールとユーザーをリストします。

SHOW GRANTS OF ROLE analyst;

+---------------------------------+---------+------------+--------------+---------------+
| created_on                      | role    | granted_to | grantee_name | granted_by    |
|---------------------------------+---------+------------+--------------+---------------|
| Tue, 05 Jul 2016 16:16:34 -0700 | ANALYST | ROLE       | ANALYST_US   | SECURITYADMIN |
| Tue, 05 Jul 2016 16:16:34 -0700 | ANALYST | ROLE       | DBA          | SECURITYADMIN |
| Fri, 08 Jul 2016 10:21:30 -0700 | ANALYST | USER       | JOESM        | SECURITYADMIN |
+---------------------------------+---------+------------+--------------+---------------+
Copy

sales.public スキーマ内の将来のオブジェクトに付与されているすべての権限をリストします。

SHOW FUTURE GRANTS IN SCHEMA sales.public;

+-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------+
| created_on                    | privilege | grant_on | name                      | grant_to | grantee_name          | grant_option |
|-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------|
| 2018-12-21 09:22:26.946 -0800 | INSERT    | TABLE    | SALES.PUBLIC.<TABLE>      | ROLE     | ROLE1                 | false        |
| 2018-12-21 09:22:26.946 -0800 | SELECT    | TABLE    | SALES.PUBLIC.<TABLE>      | ROLE     | ROLE1                 | false        |
+-------------------------------+-----------+----------+---------------------------+----------+-----------------------+--------------+
Copy

cost.budgets.my_budget!ADMIN という名前のインスタンスロールに付与されているすべてのロール権限をリストします。

SHOW GRANTS TO SNOWFLAKE.CORE.BUDGET ROLE cost.budgets.my_budget!ADMIN;
Copy
+-------------------------------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------+
| created_on                    | privilege | granted_on | name                                                                                                                                   |
+-------------------------------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------+
| 2023-10-31 15:57:41.489 +0000 | USAGE     | ROLE       | SNOWFLAKE.CORE.BUDGET!ADMIN                                                                                                            |
| 2023-09-25 22:56:12.798 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!ACTIVATE():VARCHAR(16777216)                                                                                     |
| 2023-09-25 22:56:13.304 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!ADD_RESOURCE(TARGET_REF VARCHAR):VARCHAR(16777216)                                                               |
| 2023-09-25 22:56:12.863 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_ACTIVATION_DATE():DATE                                                                                       |
| 2023-09-25 22:56:12.412 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_BUDGET_NAME():VARCHAR(16777216)                                                                              |
| 2023-09-25 22:56:11.510 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_CONFIG():TABLE: ()                                                                                           |
| 2023-09-25 22:56:13.432 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_LINKED_RESOURCES():TABLE: ()                                                                                 |
| 2023-09-25 22:56:11.582 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_MEASUREMENT_TABLE():TABLE: ()                                                                                |
| 2023-09-25 22:56:12.153 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_NOTIFICATION_EMAIL():VARCHAR(16777216)                                                                       |
| 2023-09-25 22:56:12.016 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_NOTIFICATION_INTEGRATION_NAME():VARCHAR(16777216)                                                            |
| 2023-09-25 22:56:12.286 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_NOTIFICATION_MUTE_FLAG():VARCHAR(16777216)                                                                   |
| 2023-09-25 22:56:13.068 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_SERVICE_TYPE_USAGE(SERVICE_TYPE VARCHAR):TABLE: ()                                                           |
| 2023-09-25 22:56:13.245 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_SERVICE_TYPE_USAGE(SERVICE_TYPE VARCHAR, TIME_DEPART VARCHAR, USER_TIMEZONE VARCHAR, TIME_LOWER_BOUND VARCHA |
| 2023-09-25 22:56:12.595 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_SPENDING_HISTORY():TABLE: ()                                                                                 |
| 2023-09-25 22:56:12.732 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_SPENDING_HISTORY(TIME_LOWER_BOUND VARCHAR, TIME_UPPER_BOUND VARCHAR):TABLE: ()                               |
| 2023-09-25 22:56:11.716 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!GET_SPENDING_LIMIT():NUMBER(38,0)                                                                                |
| 2023-09-25 22:56:13.367 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!REMOVE_RESOURCE(TARGET_REF VARCHAR):VARCHAR(16777216)                                                            |
| 2023-09-25 22:56:11.856 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!SET_EMAIL_NOTIFICATIONS(NOTIFICATION_CHANNEL_NAME VARCHAR, EMAIL VARCHAR):VARCHAR(16777216)                      |
| 2023-09-25 22:56:12.349 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!SET_NOTIFICATION_MUTE_FLAG(USER_MUTE_FLAG BOOLEAN):VARCHAR(16777216)                                             |
| 2023-09-25 22:56:11.780 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!SET_SPENDING_LIMIT(SPENDING_LIMIT FLOAT):VARCHAR(16777216)                                                       |
| 2023-09-25 22:56:12.475 +0000 | USAGE     | PROCEDURE  | SNOWFLAKE.CORE.BUDGET!SET_TASK_SCHEDULE(NEW_SCHEDULE VARCHAR):VARCHAR(16777216)                                                        |
+-------------------------------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------+