카테고리:

시스템 함수 (시스템 정보)

SYSTEM$ALLOWLIST

방화벽 뒤에서 Snowflake에 액세스할 수 있도록 방화벽의 허용 목록에 추가할 호스트 이름과 포트 번호를 반환합니다. 그런 다음 이 함수의 출력을 SnowCD 로 전달할 수 있습니다.

일반적으로 Snowflake 고객은 방화벽을 사용하여 무단 액세스를 방지합니다. 기본적으로 방화벽은 Snowflake에 대한 액세스를 차단할 수 있습니다. 방화벽의 허용 목록을 업데이트하려면 Snowflake 계정, 스테이지, Snowflake에서 사용하는 기타 호스트의 URL에 대한 호스트 이름과 포트 번호를 알아야 합니다.

사용하는 Snowflake 클라이언트의 허용 목록에 대한 자세한 내용은 호스트 이름 허용하기 를 참조하십시오.

구문

SYSTEM$ALLOWLIST()

인자

없습니다.

반환

반환된 값의 데이터 타입은 VARIANT 입니다. 값은 JSON 구조의 배열입니다. 각 JSON 구조에는 세 개의 키/값 쌍이 포함됩니다.

type

Snowflake는 다음 유형을 지원합니다.

SNOWFLAKE_DEPLOYMENT

Snowflake 계정의 호스트 이름 및 포트 번호 정보입니다.

SNOWFLAKE_DEPLOYMENT_REGIONLESS

조직 의 호스트 이름 및 포트 번호 정보입니다.

자세한 내용은 계정 식별자 섹션을 참조하십시오.

STAGE

Snowflake 클라이언트가 읽거나 쓸 수 있는 파일이 저장되는 위치(즉, Amazon S3, Google Cloud Storage 또는 Microsoft Azure)입니다.

SNOWSQL_REPO

자동 다운로드/업그레이드를 수행하기 위해 SnowSQL에서 액세스하는 엔드포인트입니다.

OUT_OF_BAND_TELEMETRY

드라이버가 메트릭 및 OCSP 문제와 같은 대역 외 사건을 보고하는 대상 호스트입니다.

CLIENT_FAILOVER

클라이언트 리디렉션 용 연결 URL의 호스트 이름과 포트입니다. 이 값을 지정하는 쿼리 출력의 각 행은 연결 URL이 구성된 방식에 따라 기본 연결 또는 보조 연결을 참조합니다.

OCSP_CACHE

기본 OCSP 응답자에 연결할 수 없는 경우 Snowflake에서 제공하는 OCSP 인증서 정보의 대체 소스입니다. 대부분의 최신 버전의 Snowflake 클라이언트는 OCSP 응답자에 직접 연결하지 않고 OCSP 캐시에 액세스합니다.

OCSP_CACHE_REGIONLESS

조직 에 대해 Snowflake가 제공하는 OCSP 인증서 정보의 대체 원본입니다. 대부분의 최신 버전의 Snowflake 클라이언트는 OCSP 응답자에 직접 연결하지 않고 OCSP 캐시에 액세스합니다.

DUO_SECURITY

Snowflake에 인증하는 동안 다단계 인증(MFA) 과 함께 사용되는 Duo Security 서비스의 호스트 이름입니다.

OCSP_RESPONDER

OCSP SSL 인증서가 해지되지 않았는지 확인하기 위해 연결할 호스트 이름입니다.

Snowflake 서비스에 비공개 연결 를 구성할 때는 이 값이 필요하지 않습니다. 해당 항목의 지침에 따라 허용 목록에 추가할 OCSP 값을 선택합니다.

SNOWSIGHT_DEPLOYMENT_REGIONLESS

Snowsight에 액세스하기 위한 조직 의 호스트 이름과 포트 번호입니다.

자세한 내용은 계정 식별자Snowsight: Snowflake 웹 인터페이스 섹션을 참조하십시오.

SNOWSIGHT_DEPLOYMENT

Snowflake 계정의 Snowsight 에 액세스하기 위한 호스트 이름과 포트입니다.

host

type 에 대한 전체 호스트 이름을 지정합니다(예: "xy12345.east-us-2.azure.snowflakecomputing.com", "ocsp.snowflakecomputing.com").

port

type 에 대한 포트 번호를 지정합니다(예: 443, 80).

사용법 노트

출력에는 특정 유형(예: STAGE, OCSP_RESPONDER)에 대한 여러 항목이 포함될 수 있습니다.

함수를 호출하려면:

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":"OCSP_CACHE",           "host":"ocsp.snowflakecomputing.com",                    "port":80}
  {"type":"OCSP_RESPONDER",       "host":"o.ss2.us",                                       "port":80},
  ...
]

이 샘플 출력에서 다음 사항에 유의하십시오.

  • 가독성을 위해 공백 및 줄 바꿈 문자가 추가되었습니다. 또한, 일부 항목이 생략되었습니다.

  • 일부 호스트 이름의 리전 ID(us-west-2)는 계정이 US 서부 리전에 있음을 나타냅니다. 그러나 리전 ID는 SNOWFLAKE_DEPLOYMENT 의 호스트 이름에서 사용되지 않습니다.

정보를 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  |
  ...
| OCSP_CACHE            | ocsp.snowflakecomputing.com                       | 80   |
| OCSP_RESPONDER        | ocsp.sca1b.amazontrust.com                        | 80   |
  ...
+-----------------------+---------------------------------------------------+------+
맨 위로 이동