Le autorizzazioni DNS ti consentono di dimostrare la proprietà dei domini per i certificati gestiti da Google. Quando crei un certificato gestito da Google, puoi specificare una o più autorizzazioni DNS da utilizzare per il provisioning e il rinnovo.
Questa pagina descrive come creare e gestire le autorizzazioni DNS per l'utilizzo con i certificati gestiti da Google.
Per ulteriori informazioni, consulta Autorizzazioni dei domini.
Crea un'autorizzazione DNS
Un'autorizzazione DNS copre un solo nome di dominio. Devi creare un'autorizzazione DNS distinta per ogni nome di dominio che vuoi utilizzare con il certificato di destinazione.
Se stai creando un'autorizzazione DNS per un certificato con caratteri jolly, ad esempio *.myorg.example.com
, configura l'autorizzazione DNS per il dominio principale, ad esempio myorg.example.com
.
Per gestire in modo indipendente i certificati in più progetti, puoi utilizzare
PER_PROJECT_RECORD
l'autorizzazione DNS.
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.
Console
Puoi creare un'autorizzazione DNS o collegarne una esistente quando crei un certificato. Per ulteriori informazioni, consulta Creare un certificato gestito da Google che fa riferimento all'autorizzazione DNS.
gcloud
Per creare un'autorizzazione DNS, utilizza il comando certificate-manager
dns-authorizations create
:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \ --domain="DOMAIN_NAME" \ [--type=TYPE] \ [–-location="LOCATION"]
Sostituisci quanto segue:
AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.DOMAIN_NAME
: il nome del dominio di destinazione per cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.example.com
.TYPE
: il tipo di autorizzazione DNS. Puoi specificareFIXED_RECORD
oPER_PROJECT_RECORD
. Per ulteriori informazioni, vedi Autorizzazione DNS.LOCATION
: la posizione Google Cloud di destinazione in cui crei l'autorizzazione DNS.
Dopo aver creato l'autorizzazione DNS, verificala con il
comando certificate-manager dns-authorizations describe
:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
L'output è simile al seguente. Nell'output, individua la riga dnsResourceRecord
e recupera il record CNAME
(data
, name
e type
) da aggiungere alla configurazione DNS.
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
.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
API
Per creare un'autorizzazione DNS, invia una richiesta POST
al metodo dnsAuthorizations.create
:
POST /v1/projects/PROJECT_ID/locations/LOCATION/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME" { "domain": "DOMAIN_NAME", "type": "PER_PROJECT_RECORD" //optional }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud.LOCATION
: la posizione Google Cloud di destinazione in cui crei l'autorizzazione DNS. Per la località globale, utilizzaglobal
.AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.DOMAIN_NAME
: il nome del dominio di destinazione per cui stai creando questa autorizzazione DNS. Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.example.com
.
Aggiungi il record CNAME alla configurazione DNS
Se utilizzi una soluzione DNS di terze parti per gestire il tuo DNS, consulta la relativa documentazione per aggiungere il record CNAME alla configurazione DNS. Se utilizzi Google Cloud per gestire il tuo DNS, completa i passaggi descritti in questa sezione.
Console
Per creare un insieme di record:
Nella console Google Cloud, vai alla pagina Zone DNS.
Fai clic sul nome della zona DNS in cui vuoi aggiungere il record.
Nella pagina Dettagli zona, fai clic su Aggiungi standard.
Nella pagina Crea set di record, inserisci il sottodominio della zona DNS nel campo Nome DNS.
Quando inserisci il nome del sottodominio, assicurati che il nome del sottodominio, incluso il testo disattivato visualizzato nel campo Nome DNS, corrisponda al valore completo del campo
dnsResourceRecord.name
visualizzato nell'output del comandogcloud certificate-manager dns-authorizations describe
.Vedi i seguenti esempi:
Se il valore del campo
dnsResourceRecord.name
è_acme-challenge.myorg.example.com.
e il testo non selezionabile nel nome DNS è.example.com.
, inserisci_acme-challenge.myorg
.Se il valore del campo
dnsResourceRecord.name
è_acme-challenge.myorg.example.com.
e il testo non selezionabile nel nome DNS è.myorg.example.com.
, inserisci_acme-challenge
.Se il valore del campo
dnsResourceRecord.name
è_acme-challenge_ujmmovf2vn55tgye.myorg.example.com.
e il testo disattivato nel campo Nome DNS è.myorg.example.com.
, inserisci_acme-challenge_ujmmovf2vn55tgye
.
Nel campo Tipo di record risorsa, seleziona CNAME.
Nel campo TTL, inserisci un valore numerico positivo per la durata del record della risorsa, ovvero per quanto tempo può essere memorizzato nella cache.
Nell'elenco Unità TTL, seleziona l'unità di tempo, ad esempio
30 minutes
.Nel campo Nome canonico, inserisci il valore completo del campo
dnsResourceRecord.data
visualizzato nell'output del comandogcloud certificate-manager dns-authorizations describe
.Per inserire ulteriori informazioni, fai clic su Aggiungi elemento.
Fai clic su Crea.
gcloud
Quando crei un'autorizzazione DNS, il comando gcloud CLI restituisce il record CNAME corrispondente. Per aggiungere il record CNAME alla configurazione DNS nella zona DNS del dominio di destinazione, segui questi passaggi:
Avvia la transazione del record DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
Sostituisci
DNS_ZONE_NAME
con il nome della zona DNS di destinazione.Aggiungi il record CNAME alla zona DNS di destinazione:
gcloud dns record-sets transaction add CNAME_RECORD \ --name="VALIDATION_SUBDOMAIN_NAME.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"
Sostituisci quanto segue:
CNAME_RECORD
: il valore dei dati completo del record CNAME restituito dal comando Google Cloud CLI che ha creato l'autorizzazione DNS corrispondente.VALIDATION_SUBDOMAIN_NAME
: il prefisso del sottodominio della zona DNS, ad esempio_acme-challenge
. Puoi copiare il nome dal log dei comandigcloud certificate-manager dns-authorizations describe
, come descritto in Creare un'autorizzazione DNS.DOMAIN_NAME
: il nome del dominio di destinazione.Il nome di dominio deve essere un nome di dominio completo, ad esempiomyorg.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.
Vedi il seguente esempio:
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"
Esegui la transazione del record DNS per salvare le modifiche:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
Sostituisci
DNS_ZONE_NAME
con il nome della zona DNS di destinazione.
Terraform
Per aggiungere il record CNAME alla configurazione DNS, puoi utilizzare una
risorsa google_dns_record_set
.
Aggiornare un'autorizzazione DNS
Quando aggiorni un'autorizzazione DNS, puoi:
- Specificare nuove etichette
- Specifica una nuova descrizione
gcloud
Per aggiornare un'autorizzazione DNS, utilizza il certificate-manager dns-authorizations
update
comando:
gcloud certificate-manager dns-authorizations update AUTHORIZATION_NAME \ [--update-labels="LABELS"] \ [--description="DESCRIPTION"] \ [--location="LOCATION"]
Sostituisci quanto segue:
AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.LABELS
: le etichette per questa autorizzazione DNS. Questo flag è facoltativo.DESCRIPTION
: descrizione di questa autorizzazione DNS. Questo flag è facoltativo.LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.
API
Aggiorna un'autorizzazione DNS inviando una richiesta PATCH
al metodo dnsAuthorizations.patch
come segue:
PATCH /v1/projects/PROJECT_ID/locations/LOCATION/dnsAuthorizations/AUTHORIZATION_NAME?updateMask=labels,description" { description: "DESCRIPTION", labels: { "LABEL_KEY": "LABEL_VALUE" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud.LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.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
Puoi vedere tutte le autorizzazioni DNS del tuo progetto e i relativi dettagli.
gcloud
Per elencare le autorizzazioni DNS, utilizza il certificate-manager dns-authorizations
list
comando:
gcloud certificate-manager dns-authorizations list \ --filter="FILTER" \ --page-size="PAGE_SIZE" \ --limit="LIMIT" \ --sort-by="SORT_BY" \ [--location="LOCATION"]
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.
- Dominio:
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 campiname
in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per l'ordinamento decrescente, anteponi al campo un a capo (~
).LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.
API
Elenca tutte le autorizzazioni DNS configurate inviando una richiesta GET
al metodo dnsAuthorizations.list
come segue:
GET /v1/projects/PROJECT_ID/locations/LOCATION/dnsAuthorizations?filter=FILTER&pageSize=PAGE_SIZE&sortBy=SORT_BY
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud.LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.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"'
- Dominio:
PAGE_SIZE
: il numero di risultati da restituire per pagina.SORT_BY
: un elenco separato da virgole di campiname
in base ai quali vengono ordinati i risultati restituiti. L'ordinamento predefinito è crescente. Per un ordinamento decrescente, anteponi al campo un a capo (~
).
Eliminare un'autorizzazione DNS
Per eliminare un'autorizzazione DNS assegnata ai certificati gestiti da Google, elimina i certificati prima di eliminare l'autorizzazione DNS.
gcloud
Per eliminare un'autorizzazione DNS, utilizza il certificate-manager dns-authorizations
delete
comando:
gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME \ [--location="LOCATION"]
Sostituisci quanto segue:
AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.
API
Elimina un'autorizzazione DNS inviando una richiesta DELETE
al metodo dnsAuthorizations.delete
come segue:
DELETE /v1/projects/PROJECT_ID/locations/LOCATION>/dnsAuthorizations/AUTHORIZATION_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud.LOCATION
: la località Google Cloud di destinazione. La posizione predefinita èglobal
.AUTHORIZATION_NAME
: il nome dell'autorizzazione DNS.
Passaggi successivi
- Gestire i certificati
- Gestire le mappe dei certificati
- Gestire le voci delle mappe dei certificati
- Gestire le risorse di configurazione dell'emissione dei certificati