SHOW POLICIES - Amazon Redshift

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

SHOW POLICIES

데이터베이스에 정의된 행 수준 보안(RLS) 및 동적 데이터 마스킹(DDM) 정책과 특정 관계에 적용된 RLS 및 DDM 정책을 표시합니다. 데이터베이스에서 sys:secadmin 역할을 가진 슈퍼유저 또는 사용자만 이러한 정책의 결과를 볼 수 있습니다.

구문

SHOW { RLS | MASKING } POLICIES [ ON { database_name.schema_name.relation_name | schema_name.relation_name } [ FOR { user_name | ROLE role_name | PUBLIC } ] | FROM DATABASE database_name ] [ LIMIT row_limit ];

파라미터

database_name

정책을 표시할 데이터베이스의 이름입니다.

schema_name

연결된 정책을 표시할 관계의 스키마 이름입니다.

relation_name

연결된 정책을 표시할 관계의 이름입니다.

user_name

관계에 정책이 연결된 사용자의 이름입니다.

role_name

관계에 정책이 연결된 역할의 이름입니다.

row_limit

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

참고

연결된 데이터베이스와 다른 데이터베이스의 정책 표시는 Amazon Redshift 페더레이션 권한 카탈로그에서 지원됩니다. SHOW POLICIES 명령은 Amazon Redshift 페더레이션 권한이 있는 웨어하우스의 모든 데이터베이스에 대한 데이터베이스 간 쿼리를 지원합니다.

예제

다음 명령은 연결된 데이터베이스의 RLS 정책을 보여줍니다.

SHOW RLS POLICIES; policy_name | policy_alias | policy_atts | policy_qual | policy_enabled | policy_modified_by | policy_modified_time ----------------+--------------+------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+----------------+--------------------+---------------------------- policy_america | rls_table | [{"colname":"region","type":"character varying(10)"}] | (("rls_table"."region" = CAST('USA' AS TEXT)) OR ("rls_table"."region" = CAST('CANADA' AS TEXT)) OR ("rls_table"."region" = CAST('Mexico' AS TEXT))) | t | admin | 2025-11-07 14:57:27

다음 명령은 데이터베이스 ‘sales_db.finance-catalog’의 마스킹 정책을 보여줍니다.

SHOW MASKING POLICIES FROM DATABASE "sales_db@finance-catalog"; policy_name | input_columns | policy_expression | policy_modified_by | policy_modified_time ---------------+------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+--------------------+---------------------------- hash_credit | [{"colname":"credit_card","type":"character varying(256)"}] | [{"expr":"SHA2((\"masked_table\".\"credit_card\" + CAST('testSalt' AS TEXT)), CAST(256 AS INT4))","type":"text"}] | admin | 2025-11-07 16:05:54 hash_username | [{"colname":"username","type":"character varying(256)"}] | [{"expr":"SHA2((\"masked_table\".\"username\" + CAST('otherTestSalt' AS TEXT)), CAST(256 AS INT4))","type":"text"}] | admin | 2025-11-07 16:07:08 (2 rows)

다음 명령은 관계형 sales_table;에 연결된 RLS 정책을 보여줍니다.

SHOW RLS POLICIES ON sales_schema.sales_table; policy_name | schema_name | relation_name | relation_kind | grantor | grantee | grantee_kind | is_policy_on | is_rls_on | rls_conjunction_type ----------------+--------------+---------------+---------------+----------+---------------------------+--------------+--------------+-----------+---------------------- policy_global | sales_schema | sales_table | table | admin | sales_analyst_role_global | role | t | t | and policy_america | sales_schema | sales_table | table | admin | sales_analyst_usa | user | t | t | and

다음 명령은 데이터베이스 ‘sales_db.finance-catalog’의 관계 transaction_table에 연결된 마스킹 정책을 보여줍니다.

SHOW MASKING POLICIES ON "sales_db@finance-catalog".sales_schema.transaction_table LIMIT 1; policy_name | schema_name | relation_name | relation_type | grantor | grantee | grantee_type | priority | input_columns | output_columns ---------------+--------------+-------------------+---------------+----------+--------------------------+--------------+----------+-------------------+------------------- hash_username | sales_schema | transaction_table | table | admin | transaction_analyst_role | role | 100 | ["user_name"] | ["user_name"]

다음 명령은 사용자 ‘IAMR:sales_analyst_usa’에 대한 데이터베이스 ‘sales_db.finance-catalog’의 관계 sales_table에 연결된 RLS 정책을 보여줍니다.

SHOW RLS POLICIES ON "sales_db@finance-catalog".sales_schema.sales_table FOR "IAMR:sales_analyst_usa"; policy_name | schema_name | relation_name | relation_kind | grantor | grantee | grantee_kind | is_policy_on | is_rls_on | rls_conjunction_type ----------------+--------------+---------------+---------------+----------+------------------------+--------------+--------------+-----------+---------------------- policy_america | sales_schema | sales_table | table | admin | IAMR:sales_analyst_usa | user | t | t | and

다음 명령은 역할 transaction_analyst_role에 대한 데이터베이스 ‘sales_db.finance-catalog’의 관계 transaction_table에 연결된 RLS 정책을 보여줍니다.

SHOW MASKING POLICIES ON sales_schema.transaction_table FOR ROLE transaction_analyst_role; policy_name | schema_name | relation_name | relation_type | grantor | grantee | grantee_type | priority | input_columns | output_columns ---------------+--------------+-------------------+---------------+----------+--------------------------+--------------+----------+---------------+---------------- hash_username | sales_schema | transaction_table | table | admin | transaction_analyst_role | role | 100 | ["user_name"] | ["user_name"]