- 카테고리:
시스템 함수 (시스템 정보)
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()
인자¶
없습니다.
반환¶
반환된 값의 데이터 타입은 VARIANT 입니다. 값은 JSON 구조의 배열입니다. 각 JSON 구조에는 세 개의 키/값 쌍이 포함됩니다.
typeSnowflake는 다음 유형을 지원합니다.
SNOWFLAKE_DEPLOYMENTHost name and port number information for your Snowflake account.
SNOWFLAKE_DEPLOYMENT_REGIONLESSHost name and port number information for your organization.
자세한 내용은 계정 식별자 섹션을 참조하십시오.
STAGELocation (such as Amazon S3, Google Cloud Storage, or Microsoft Azure) where files that the Snowflake client can read or write are stored.
SNOWSQL_REPOEndpoint accessed by SnowSQL to perform automatic downloads or upgrades.
OUT_OF_BAND_TELEMETRY드라이버가 메트릭 및 OCSP 문제와 같은 대역 외 사건을 보고하는 대상 호스트입니다.
CLIENT_FAILOVERHost 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_POINTHost 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_FAILOVERClient Redirect 에 대해 Snowflake가 제공하는 OCSP 인증서 정보의 대체 원본입니다.
DUO_SECURITYThe host name for the Duo Security service that is used with 다단계 인증(MFA) while authenticating to Snowflake.
OCSP_RESPONDERHost name to contact to verify that the OCSP TLS certificate has not been revoked.
Snowflake 서비스에 비공개 연결을 구성할 때는 이 값이 필요하지 않습니다. 해당 항목의 지침에 따라 허용 목록에 추가할 OCSP 값을 선택합니다.
SNOWSIGHT_DEPLOYMENT_REGIONLESSHost name and port number for your organization to access Snowsight.
자세한 내용은 계정 식별자 및 Snowsight: Snowflake 웹 인터페이스 섹션을 참조하십시오.
SNOWSIGHT_DEPLOYMENTHost name and port number to access Snowsight for your Snowflake account.
hostSpecifies the full host name for
type, for example:"xy12345.east-us-2.azure.snowflakecomputing.com","ocsp.snowflakecomputing.com".portSpecifies 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();샘플 출력:
[ {"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}, ... ]이 샘플 출력에서 다음 사항에 유의하십시오.
가독성을 위해 공백 및 줄 바꿈 문자가 추가되었습니다. 또한, 일부 항목이 생략되었습니다.
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 forSNOWFLAKE_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 | ... | CRL_DISTRIBUTION_POINT | crl.r2m01.amazontrust.com | 80 | ... | OCSP_CACHE | ocsp.snowflakecomputing.com | 80 | | OCSP_RESPONDER | ocsp.sca1b.amazontrust.com | 80 | ... +------------------------+---------------------------------------------------+------+