Esta seção descreve como criar e gerenciar autorizações DNS para uso com certificados gerenciados pelo Google.
Para mais informações sobre autorizações de DNS, consulte Como o Gerenciador de certificados funciona
Para saber como implantar um certificado com o Gerenciador de certificados, consulte a Visão geral da implantação.
Para mais informações sobre os comandos da CLI gcloud usados nesta página, consulte a API Certificate Manager.
Criar uma autorização de DNS
Para criar uma autorização DNS, siga as etapas desta seção. Como cada autorização de DNS abrange apenas um nome de domínio, é necessário criar uma autorização de DNS para cada nome de domínio que você quer usar com o certificado alvo.
Para gerenciar certificados de forma independente em vários projetos, use a autorização de DNS por projeto. O Gerenciador de certificados pode emitir e gerenciar certificados para cada projeto de forma independente no Google Cloud. Autorizações de DNS e os certificados usados em um projeto são autônomos e não interagem com aqueles em outros projetos.
Para concluir esta tarefa, é preciso ter um dos papéis a seguir no destino Projeto do Google Cloud:
- Editor do Gerenciador de certificados
- Proprietário do Gerenciador de certificados
Para mais informações, consulte Papéis e permissões.
gcloud
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
O tipo de autorização de DNS padrão para um certificado global gerenciado pelo Google é FIXED_RECORD
. Para usar a autorização de DNS por projeto,
execute o seguinte comando:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ --type="PER_PROJECT_RECORD" \ gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
Substitua:
AUTHORIZATION_NAME
: um nome exclusivo que descreve essa autorização DNS.DOMAIN_NAME
: o nome do domínio para o qual você está criando essa autorização de DNS. O nome de domínio precisa ser um nome de domínio totalmente qualificado, comomyorg.example.com
.
Esse comando retorna o registro CNAME que você precisa adicionar à sua configuração de DNS. Exemplo:
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
Para criar uma autorização de DNS, use um recurso
google_certificate_manager_dns_authorization
.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
API
Crie uma autorização de DNS fazendo uma solicitação POST
ao dnsAuthorizations.create
da seguinte forma:
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME" { "domain": "DOMAIN_NAME", }
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud de destino.AUTHORIZATION_NAME
: um nome exclusivo que descreve essa autorização DNS.DOMAIN_NAME
: o nome do domínio para o qual você está criando essa autorização de DNS. O nome de domínio precisa ser um nome de domínio totalmente qualificado, comomyorg.example.com
.
Adicionar o registro CNAME à configuração de DNS
Quando você cria uma autorização de DNS, o Google Cloud retorna o registro CNAME correspondente para o subdomínio de validação. Você precisa adicionar esse registro CNAME à configuração de DNS na zona DNS do domínio de destino. Se você estiver usando o Google Cloud para gerenciar seu DNS, siga as etapas desta seção. Caso contrário, consulte a documentação da sua solução de DNS de terceiros.
Para mais informações sobre como o Gerenciador de certificados usa esse registro CNAME para verificar a propriedade do domínio, consulte Autorizações de domínio para certificados gerenciados pelo Google.
gcloud
Inicie a transação do registro DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Substitua:
DNS_ZONE_NAME
: o nome da zona de destino do DNS.
Adicione o registro CNAME à zona DNS de destino:
gcloud dns record-sets transaction add CNAME_RECORD \ --name="_acme-challenge.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Substitua:
CNAME_RECORD
: o valor total do registro CNAME retornados pelo comandogcloud
que criou o DNS autorização.DOMAIN_NAME
: o nome do domínio de destino. O nome de domínio deve ser um nome de domínio totalmente qualificado, comomyorg.example.com
: Você também deve incluir o ponto final após o nome do domínio de destino.DNS_ZONE_NAME
: o nome da zona de DNS de destino.
Execute a transação do registro DNS para salvar as alterações:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Substitua:
DNS_ZONE_NAME
: o nome da zona de DNS de destino.
Terraform
Para adicionar o registro CNAME à configuração do DNS, você pode usar google_dns_record_set
recurso.
Para mais informações sobre registros DNS, consulte Como gerenciar registros.
Atualizar uma autorização de DNS
Para atualizar uma autorização de DNS, siga as etapas desta seção. É possível atualizar uma autorização de DNS da seguinte maneira:
- Especificar novos rótulos
- Especifique uma nova descrição
Para concluir esta tarefa, você precisa ter um dos seguintes papéis no projeto do Google Cloud de destino:
- Editor do Gerenciador de certificados
- Proprietário do Gerenciador de certificados
Para mais informações, consulte Papéis e permissões.
gcloud
gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \ --update-labels="LABELS" \ --description="DESCRIPTION"
Substitua:
AUTHORIZATION_NAME
: o nome da autorização de DNS de destino.LABELS
: uma sinalização opcional que especifica os rótulos das essa autorização de DNS.DESCRIPTION
: uma flag opcional que especifica a descrição dessa autorização DNS.
API
Atualize uma autorização de DNS fazendo uma solicitação PATCH
ao dnsAuthorizations.patch
.
da seguinte forma:
PATCH /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description" { description: "DESCRIPTION", labels: { "LABEL_KEY": "LABEL_VALUE" } }
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud de destino.AUTHORIZATION_NAME
: o nome da autorização DNS de destino.DESCRIPTION
: um campo opcional que especifica a para esta autorização de DNS.LABEL_KEY
: uma chave de rótulo aplicada a esta autorização de DNS.LABEL_VALUE
: um valor de rótulo aplicado a esta autorização de DNS.
Listar autorizações de DNS
Para listar as autorizações de DNS configuradas, conclua as etapas nesta seção.
Para concluir esta tarefa, é preciso ter um dos papéis a seguir no destino Projeto do Google Cloud:
- Leitor do Gerenciador de certificados
- Editor do Gerenciador de certificados
- Proprietário do Gerenciador de certificados
Para mais informações, consulte Papéis e permissões.
gcloud
gcloud certificate-manager dns-authorizations list \ --filter="FILTER" \ --page-size="PAGE_SIZE" \ --limit="LIMIT" \ --sort-by="SORT_BY"
Substitua:
FILTER
: uma expressão que restringe os resultados retornados a valores específicos. Por exemplo, é possível filtrar os resultados pelos seguintes critérios:- Domínio:
--filter='domain=myorg.example.com'
- Rótulos e horário da criação:
--filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'
Para mais exemplos de filtragem que você pode usar com Gerenciador de certificados, consulte Como classificar e filtrar resultados da lista na documentação do Cloud Key Management Service.
- Domínio:
PAGE_SIZE
: o número de resultados a serem retornados por página.LIMIT
: o número máximo de resultados a serem retornados.SORT_BY
: uma lista delimitada por vírgulas de camposname
por quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para uma ordem de classificação decrescente, prefixe o campo com um til (~
).
API
Liste todas as autorizações DNS configuradas fazendo uma solicitação GET
para
o método dnsAuthorizations.list
da seguinte maneira:
GET /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY
Substitua:
PROJECT_ID
: o ID do projeto de destino do Google Cloud.FILTER
: uma expressão que restringe os resultados retornados a valores específicos.PAGE_SIZE
: o número de resultados que serão retornados por página.SORT_BY
: uma lista delimitada por vírgulas de nomes de campo pelos quais os resultados retornados são classificados. A ordem de classificação padrão é crescente. Para uma ordem de classificação decrescente, prefixe o campo com um til (~
).
Excluir uma autorização de DNS
Para excluir uma autorização de DNS, siga as etapas desta seção. Para excluir um Autorização de DNS atribuída a uma ou mais contas gerenciadas pelo Google, exclua esses certificados antes de excluir a autorização de DNS.
Para concluir esta tarefa, você precisa ter a função de proprietário do administrador de certificados no projeto do Google Cloud de destino. Para mais informações, consulte Papéis e permissões.
gcloud
gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME
Substitua:
AUTHORIZATION_NAME
: o nome da autorização de DNS de destino.
API
Exclua uma autorização DNS fazendo uma solicitação DELETE
ao
método dnsAuthorizations.delete
da seguinte maneira:
DELETE /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME
Substitua:
PROJECT_ID
: o ID do projeto de destino do Google Cloud.AUTHORIZATION_NAME
: o nome da autorização de DNS de destino.
A seguir
- Gerenciar certificados
- Gerenciar mapas de certificados
- Gerenciar entradas do mapa de certificados
- Gerenciar configurações de emissão de certificados