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."
}