SHOW MASKING POLICIES

SHOW MASKING POLICIES

SHOW MASKING POLICIES 명령은 마스킹 정책(masking policy) 정보(생성 날짜, 데이터베이스·스키마 이름, 소유자, 주석)를 나열하는 명령이에요. 컬럼 수준 보안에서 사용하는 마스킹 정책들을 확인할 때 사용해요.

출처: 문서

본문

이 명령은 마스킹 정책 정보를 나열해요.

기능 상태: Enterprise Edition 기능. Enterprise Edition 이상이 필요해요. 업그레이드 문의는 Snowflake 지원에 연락해요.

관련 명령: 마스킹 정책 DDL.

구문 (Syntax)

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

                              DATABASE                                        |
                              DATABASE <database_name>                        |

                              SCHEMA                                          |
                              SCHEMA <schema_name>                            |
                              <schema_name>

                              APPLICATION <application_name>                  |
                              APPLICATION PACKAGE <application_package_name>  |
                            }
                       ]

파라미터 (Parameters)

  • LIKE <pattern> — 명령 출력을 객체 이름으로 필터링해요. 대소문자를 구분하지 않는 패턴 매칭이며 SQL 와일드카드 문자(%_)를 지원해요. 기본값: 없음.

  • [ IN ... ] — 명령의 범위를 선택적으로 지정해요:

    • ACCOUNT — 전체 계정의 레코드 반환.
    • DATABASE 또는 DATABASE db_name — 현재 또는 지정한 데이터베이스의 레코드 반환.
    • SCHEMA 또는 SCHEMA schema_name — 현재 또는 지정한 스키마의 레코드 반환.
    • APPLICATION <application_name> — 지정한 Snowflake Native App의 레코드 반환.
    • APPLICATION PACKAGE <application_package_name> — 지정한 애플리케이션 패키지의 레코드 반환.
    • IN ...을 생략하면 범위는 세션의 현재 데이터베이스 유무에 따라 달라져요: 있으면 IN DATABASE와 같은 효과, 없으면 IN ACCOUNT와 같은 효과.

접근 제어 요구 사항 (Access control requirements)

이 SQL 명령을 실행하는 역할은 최소한 다음 권한 중 하나를 가져야 해요:

권한 (Privilege) 객체 (Object) 비고
APPLY MASKING POLICY 계정
APPLY 마스킹 정책
OWNERSHIP 마스킹 정책 객체에 대한 특별 권한으로, 만든 역할에 자동 부여되며 GRANT OWNERSHIP으로 이전할 수 있어요.

스키마의 객체를 조작하려면 상위 데이터베이스에 최소 하나, 상위 스키마에 최소 하나의 권한이 필요해요. 마스킹 정책 DDL과 권한에 대한 자세한 내용은 컬럼 수준 보안 관리를 참고해요.

출력 (Output)

명령 출력은 다음 컬럼을 포함해요:

  • created_on — 마스킹 정책 생성 시간.
  • name — 마스킹 정책 이름.
  • database_name — 마스킹 정책이 있는 데이터베이스.
  • schema_name — 마스킹 정책이 있는 스키마.
  • kind — 정책 유형. 항상 MASKING_POLICY.
  • owner — 마스킹 정책을 소유한 역할.
  • comment — 마스킹 정책에 대한 주석.
  • options — 마스킹 정책 옵션. 예: {"EXEMPT_OTHER_POLICIES": "TRUE"}.
  • owner_role_type — 마스킹 정책을 소유한 역할 유형.

사용 참고 사항 (Usage notes)

  • OPTIONS 컬럼은 마스킹 정책 속성 EXEMPT_OTHER_POLICIESFALSE로 설정되면 빈 문자열("")을 반환해요.
  • 실행에 실행 중인 웨어하우스를 요구하지 않아요.
  • 현재 역할에 하나 이상의 접근 권한이 부여된 객체만 반환해요.
  • MANAGE GRANTS 권한은 보유자가 계정의 모든 객체를 볼 수 있게 해줘요. 기본적으로 ACCOUNTADMIN과 SECURITYADMIN 역할만 이 권한을 가져요.
  • 출력을 후처리하려면 파이프 연산자(|>) 또는 RESULT_SCAN 함수를 사용할 수 있어요. 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표로 감싸서 사용해요.
  • LIMIT rows의 값은 10000을 초과할 수 없어요. LIMIT rows를 생략하면 결과 집합이 1만 행보다 크면 오류가 발생해요.

예제 (Examples)

governance.policies 스키마의 마스킹 정책을 나열해요:

SHOW MASKING POLICIES IN SCHEMA governance.policies;

더 알아보기 (Learn more)