이 섹션에서는 Google 관리형 인증서에 사용할 DNS 승인을 만들고 관리하는 방법을 설명합니다.
DNS 승인에 대한 자세한 내용은 인증서 관리자 작동 방식을 참조하세요.
인증서 관리자로 인증서를 배포하는 방법은 배포 개요를 참조하세요.
이 페이지에서 사용된 gcloud CLI 명령어에 대한 자세한 내용은 Certificate Manager API를 참조하세요.
DNS 승인 만들기
DNS 승인을 만들려면 이 섹션의 단계를 완료하세요. 각 DNS 승인에는 단일 도메인 이름만 포함되므로 대상 인증서에 사용할 각 도메인 이름에 대한 DNS 승인을 만들어야 합니다.
여러 프로젝트에서 인증서를 독립적으로 관리하려면 프로젝트별 DNS 승인을 사용하면 됩니다. 인증서 관리자는 Google Cloud 내에서 각 프로젝트의 인증서 발급 및 관리를 독립적으로 처리할 수 있습니다. 프로젝트 내에서 사용하는 DNS 승인 및 인증서는 독립 실행형이며 다른 프로젝트의 승인 및 인증서와 상호작용하지 않습니다.
이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.
- 인증서 관리자 편집자
- 인증서 관리자 소유자
자세한 내용은 역할 및 권한을 참조하세요.
gcloud
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
전역 Google 관리형 인증서의 기본 DNS 승인 유형은 FIXED_RECORD
입니다. 프로젝트별 DNS 승인을 사용하려면 다음 명령어를 실행합니다.
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type="PER_PROJECT_RECORD" \ gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
다음을 바꿉니다.
AUTHORIZATION_NAME
: 이 DNS 승인을 설명하는 고유한 이름입니다.DOMAIN_NAME
: 이 DNS 승인을 만들 도메인의 이름입니다. 도메인 이름은myorg.example.com
과 같은 정규화된 도메인 이름이어야 합니다.
이 명령어는 DNS 구성에 추가해야 하는 CNAME 레코드를 반환합니다. 예를 들면 다음과 같습니다.
createTime: '2022-01-14T13:35:00.258409106Z'
dnsResourceRecord:
data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog.
name: _acme-challenge.myorg.example.com.
type: CNAME
domain: myorg.example.com
name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization
updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
DNS 승인을 만들려면 google_certificate_manager_dns_authorization
리소스를 사용하면 됩니다.
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
API
다음과 같이 dnsAuthorizations.create
메서드에 POST
요청을 전송하여 DNS 승인을 만듭니다.
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME" { "domain": "DOMAIN_NAME", }
다음을 바꿉니다.
PROJECT_ID
: 대상 Google Cloud 프로젝트의 ID입니다.AUTHORIZATION_NAME
: 이 DNS 승인을 설명하는 고유한 이름입니다.DOMAIN_NAME
: 이 DNS 승인을 만들 도메인의 이름입니다. 도메인 이름은myorg.example.com
과 같은 정규화된 도메인 이름이어야 합니다.
DNS 구성에 CNAME 레코드 추가
DNS 승인을 만들면 Google Cloud가 검증 하위 도메인의 해당 CNAME 레코드를 반환합니다. 대상 도메인의 DNS 영역에 있는 DNS 구성에 이 CNAME 레코드를 추가해야 합니다. Google Cloud를 사용하여 DNS를 관리하는 경우 이 섹션의 단계를 완료합니다. 그 외의 경우에는 타사 DNS 솔루션 문서를 참조하세요.
인증서 관리자가 이 CNAME 레코드를 사용하여 도메인 소유권을 확인하는 방법에 대한 자세한 내용은 Google 관리형 인증서의 도메인 승인을 참조하세요.
gcloud
DNS 레코드 트랜잭션을 시작합니다.
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
다음을 바꿉니다.
DNS_ZONE_NAME
: 대상 DNS 영역 이름입니다.
대상 DNS 영역에 CNAME 레코드를 추가합니다.
gcloud dns record-sets transaction add CNAME_RECORD \ --name="_acme-challenge.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
다음을 바꿉니다.
CNAME_RECORD
: 해당 DNS 승인을 만든gcloud
명령어가 반환하는 CNAME 레코드의 전체 값입니다.DOMAIN_NAME
: 대상 도메인 이름입니다. 도메인 이름은myorg.example.com
과 같은 정규화된 도메인 이름이어야 합니다. 대상 도메인 이름 뒤에 후행 마침표도 포함해야 합니다.DNS_ZONE_NAME
: 대상 DNS 영역 이름입니다.
DNS 레코드 트랜잭션을 실행하여 변경사항을 저장합니다.
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
다음을 바꿉니다.
DNS_ZONE_NAME
: 대상 DNS 영역 이름입니다.
Terraform
CNAME 레코드를 DNS 구성에 추가하려면 google_dns_record_set
리소스를 사용하면 됩니다.
DNS 레코드에 대한 자세한 내용은 레코드 관리를 참조하세요.
DNS 승인 업데이트
DNS 승인을 업데이트하려면 이 섹션의 단계를 완료하세요. 다음과 같이 DNS 승인을 업데이트할 수 있습니다.
- 새 라벨 지정
- 새 설명 지정
이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.
- 인증서 관리자 편집자
- 인증서 관리자 소유자
자세한 내용은 역할 및 권한을 참조하세요.
gcloud
gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \ --update-labels="LABELS" \ --description="DESCRIPTION"
다음을 바꿉니다.
AUTHORIZATION_NAME
: 대상 DNS 승인의 이름입니다.LABELS
: 이 DNS 승인의 라벨을 지정하는 플래그이며 선택사항입니다.DESCRIPTION
: 이 DNS 승인의 설명을 지정하는 플래그이며 선택사항입니다.
API
다음과 같이 dnsAuthorizations.patch
메서드에 PATCH
요청을 전송하여 DNS 승인을 업데이트합니다.
PATCH /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description" { description: "DESCRIPTION", labels: { "LABEL_KEY": "LABEL_VALUE" } }
다음을 바꿉니다.
PROJECT_ID
: 대상 Google Cloud 프로젝트의 ID입니다.AUTHORIZATION_NAME
: 대상 DNS 승인의 이름입니다.DESCRIPTION
: 이 DNS 승인의 설명을 지정하는 필드이며 선택사항입니다.LABEL_KEY
: 이 DNS 승인에 적용되는 라벨 키입니다.LABEL_VALUE
: 이 DNS 승인에 적용되는 라벨 값입니다.
DNS 승인 나열
구성된 DNS 승인을 나열하려면 이 섹션의 단계를 완료하세요.
이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 다음 역할 중 하나가 있어야 합니다.
- 인증서 관리자 뷰어
- 인증서 관리자 편집자
- 인증서 관리자 소유자
자세한 내용은 역할 및 권한을 참조하세요.
gcloud
gcloud certificate-manager dns-authorizations list \ --filter="FILTER" \ --page-size="PAGE_SIZE" \ --limit="LIMIT" \ --sort-by="SORT_BY"
다음을 바꿉니다.
FILTER
: 반환된 결과를 특정 값으로 제한하는 표현식입니다. 예를 들어 다음 기준에 따라 결과를 필터링할 수 있습니다.- 도메인:
--filter='domain=myorg.example.com'
- 라벨 및 생성 시간:
--filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'
인증서 관리자에서 사용할 수 있는 필터링 예시는 Cloud Key Management Service 문서의 목록 결과 정렬 및 필터링을 참조하세요.
- 도메인:
PAGE_SIZE
: 페이지당 반환할 결과 수입니다.LIMIT
: 반환할 최대 결과 수입니다.SORT_BY
: 쉼표로 구분된name
필드의 목록으로, 반환된 결과가 정렬됩니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 필드 앞에 물결표(~
)를 붙입니다.
API
다음과 같이 dnsAuthorizations.list
메서드에 GET
요청을 전송하여 구성된 모든 DNS 승인을 나열합니다.
GET /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY
다음을 바꿉니다.
PROJECT_ID
: 대상 Google Cloud 프로젝트의 ID입니다.FILTER
: 반환된 결과를 특정 값으로 제한하는 표현식입니다.PAGE_SIZE
: 페이지당 반환할 결과 수입니다.SORT_BY
: 반환된 결과를 정렬하는 쉼표로 구분된 필드 이름 목록입니다. 기본 정렬 순서는 오름차순입니다. 내림차순 정렬의 경우 필드 앞에 물결표(~
)를 붙입니다.
DNS 승인 삭제
DNS 승인을 삭제하려면 이 섹션의 단계를 완료하세요. 하나 이상의 Google 관리형 인증서에 할당된 DNS 승인을 삭제하려면 DNS 승인을 삭제하기 전에 해당 인증서를 삭제해야 합니다.
이 태스크를 완료하려면 대상 Google Cloud 프로젝트에 인증서 관리자 소유자 역할이 있어야 합니다. 자세한 내용은 역할 및 권한을 참조하세요.
gcloud
gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME
다음을 바꿉니다.
AUTHORIZATION_NAME
: 대상 DNS 승인의 이름입니다.
API
다음과 같이 dnsAuthorizations.delete
메서드에 DELETE
요청을 전송하여 DNS 승인을 삭제합니다.
DELETE /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME
다음을 바꿉니다.
PROJECT_ID
: 대상 Google Cloud 프로젝트의 ID입니다.AUTHORIZATION_NAME
: 대상 DNS 승인의 이름입니다.