- 카테고리:
시스템 함수 (시스템 정보)
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 캐시에 액세스합니다.
OCSP_CLIENT_FAILOVER
Client Redirect 에 대해 Snowflake가 제공하는 OCSP 인증서 정보의 대체 원본입니다.
DUO_SECURITY
Snowflake에 인증하는 동안 다단계 인증(MFA) 과 함께 사용되는 Duo Security 서비스의 호스트 이름입니다.
OCSP_RESPONDER
OCSP TLS 인증서가 해지되지 않았는지 확인하기 위해 연결할 호스트 이름입니다.
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
)에 대한 여러 항목이 포함될 수 있습니다.경우에 따라 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":"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 | ... +-----------------------+---------------------------------------------------+------+