Gestione delle autorizzazioni DNS

Questa sezione descrive come creare e gestire le autorizzazioni DNS da utilizzare con i certificati gestiti da Google.

Per maggiori informazioni sulle autorizzazioni DNS, consulta Come funziona Gestore certificati.

Per scoprire come eseguire il deployment di un certificato con Gestore certificati, consulta Panoramica del deployment.

Per ulteriori informazioni sui comandi dell'interfaccia a riga della gcloud CLI utilizzati in questa pagina, consulta l'API Certificate Manager.

Crea un'autorizzazione DNS

Per creare un'autorizzazione DNS, completa i passaggi descritti in questa sezione. Poiché ogni autorizzazione DNS copre un solo nome di dominio, devi creare un'autorizzazione DNS per ogni nome di dominio che vuoi utilizzare con il certificato di destinazione.

Per gestire i certificati in modo indipendente in più progetti, puoi utilizzare l'autorizzazione DNS per progetto (anteprima). Gestore certificati è in grado di gestire l'emissione e la gestione dei certificati per ogni progetto in modo indipendente all'interno di Google Cloud. Le autorizzazioni e i certificati DNS che utilizzi all'interno di un progetto sono autonomi e non interagiscono con questi utenti in altri progetti.

Per completare questa attività, devi avere uno dei seguenti ruoli nel progetto Google Cloud di destinazione:

  • Editor gestore certificati
  • Proprietario gestore certificati

Per ulteriori informazioni, consulta Ruoli e autorizzazioni.

gcloud

 gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
     --domain="DOMAIN_NAME" \
 gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Per utilizzare l'autorizzazione DNS per progetto (anteprima), esegui questo comando:

gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
    --domain="DOMAIN_NAME" \
    --type="PER_PROJECT_RECORD" \
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME

Sostituisci quanto segue:

  • AUTHORIZATION_NAME: un nome univoco che descrive questa autorizzazione DNS.
  • DOMAIN_NAME: il nome del dominio per il quale stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, come myorg.example.com.

Questo comando restituisce il record CNAME che devi aggiungere alla configurazione DNS. Ad esempio:

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

Per creare un'autorizzazione DNS, puoi utilizzare una risorsa google_certificate_manager_dns_authorization.

resource "google_certificate_manager_dns_authorization" "default" {
  name        = "${local.name}-dnsauth-${random_id.tf_prefix.hex}"
  description = "The default dns auth"
  domain      = local.domain
  labels = {
    "terraform" : true
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

API

Crea un'autorizzazione DNS inviando una richiesta POST al metodo dnsAuthorizations.create, come indicato di seguito:

POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME"
{
  "domain": "DOMAIN_NAME",
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.
  • AUTHORIZATION_NAME: un nome univoco che descrive questa autorizzazione DNS.
  • DOMAIN_NAME: il nome del dominio per il quale stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, come myorg.example.com.

Aggiungere il record CNAME alla configurazione DNS

Quando crei un'autorizzazione DNS, Google Cloud restituisce il record CNAME corrispondente per il sottodominio di convalida. Devi aggiungere questo record CNAME alla configurazione DNS nella zona DNS del dominio di destinazione. Se utilizzi Google Cloud per gestire il tuo DNS, completa i passaggi descritti in questa sezione. In caso contrario, consulta la documentazione della tua soluzione DNS di terze parti.

Per ulteriori informazioni su come Gestore certificati utilizza questo record CNAME per verificare la proprietà del dominio, consulta Autorizzazioni di dominio per i certificati gestiti da Google.

gcloud

  1. Avvia la transazione del record DNS:

    gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
    

    Sostituisci quanto segue:

    • DNS_ZONE_NAME: il nome della zona DNS di destinazione.
  2. Aggiungi il record CNAME alla zona DNS di destinazione:

    gcloud dns record-sets transaction add CNAME_RECORD \
       --name="_acme-challenge.DOMAIN_NAME." \
       --ttl="30" \
       --type="CNAME" \
       --zone="DNS_ZONE_NAME"
    

    Sostituisci quanto segue:

    • CNAME_RECORD: il valore completo del record CNAME restituito dal comando gcloud che ha creato l'autorizzazione DNS corrispondente.
    • DOMAIN_NAME: il nome del dominio di destinazione. Il nome di dominio deve essere un nome di dominio completo, come myorg.example.com. Devi includere anche il punto finale dopo il nome di dominio di destinazione.
    • DNS_ZONE_NAME: il nome della zona DNS di destinazione.
  3. Esegui la transazione del record DNS per salvare le modifiche:

    gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
    

    Sostituisci quanto segue:

    • DNS_ZONE_NAME: il nome della zona DNS di destinazione.

Terraform

Per aggiungere il record CNAME alla configurazione DNS, puoi utilizzare una risorsa google_dns_record_set.

resource "google_dns_record_set" "cname" {
  name         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].name
  managed_zone = google_dns_managed_zone.default.name
  type         = google_certificate_manager_dns_authorization.default.dns_resource_record[0].type
  ttl          = 300
  rrdatas      = [google_certificate_manager_dns_authorization.default.dns_resource_record[0].data]
}

Per ulteriori informazioni sui record DNS, consulta Gestione dei record.

Aggiorna un'autorizzazione DNS

Per aggiornare un'autorizzazione DNS, completa i passaggi descritti in questa sezione. Puoi aggiornare un'autorizzazione DNS come segue:

  • Specifica nuove etichette
  • Specifica una nuova descrizione

Per completare questa attività, devi avere uno dei seguenti ruoli nel progetto Google Cloud di destinazione:

  • Editor gestore certificati
  • Proprietario gestore certificati

Per ulteriori informazioni, consulta Ruoli e autorizzazioni.

gcloud

 gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \
     --update-labels="LABELS" \
     --description="DESCRIPTION"

Sostituisci quanto segue:

  • AUTHORIZATION_NAME: il nome dell'autorizzazione DNS di destinazione.
  • LABELS: un flag facoltativo che specifica le etichette per questa autorizzazione DNS.
  • DESCRIPTION: un flag facoltativo che specifica la descrizione di questa autorizzazione DNS.

API

Aggiorna un'autorizzazione DNS inviando una richiesta PATCH al metodo dnsAuthorizations.patch, come indicato di seguito:

PATCH /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description"
{
    description: "DESCRIPTION",
    labels: { "LABEL_KEY": "LABEL_VALUE" }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.
  • AUTHORIZATION_NAME: il nome dell'autorizzazione DNS di destinazione.
  • DESCRIPTION: un campo facoltativo che specifica la descrizione di questa autorizzazione DNS.
  • LABEL_KEY: una chiave di etichetta applicata a questa autorizzazione DNS.
  • LABEL_VALUE: un valore di etichetta applicato a questa autorizzazione DNS.

Elenca autorizzazioni DNS

Per elencare le autorizzazioni DNS configurate, completa i passaggi descritti in questa sezione.

Per completare questa attività, devi avere uno dei seguenti ruoli nel progetto Google Cloud di destinazione:

  • Visualizzatore gestore certificati
  • Editor gestore certificati
  • Proprietario gestore certificati

Per ulteriori informazioni, vedi Ruoli e autorizzazioni.

gcloud

gcloud certificate-manager dns-authorizations list \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

Sostituisci quanto segue:

  • FILTER: un'espressione che vincola i risultati restituiti a valori specifici. Ad esempio, puoi filtrare i risultati in base ai seguenti criteri:

    • Dominio: --filter='domain=myorg.example.com'
    • Etichette e data di creazione: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Per altri esempi di filtro che puoi utilizzare con Certificate Manager, vedi Ordinamento e filtro dei risultati degli elenchi nella documentazione di Cloud Key Management Service.

  • PAGE_SIZE: il numero di risultati da restituire per ogni pagina.

  • LIMIT: il numero massimo di risultati da restituire.

  • SORT_BY: un elenco delimitato da virgole di campi name in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per un ordinamento decrescente, anteponi una tilde (~) al campo.

API

Elenca tutte le autorizzazioni DNS configurate effettuando una richiesta GET al metodo dnsAuthorizations.list come segue:

GET /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.
  • FILTER: un'espressione che vincola i risultati restituiti a valori specifici.
  • PAGE_SIZE: il numero di risultati da restituire per ogni pagina.
  • SORT_BY: un elenco delimitato da virgole di nomi di campi in base ai quali sono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per un ordinamento decrescente, anteponi una tilde (~) al campo.

Elimina un'autorizzazione DNS

Per eliminare un'autorizzazione DNS, completa i passaggi descritti in questa sezione. Per eliminare un'autorizzazione DNS assegnata a uno o più certificati gestiti da Google, devi eliminarli prima di poter eliminare l'autorizzazione DNS.

Per completare questa attività, devi disporre del ruolo Proprietario gestore certificati nel progetto Google Cloud di destinazione. Per ulteriori informazioni, consulta Ruoli e autorizzazioni.

gcloud

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME

Sostituisci quanto segue:

  • AUTHORIZATION_NAME: il nome dell'autorizzazione DNS di destinazione.

API

Elimina un'autorizzazione DNS inviando una richiesta DELETE al metodo dnsAuthorizations.delete, come segue:

DELETE /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud di destinazione.
  • AUTHORIZATION_NAME: il nome dell'autorizzazione DNS di destinazione.

Passaggi successivi