SYSTEM$ALLOWLIST

SYSTEM$ALLOWLIST

방화벽 뒤에서 Snowflake에 접근할 수 있도록 방화벽 허용 목록에 추가할 호스트 이름과 포트 번호를 반환해요. 이 함수의 출력은 SnowCD에 전달할 수 있어요.

일반적으로 Snowflake 고객은 방화벽을 사용해 무단 접근을 방지해요. 기본적으로 방화벽이 Snowflake 접근을 차단할 수도 있어요. 방화벽의 허용 목록을 갱신하려면 Snowflake 계정, 스테이지 및 Snowflake가 사용하는 기타 호스트의 URL에 대한 호스트 이름과 포트 번호를 알아야 해요.

사용 중인 Snowflake 클라이언트의 허용 목록에 대한 자세한 내용은 호스트 이름 허용(Allowing Host names) 문서를 참고해요.

출처: Snowflake SQL Reference - SYSTEM$ALLOWLIST

본문

구문

SYSTEM$ALLOWLIST()

인자

없음.

반환

반환되는 값의 데이터 타입은 VARIANT예요. 값은 JSON 구조의 배열이에요. 각 JSON 구조는 세 개의 키/값 쌍을 포함해요.

type

  • Snowflake는 다음 유형을 지원해요.
    • SNOWFLAKE_DEPLOYMENT — Snowflake 계정에 대한 호스트 이름과 포트 번호 정보.
    • SNOWFLAKE_DEPLOYMENT_REGIONLESS — 조직에 대한 호스트 이름과 포트 번호 정보. 자세한 내용은 계정 식별자(Account identifiers) 문서를 참고해요.
    • STAGE — Snowflake 클라이언트가 읽거나 쓸 수 있는 파일이 저장된 위치(예: Amazon S3, Google Cloud Storage 또는 Microsoft Azure).
    • SNOWSQL_REPO — SnowSQL이 자동 다운로드 또는 업그레이드를 수행하기 위해 접근하는 엔드포인트.
    • OUT_OF_BAND_TELEMETRY — 드라이버가 메트릭과 OCSP 문제 같은 대역 외(out-of-band) 사건을 보고하는 호스트.
    • CLIENT_FAILOVER — Client Redirect의 연결 URL에 대한 호스트 이름과 포트 번호. 쿼리 출력에서 이 값을 지정하는 각 행은 연결 URL 구성 방식에 따라 기본 연결 또는 보조 연결을 가리켜요.
    • CRL_DISTRIBUTION_POINT — 인증서 해지 목록(CRL) 배포 엔드포인트에 대한 호스트 이름과 포트 번호.
    • OCSP_CACHE — 기본 OCSP 응답자에 도달할 수 없을 때 Snowflake가 제공하는 OCSP 인증서 정보의 대체 소스. 최신 버전의 대부분 Snowflake 클라이언트는 OCSP 응답자에 직접 연결하지 않고 OCSP 캐시에 접근해요.
    • OCSP_CACHE_REGIONLESS — 조직에 대해 Snowflake가 제공하는 OCSP 인증서 정보의 대체 소스. 최신 버전의 대부분 Snowflake 클라이언트는 OCSP 응답자에 직접 연결하지 않고 OCSP 캐시에 접근해요.
    • OCSP_CLIENT_FAILOVER — Client Redirect용으로 Snowflake가 제공하는 OCSP 인증서 정보의 대체 소스.
    • DUO_SECURITY — Snowflake에 인증하는 동안 다중 인증(MFA)과 함께 사용되는 Duo Security 서비스의 호스트 이름.
    • OCSP_RESPONDER — OCSP TLS 인증서가 해지되지 않았는지 확인하기 위해 연락할 호스트. Snowflake 서비스에 대한 프라이빗 연결을 구성할 때는 이 값이 필요하지 않으며, 허용 목록에 추가할 OCSP 값을 선택하려면 해당 주제의 지침을 따르세요.
    • SNOWSIGHT_DEPLOYMENT_REGIONLESS — 조직이 Snowsight에 접근하기 위한 호스트 이름과 포트 번호. 자세한 내용은 계정 식별자와 Snowsight: The Snowflake web interface 문서를 참고해요.
    • SNOWSIGHT_DEPLOYMENT — Snowflake 계정의 Snowsight에 접근하기 위한 호스트 이름과 포트 번호.

host

  • type에 대한 전체 호스트 이름을 지정해요. 예: "xy12345.east-us-2.azure.snowflakecomputing.com", "ocsp.snowflakecomputing.com".

port

  • type에 대한 포트 번호를 지정해요. 예: 443, 80.

사용법 참고 사항

  • 출력에는 특정 유형(예: STAGE, OCSP_RESPONDER)에 대한 항목이 여러 개 포함될 수 있어요.
  • 때때로 Snowflake가 함수를 호출하는 클라이언트의 소켓 연결을 확인할 수 없어 함수를 호출하는 문이 다음 오류 메시지 중 하나와 함께 실패할 수 있어요. SYSTEM$ALLOWLIST: Fail to get SSL context, SYSTEM$ALLOWLIST: SSLContext init failed, SYSTEM$ALLOWLIST: Could not find host in OCSP dumping, SYSTEM$ALLOWLIST: Peer unverified, SYSTEM$ALLOWLIST: Connection failure. 또한 Snowflake는 함수 출력의 OCSP 필드에 대해 빈 목록을 반환해요. 문제를 해결하려면 네트워크 연결이 일시적이라면 몇 분 기다렸다가 문을 다시 실행해 볼 수 있어요. 문제가 지속되면 Snowflake 지원팀에 문의해요.

예제

함수를 호출하려면:

SELECT SYSTEM$ALLOWLIST();

샘플 출력:

[
  {"type":"SNOWFLAKE_DEPLOYMENT",        "host":"xy12345.snowflakecomputing.com",                 "port":443},
  {"type":"STAGE",                       "host":"sfc-customer-stage.s3.us-west-2.amazonaws.com",  "port":443},
  ...
  {"type":"SNOWSQL_REPO",                "host":"sfc-repo.snowflakecomputing.com",                "port":443},
  ...
  {"type":"CRL_DISTRIBUTION_POINT",      "host":"crl.r2m01.amazontrust.com",                       "port":80},
  ...
  {"type":"OCSP_CACHE",                  "host":"ocsp.snowflakecomputing.com",                     "port":80},
  {"type":"OCSP_RESPONDER",              "host":"o.ss2.us",                                        "port":80},
  ...
  {"type":"APP_SERVICE_PUBLIC_WILDCARD", "host":"*.org-acct-name.us-west-2.aws.snowflake.app",     "port":80},
  ...
]

이 샘플 출력에서 다음을 주의하세요.

  • 읽기 편하도록 공백과 줄 바꿈 문자가 추가됐고, 일부 항목은 생략됐어요.
  • 일부 호스트 이름의 리전 ID(us-west-2)는 계정이 US West 리전에 있음을 나타내지만, SNOWFLAKE_DEPLOYMENT의 호스트 이름에는 리전 ID가 사용되지 않아요.

JSON 대신 표 형식으로 정보를 추출하려면 PARSE_JSON 함수와 함께 FLATTEN 함수를 사용해요.

SELECT t.VALUE:type::VARCHAR as type,
       t.VALUE:host::VARCHAR as host,
       t.VALUE:port as port
FROM TABLE(FLATTEN(input => PARSE_JSON(SYSTEM$ALLOWLIST()))) AS t;

샘플 출력:

+-----------------------------+---------------------------------------------------+------+
| TYPE                        | HOST                                              | PORT |
|-----------------------------+---------------------------------------------------+------|
| SNOWFLAKE_DEPLOYMENT.       | xy12345.snowflakecomputing.com                    | 443  |
| STAGE                       | sfc-customer-stage.s3.us-west-2.amazonaws.com     | 443  |
  ...
| SNOWSQL_REPO                | sfc-repo.snowflakecomputing.com                   | 443  |
  ...
| CRL_DISTRIBUTION_POINT.     | crl.r2m01.amazontrust.com                         | 80   |
  ...
| OCSP_CACHE                  | ocsp.snowflakecomputing.com                       | 80   |
| OCSP_RESPONDER              | ocsp.sca1b.amazontrust.com                        | 80   |
  ...
| APP_SERVICE_PUBLIC_WILDCARD | *.org-acct-name.us-west-2.aws.snowflake.app       | 443  |
  ...
+-----------------------------+---------------------------------------------------+------+

더 알아보기