View a markdown version of this page

SHOW GRANTS - Amazon Redshift

Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

SHOW GRANTS

사용자, 역할 또는 객체에 대한 권한을 표시합니다. 객체는 데이터베이스, 스키마, 테이블, 함수 또는 템플릿일 수 있습니다. 테이블 또는 함수와 같은 객체를 지정할 때는 2부 또는 3부 표기법을 사용하여 객체를 한정해야 합니다. 예: schema_name.table_name 또는 database_name.schema_name.table_name.

SHOW GRANTS에서 10,000개 이상의 행이 발생하는 경우 명령에서 오류가 발생합니다.

필수 권한

대상 사용자 또는 역할에 대해 SHOW GRANTS를 실행하려면 현재 사용자가 다음 기준 중 하나를 충족해야 합니다.

  • 슈퍼유저

  • 대상 사용자

  • 대상 역할의 소유자

  • 역할이 부여됨

대상 객체에 대한 SHOW GRANTS는 현재 사용자에게 표시되는 권한 부여만 표시합니다. 현재 사용자가 다음 기준 중 하나를 충족하는 경우 현재 사용자에게 권한 부여가 표시됩니다.

  • 슈퍼유저

  • 대상 사용자

  • 권한 부여된 역할의 소유자 권한 부여

  • 객체 권한 부여의 대상이 되는 역할 권한 부여

구문

다음은 객체에 대한 권한 부여를 표시하는 구문입니다. 함수를 지정하는 두 번째 방법은 데이터 공유에서 생성된 외부 스키마 및 데이터베이스에만 유효합니다.

SHOW GRANTS ON { DATABASE database_name | FUNCTION {database_name.schema_name.function_name | schema_name.function_name } ( [ [ argname ] argtype [, ...] ] ) | FUNCTION {database_name.schema_name.function_name | schema_name.function_name } | SCHEMA {database_name.schema_name | schema_name} | { TABLE {database_name.schema_name.table_name | schema_name.table_name} | table_name } TEMPLATE {database_name.schema_name.template_name | template_name} } [FOR {username | ROLE role_name | PUBLIC}] [LIMIT row_limit]

다음은 사용자 또는 역할에 대한 권한 부여를 표시하는 구문입니다.

SHOW GRANTS FOR {username | ROLE role_name} [FROM DATABASE database_name] [LIMIT row_limit]

파라미터

database_name

권한 부여를 표시할 데이터베이스의 이름입니다.

function_name

권한 부여를 표시할 함수의 이름입니다.

template_name

권한 부여를 표시할 템플릿의 이름입니다.

schema_name

권한 부여를 표시할 스키마의 이름입니다.

table_name

권한 부여를 표시할 테이블의 이름입니다.

FOR username

사용자에 대한 권한 부여를 표시함을 나타냅니다.

ROLE role_name

역할에 대한 권한 부여를 표시함을 나타냅니다.

FOR PUBLIC

PUBLIC에 대한 권한 부여를 표시함을 나타냅니다.

row_limit

반환할 최대 열 수입니다. row_limit는 0~10,000일 수 있습니다.

예제

다음 예시에서는 이름이 dev인 데이터베이스의 모든 권한을 표시합니다.

SHOW GRANTS on database demo_db; database_name | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | grantor_name ---------------+----------------+-------------+---------------+---------------+--------------+-----------------+-------------- demo_db | ALTER | 112 | alice | user | f | TABLES | dbadmin demo_db | TRUNCATE | 112 | alice | user | f | TABLES | dbadmin demo_db | DROP | 112 | alice | user | f | TABLES | dbadmin demo_db | INSERT | 112 | alice | user | f | TABLES | dbadmin demo_db | TEMP | 0 | public | public | f | DATABASE | dbadmin demo_db | SELECT | 112 | alice | user | f | TABLES | dbadmin demo_db | UPDATE | 112 | alice | user | f | TABLES | dbadmin demo_db | DELETE | 112 | alice | user | f | TABLES | dbadmin demo_db | REFERENCES | 112 | alice | user | f | TABLES | dbadmin

다음 명령은 이름이 demo인 스키마에 대한 모든 권한을 보여줍니다.

SHOW GRANTS ON SCHEMA demo_schema; schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | database_name | grantor_name -------------+-------------+-------------+----------------+-------------+---------------+---------------+--------------+-----------------+---------------+-------------- demo_schema | demo_schema | SCHEMA | ALTER | 112 | alice | user | f | SCHEMA | db1 | dbadmin demo_schema | demo_schema | SCHEMA | DROP | 112 | alice | user | f | SCHEMA | db1 | dbadmin demo_schema | demo_schema | SCHEMA | USAGE | 112 | alice | user | f | SCHEMA | db1 | dbadmin demo_schema | demo_schema | SCHEMA | CREATE | 112 | alice | user | f | SCHEMA | db1 | dbadmin

다음 명령은 이름이 alice인 사용자에 대한 모든 권한을 보여줍니다.

SHOW GRANTS FOR alice; database_name | schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | privilege_scope | grantor_name ---------------+-------------+-------------+-------------+----------------+-------------+---------------+---------------+-----------------+-------------- demo_db | | | DATABASE | INSERT | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | SELECT | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | UPDATE | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | DELETE | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | REFERENCES | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | DROP | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | TRUNCATE | 124 | alice | user | TABLES | dbadmin demo_db | | | DATABASE | ALTER | 124 | alice | user | TABLES | dbadmin demo_db | demo_schema | | SCHEMA | USAGE | 124 | alice | user | SCHEMA | dbadmin demo_db | demo_schema | | SCHEMA | CREATE | 124 | alice | user | SCHEMA | dbadmin demo_db | demo_schema | | SCHEMA | DROP | 124 | alice | user | SCHEMA | dbadmin demo_db | demo_schema | | SCHEMA | ALTER | 124 | alice | user | SCHEMA | dbadmin demo_db | demo_schema | t1 | TABLE | INSERT | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | SELECT | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | UPDATE | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | DELETE | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | RULE | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | REFERENCES | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | TRIGGER | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | DROP | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | TRUNCATE | 124 | alice | user | TABLE | dbadmin demo_db | demo_schema | t1 | TABLE | ALTER | 124 | alice | user | TABLE | dbadmin
SHOW GRANTS FOR alice FROM DATABASE second_db; database_name | schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | privilege_scope | grantor_name ---------------+-------------+-------------+-------------+----------------+-------------+---------------+---------------+-----------------+-------------- second_db | public | t22 | TABLE | SELECT | 101 | alice | user | TABLE | dbadmin

다음 명령은 테이블 t3에 대한 사용자 alice의 모든 권한 부여를 보여줍니다. 2부 또는 3부 표기법을 사용하여 테이블 이름을 지정할 수 있습니다.

SHOW GRANTS ON TABLE demo_db.demo_schema.t3 FOR ALICE; schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | database_name | grantor_name -------------+-------------+-------------+----------------+-------------+---------------+---------------+--------------+-----------------+---------------+-------------- demo_schema | t3 | TABLE | ALTER | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | TRUNCATE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | DROP | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | TRIGGER | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | SELECT | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | INSERT | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | UPDATE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | DELETE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | RULE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | REFERENCES | 130 | alice | user | f | TABLE | demo_db | dbadmin SHOW GRANTS ON TABLE demo_schema.t3 FOR ALICE; schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | database_name | grantor_name -------------+-------------+-------------+----------------+-------------+---------------+---------------+--------------+-----------------+---------------+-------------- demo_schema | t3 | TABLE | ALTER | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | TRUNCATE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | DROP | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | TRIGGER | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | SELECT | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | INSERT | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | UPDATE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | DELETE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | RULE | 130 | alice | user | f | TABLE | demo_db | dbadmin demo_schema | t3 | TABLE | REFERENCES | 130 | alice | user | f | TABLE | demo_db | dbadmin

다음 예시에서는 이름이 t4인 테이블에 대한 모든 권한 부여를 표시합니다. 테이블 이름을 지정하는 다양한 방법에 주목하세요.

SHOW GRANTS ON t4; schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | database_name | grantor_name -------------+-------------+-------------+----------------+-------------+---------------+---------------+--------------+-----------------+---------------+-------------- public | t4 | TABLE | ALTER | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | TRUNCATE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | DROP | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | TRIGGER | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | SELECT | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | INSERT | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | UPDATE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | DELETE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | RULE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | REFERENCES | 130 | alice | user | f | TABLE | demo_db | dbadmin SHOW GRANTS ON TABLE public.t4; schema_name | object_name | object_type | privilege_type | identity_id | identity_name | identity_type | admin_option | privilege_scope | database_name | grantor_name -------------+-------------+-------------+----------------+-------------+---------------+---------------+--------------+-----------------+---------------+-------------- public | t4 | TABLE | ALTER | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | TRUNCATE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | DROP | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | TRIGGER | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | SELECT | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | INSERT | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | UPDATE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | DELETE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | RULE | 130 | alice | user | f | TABLE | demo_db | dbadmin public | t4 | TABLE | REFERENCES | 130 | alice | user | f | TABLE | demo_db | dbadmin