SHOW AUTHENTICATION POLICIES

SHOW AUTHENTICATION POLICIES

생성 날짜, 데이터베이스 및 스키마 이름, 소유자, 사용 가능한 주석을 포함하여 인증 정책(authentication policies) 정보를 나열하는 명령이에요.

출처: 문서

본문

구문 (Syntax)

SHOW AUTHENTICATION POLICIES
  [ LIKE '<pattern>' ]
  [ IN
       {
         ACCOUNT                                         |
         DATABASE [ <name> ]                            |
         SCHEMA [ <name> ]                              |
         APPLICATION <application_name>                 |
         APPLICATION PACKAGE <application_package_name> |
       }
    |
    ON
       {
         ACCOUNT           |
         USER <name>      |
       }
  ]
  [ STARTS WITH '<name_string>' ]
  [ LIMIT <rows> ]

파라미터

  • LIKE 'pattern' — 객체 이름으로 명령 출력을 선택적으로 필터링해요. 대소문자 무시 패턴 매칭을 사용하며 SQL 와일드카드 문자(%와 _)를 지원해요. 기본값: 없음.
  • [ IN ... ] — 명령의 범위를 선택적으로 지정해요:
    • ACCOUNT — 전체 계정의 레코드를 반환.
    • DATABASE, DATABASE db_name — 현재 사용 중인 데이터베이스 또는 지정된 데이터베이스의 레코드를 반환. 참고: 데이터베이스 컨텍스트에서 IN 절 없이 SHOW 명령을 사용하면 예상보다 적은 결과가 나올 수 있어요.
    • SCHEMA, SCHEMA schema_name — 현재 사용 중인 스키마 또는 지정된 스키마의 레코드를 반환.
    • APPLICATION application_name, APPLICATION PACKAGE application_package_name — 명명된 Snowflake Native App 또는 애플리케이션 패키지의 레코드를 반환. IN ...을 생략하면 세션에 현재 사용 중인 데이터베이스가 있는지에 따라 범위가 달라져요.
  • [ ON ... ] — 지정된 객체에 적용되는 정책을 나열해요. 이 명령은 우선순위를 고려해요. 예를 들어 사용자의 정책을 나열하면 사용자에 특별히 설정된 정책이 없을 때 그 사용자에게 적용되는 계정 또는 내장 정책이 보여요.
    • ACCOUNT — 계정에 적용되는 정책을 반환.
    • USER user_name — 지정된 사용자에게 적용되는 정책을 반환.
  • STARTS WITH 'name_string' — 객체 이름 시작 부분의 문자를 기반으로 출력을 필터링해요. 문자열은 작은따옴표로 묶어야 하며 대소문자를 구분해요. 기본값: 없음.
  • LIMIT rows — 반환되는 최대 행 수를 제한해요. 기본값: 없음.

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

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

Privilege Object Notes
APPLY AUTHENTICATION POLICY Account 기본적으로 SECURITYADMIN 역할 또는 더 높은 역할만 이 권한을 가져요. 필요에 따라 추가 역할에 부여할 수 있어요.
OWNERSHIP Authentication policy OWNERSHIP은 객체 생성 역할에 자동 부여되는 특수 권한이지만, 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요.

사용 메모 (Usage notes)

  • 이 명령은 실행하는 데 실행 중인 웨어하우스가 필요하지 않아요.
  • 이 명령은 현재 사용자의 현재 역할에 접근 권한이 하나 이상 부여된 객체만 반환해요.
  • MANAGE GRANTS 접근 권한은 보유자가 계정의 모든 객체를 볼 수 있게 암시적으로 허용해요.
  • 출력 열 이름은 소문자이므로 출력 열을 참조할 때 큰따옴표로 묶은 식별자를 사용해요(예: SELECT "type").
  • LIMIT rows 값은 10000을 초과할 수 없어요. 1만 개 이상의 레코드가 있는 결과를 보려면 LIMIT rows를 포함하거나 해당하는 Snowflake Information Schema 뷰를 쿼리해요.

출력 (Output)

Column Description
created_on 인증 정책이 생성된 날짜와 시간.
name 인증 정책의 이름.
database_name 인증 정책이 생성된 데이터베이스의 이름. 내장 시스템 정책의 경우 NULL.
schema_name 인증 정책이 생성된 스키마의 이름. 내장 시스템 정책의 경우 NULL.
kind AUTHENTICATION_POLICY
owner 인증 정책을 소유한 역할.
comment 인증 정책이 생성되거나 변경될 때 정의된 주석.
owner_role_type 소유자의 역할 유형.
options SHOW AUTHENTICATION POLICIES ON의 경우 정책이 설정된 방식에 대한 세부 정보.
set_on SHOW AUTHENTICATION POLICIES ON의 경우 정책이 설정된 객체 유형: USER, ACCOUNT 또는 SYSTEM.

예시 (Examples)

다음 예시는 현재 데이터베이스와 스키마에 속한 하나의 인증 정책을 반환해요:

SHOW AUTHENTICATION POLICIES;
+-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------+
| created_on                    | name                         | database_name | schema_name    | kind                  | owner        | comment                                                       | owner_role_type | options |
|-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------|
| 2025-09-10 16:38:57.530 -0700 | RESTRICT_CLIENT_TYPES_POLICY | CLIENTS_DB    | CLIENTS_SCHEMA | AUTHENTICATION_POLICY | CLIENTS_ROLE | Auth policy that only allows access through the web interface | ROLE            |         |
+-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------+

다음 예시는 계정의 모든 인증 정책을 반환해요:

SHOW AUTHENTICATION POLICIES IN ACCOUNT;
+-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------+
| created_on                    | name                         | database_name | schema_name    | kind                  | owner        | comment                                                       | owner_role_type | options |
|-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------|
| 2025-09-10 16:38:57.530 -0700 | RESTRICT_CLIENT_TYPES_POLICY | CLIENTS_DB    | CLIENTS_SCHEMA | AUTHENTICATION_POLICY | CLIENTS_ROLE | Auth policy that only allows access through the web interface | ROLE            |         |
| 2025-06-25 13:37:11.092 -0700 | MULTIPLE_AUTH_MODES          | POLICY1_DB    | POLICY1_SCHEMA | AUTHENTICATION_POLICY | POLICY1_ROLE |                                                               | ROLE            |         |
+-------------------------------+------------------------------+---------------+----------------+-----------------------+--------------+---------------------------------------------------------------+-----------------+---------+

더 알아보기 (Learn more)