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 L'autorizzazione DNS copre un solo nome di dominio, devi creare un DNS autorizzazione per ogni nome di dominio che vuoi utilizzare con il target certificato.

Per gestire in modo indipendente i certificati tra più progetti, puoi utilizzare autorizzazione DNS per progetto. Certificate Manager può gestire l'emissione e la gestione dei certificati per ogni progetto in modo indipendente in 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, vedi 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 globale gestito da Google è FIXED_RECORD. Per usare l'autorizzazione DNS per progetto, 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 cui sei 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 che devi aggiungere al DNS. configurazione. 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 lo descrive Autorizzazione DNS.
  • DOMAIN_NAME: il nome del dominio per cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome completo nome di dominio, ad esempio myorg.example.com.

Aggiungi il record CNAME alla configurazione DNS

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

Per ulteriori informazioni su come Gestore certificati utilizza questo record CNAME per verificare la proprietà del dominio, vedi 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.

Aggiorna un'autorizzazione DNS

Per aggiornare un'autorizzazione DNS, completa la procedura descritta in questa sezione. Puoi aggiorna un'autorizzazione DNS come segue:

  • Specifica nuove etichette
  • Specifica una nuova descrizione

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

  • Certificate Manager Editor
  • Certificate Manager Owner

Per ulteriori informazioni, vedi 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 di 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 di etichetta applicato a questa autorizzazione DNS.

Elenca le autorizzazioni DNS

Per elencare le autorizzazioni DNS configurate, completa i passaggi in questo .

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, 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 la condizione restituita a valori specifici. Ad esempio, puoi filtrare i risultati per i 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 filtro che puoi utilizzare con Gestore certificati consulta Ordinare e filtrare i risultati dell'elenco. disponibile 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 di name campi delimitato da virgole in base a in cui vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per un ordinamento decrescente, aggiungi una tilde (~) al campo prima del termine.

API

Elenca tutte le autorizzazioni DNS configurate effettuando una richiesta GET a il 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 la condizione restituita a valori specifici.
  • PAGE_SIZE: il numero di risultati da restituire per pagina.
  • SORT_BY: un elenco di nomi di campi delimitato da virgole in base al quale i risultati restituiti vengono ordinati. 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 la procedura descritta 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 certificati nella 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 del DNS di destinazione autorizzazione.

Passaggi successivi