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을 가진 활성 역할에 부여된 경우. 여기서 <역할_이름> 은 활성 역할 중 하나임). 그렇다면 권한 부여 옵션이 승인된 권한을 보유하는 역할이 부여자 역할입니다. 여러 활성 역할이 이 기준을 충족하는 경우 어떤 역할이 부여자 역할이 될지는 비결정적입니다.

    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 열은 권한 부여를 수행한 권한 부여자 역할의 유형(ROLE, DATABASE_ROLE 또는 APPLICATION_ROLE)을 지정합니다. 이 열은 SHOW GRANTS ON 구문을 사용할 때만 출력에 나타납니다.

  • 관리형 액세스 스키마의 오브젝트에 대해 SHOW GRANTS ON <object_type> <object_name> 명령을 실행하면 grant_options 열은 FALSE 를 반환합니다.

  • privilege 열에는 SHOW GRANTS ON SCHEMA <managed_access_schema> 명령 실행 시 관리형 액세스 스키마를 소유하는 역할에 대한 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)                                                        |
+-------------------------------+-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------+