Gestione delle autorizzazioni DNS

Questa sezione descrive come creare e gestire le autorizzazioni DNS per l'utilizzo con i certificati gestiti da Google.

Per ulteriori informazioni sulle autorizzazioni DNS, consulta Come funziona Certificate Manager.

Per scoprire come eseguire il deployment di un certificato con Certificate Manager, consulta la Panoramica del deployment.

Per ulteriori informazioni sui comandi dell'interfaccia a riga di comando gcloud 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 in modo indipendente i certificati in più progetti, puoi utilizzare l'autorizzazione DNS per progetto. Certificate Manager può 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 autocontenuti e non interagiscono con quelli di altri progetti.

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

  • Certificate Manager Editor
  • Certificate Manager Owner

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

Il tipo di autorizzazione DNS predefinito per un certificato gestito da Google globale è FIXED_RECORD. Per utilizzare l'autorizzazione DNS per progetto, esegui il seguente 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 cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, ad esempio myorg.example.com.

Questo comando restituisce il record CNAME da 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 google_certificate_manager_dns_authorization risorsa.

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 segue:

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 cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, ad esempio myorg.example.com.

Aggiungi 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 DNS, completa i passaggi riportati in questa sezione. In caso contrario, consulta la documentazione della soluzione DNS di terze parti.

Per ulteriori informazioni su come Certificate Manager 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 fornito 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, ad esempio myorg.example.com. Devi anche includere 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 google_dns_record_set risorsa.

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 Gestire i record.

Aggiornare un'autorizzazione DNS

Per aggiornare un'autorizzazione DNS, completa i passaggi descritti in questa sezione. Puoi aggiornare un'autorizzazione DNS nel seguente modo:

  • Specificare nuove etichette
  • Specifica una nuova descrizione

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

  • Certificate Manager Editor
  • Certificate Manager Owner

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 segue:

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 dell'etichetta applicata a questa autorizzazione DNS.
  • LABEL_VALUE: un valore dell'etichetta applicato a questa autorizzazione DNS.

Elenca le autorizzazioni DNS

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

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

  • Certificate Manager Viewer
  • Certificate Manager Editor
  • Certificate Manager Owner

Per ulteriori informazioni, consulta 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 limita 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/ora di creazione: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Per altri esempi di filtri che puoi utilizzare con Gestore dei certificati, consulta Ordinare e filtrare i risultati dell'elenco nella documentazione di Cloud Key Management Service.

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

  • LIMIT: il numero massimo di risultati da restituire.

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

API

Elenca tutte le autorizzazioni DNS configurate inviando 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 limita i risultati restituiti a valori specifici.
  • PAGE_SIZE: il numero di risultati da restituire per pagina.
  • SORT_BY: un elenco separato da virgole di nomi di campi in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per un ordine di ordinamento decrescente, anteponi al campo un apostrofo (~).

Eliminare 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 eliminare questi certificati prima di poter eliminare l'autorizzazione DNS.

Per completare questa attività, devi disporre del ruolo Proprietario gestore dei 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