카테고리:

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

SYSTEM$ALLOWLIST

Returns host names and port numbers to add to your firewall’s allowed list so that you can access Snowflake from behind your firewall. The output of this function can then be passed into SnowCD.

Typically, Snowflake customers use a firewall to prevent unauthorized access. By default, your firewall might block access to Snowflake. To update your firewall’s allowed list, you need to know the host names and port numbers for the URL for your Snowflake account, stages, and other hosts used by Snowflake.

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

구문

SYSTEM$ALLOWLIST()
Copy

인자

없습니다.

반환

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

type

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

SNOWFLAKE_DEPLOYMENT

Host name and port number information for your Snowflake account.

SNOWFLAKE_DEPLOYMENT_REGIONLESS

Host name and port number information for your organization.

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

STAGE

Location (such as Amazon S3, Google Cloud Storage, or Microsoft Azure) where files that the Snowflake client can read or write are stored.

SNOWSQL_REPO

Endpoint accessed by SnowSQL to perform automatic downloads or upgrades.

OUT_OF_BAND_TELEMETRY

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

CLIENT_FAILOVER

Host name and port number for the connection URL for Client Redirect. Note that each row in the query output that specifies this value refers to either the primary connection or the secondary connection depending on how the connection URLs were configured.

CRL_DISTRIBUTION_POINT

Host name and port number for certificate revocation list (CRL) distribution endpoints.

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

The host name for the Duo Security service that is used with 다단계 인증(MFA) while authenticating to Snowflake.

OCSP_RESPONDER

Host name to contact to verify that the OCSP TLS certificate has not been revoked.

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

SNOWSIGHT_DEPLOYMENT_REGIONLESS

Host name and port number for your organization to access Snowsight.

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

SNOWSIGHT_DEPLOYMENT

Host name and port number to access Snowsight for your Snowflake account.

host

Specifies the full host name for type, for example: "xy12345.east-us-2.azure.snowflakecomputing.com", "ocsp.snowflakecomputing.com".

port

Specifies the port number for type, for example: 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();
Copy

샘플 출력:

[
  {"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},
  ...
]
Copy

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

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

  • The region ID (us-west-2) in some of the host names indicates the account is in the US West region; however, the region ID is not utilized in the host name for 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;
Copy

샘플 출력:

+------------------------+---------------------------------------------------+------+
| 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   |
  ...
+------------------------+---------------------------------------------------+------+
Copy