SYSTEM$VERIFY_DNS_DOMAIN

SYSTEM$VERIFY_DNS_DOMAIN

도메인 검증(domain verification)을 위해 이메일 도메인을 등록하고, 소유권을 증명하기 위해 계정이 게시해야 할 DNS TXT 레코드 값을 돌려주는 시스템 함수예요. 같은 도메인에 대한 이후 호출은 게시된 TXT 레코드를 확인하고 도메인의 검증 상태를 갱신해요.

출처: 공식 문서

본문

도메인 검증을 위해 이메일 도메인을 등록하고, 계정이 소유권을 증명하기 위해 게시해야 할 DNS TXT 레코드 값을 반환합니다. 같은 도메인에 대한 이후 호출은 게시된 TXT 레코드를 확인하고 도메인의 검증 상태를 갱신합니다.

참고 (See also): SYSTEM$UNVERIFY_DNS_DOMAIN

구문 (Syntax)

SYSTEM$VERIFY_DNS_DOMAIN( '<domain_name>' )

인자 (Arguments)

'domain_name'

검증할 이메일 도메인(예: example.com). 값은 소문자로 정규화되며 구문적으로 유효한 도메인 이름이어야 합니다.

반환값 (Returns)

다음 필드를 가진 JSON 객체:

txt_record

도메인의 DNS 공급자에 게시할 전체 TXT 레코드 값(예: snowflake-verification=550e8400-e29b-41d4-a716-446655440000).

domain

정규화된 도메인 이름.

message

현재 검증 상태를 설명하는 사람이 읽을 수 있는 상태 메시지.

접근 제어 요구 사항

호출자는 계정에 대한 MODIFY 권한이 있어야 합니다.

사용 참고 (Usage notes)

  • 호출은 멱등(idempotent)입니다. 이미 등록된 도메인에 대해 함수를 호출하면 검증 토큰을 회전시키는 대신 같은 검증 토큰을 반환합니다.
  • 함수는 도메인이 Pending(보류 중), Grace period(유예 기간) 또는 Unverified(미검증) 상태일 때마다 즉시(just-in-time) 검증 확인을 수행합니다. TXT 레코드를 게시한 뒤 함수를 호출해 도메인을 Verified(검증됨) 상태로 전환하세요.
  • 검증은 호출 계정의 조직(organization) 범위로 한정됩니다. 도메인의 사용자는 해당 조직 전체에서 검증된 이메일을 가진 것으로 취급됩니다.
  • 검증 흐름, 유예 기간 모델, 개별 이메일 검증과의 관계에 대한 배경은 Domain verification을 참고하세요.

예제 (Examples)

도메인을 등록하고 해당 TXT 레코드를 얻습니다:

SELECT SYSTEM$VERIFY_DNS_DOMAIN('example.com');

샘플 응답(가독성을 위해 포맷됨):

{
  "txt_record": "snowflake-verification=550e8400-e29b-41d4-a716-446655440000",
  "domain": "example.com",
  "message": "Domain example.com is pending verification. Add the following DNS TXT record to verify ownership: snowflake-verification=550e8400-e29b-41d4-a716-446655440000"
}

DNS 공급자에 TXT 레코드를 게시한 뒤 검증을 트리거하기 위해 함수를 다시 호출합니다:

SELECT SYSTEM$VERIFY_DNS_DOMAIN('example.com');

성공적인 검증 후의 샘플 응답:

{
  "txt_record": "snowflake-verification=550e8400-e29b-41d4-a716-446655440000",
  "domain": "example.com",
  "message": "Domain example.com is verified."
}

더 알아보기 (Learn more)