Gérer les autorisations DNS

Cette section explique comment créer et gérer des autorisations DNS à utiliser avec des certificats gérés par Google.

Pour en savoir plus sur les autorisations DNS, consultez la page Fonctionnement du gestionnaire de certificats.

Pour savoir comment déployer un certificat avec le gestionnaire de certificats, consultez la section Présentation du déploiement.

Pour en savoir plus sur les commandes de gcloud CLI utilisées sur cette page, consultez la page API Certificate Manager.

Créer une autorisation DNS

Pour créer une autorisation DNS, procédez comme indiqué dans cette section. Étant donné que chaque autorisation DNS ne couvre qu'un seul nom de domaine, vous devez créer une autorisation DNS pour chaque nom de domaine que vous souhaitez utiliser avec le certificat cible.

Pour gérer indépendamment les certificats de plusieurs projets, vous pouvez utiliser l'autorisation DNS par projet (version preview). Le gestionnaire de certificats peut gérer l'émission et la gestion des certificats pour chaque projet indépendamment dans Google Cloud. Les autorisations et certificats DNS que vous utilisez dans un projet sont autonomes et n'interagissent pas avec ceux d'autres projets.

Pour effectuer cette tâche, vous devez disposer de l'un des rôles suivants sur le projet Google Cloud cible:

  • Éditeur du gestionnaire de certificats
  • Propriétaire du gestionnaire de certificats

Pour en savoir plus, consultez la section Rôles et autorisations.

gcloud

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

Pour utiliser l'autorisation DNS par projet (Preview), exécutez la commande suivante:

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

Remplacez les éléments suivants :

  • AUTHORIZATION_NAME: nom unique qui décrit cette autorisation DNS.
  • DOMAIN_NAME: nom du domaine pour lequel vous créez cette autorisation DNS. Le nom de domaine doit être un nom de domaine complet, par exemple myorg.example.com.

Cette commande renvoie l'enregistrement CNAME que vous devez ajouter à votre configuration DNS. Exemple :

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

Pour créer une autorisation DNS, vous pouvez utiliser une ressource 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
  }
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

API

Créez une autorisation DNS en envoyant une requête POST à la méthode dnsAuthorizations.create comme suit:

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud cible.
  • AUTHORIZATION_NAME: nom unique qui décrit cette autorisation DNS.
  • DOMAIN_NAME: nom du domaine pour lequel vous créez cette autorisation DNS. Le nom de domaine doit être un nom de domaine complet, par exemple myorg.example.com.

Ajouter l'enregistrement CNAME à votre configuration DNS

Lorsque vous créez une autorisation DNS, Google Cloud renvoie l'enregistrement CNAME correspondant pour le sous-domaine de validation. Vous devez ajouter cet enregistrement CNAME à votre configuration DNS dans la zone DNS du domaine cible. Si vous utilisez Google Cloud pour gérer votre DNS, suivez la procédure décrite dans cette section. Sinon, consultez la documentation de votre solution DNS tierce.

Pour en savoir plus sur la manière dont le gestionnaire de certificats utilise cet enregistrement CNAME pour valider la propriété du domaine, consultez la section Autorisations de domaine pour les certificats gérés par Google.

gcloud

  1. Lancez la transaction d'enregistrement DNS :

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

    Remplacez les éléments suivants :

    • DNS_ZONE_NAME: nom de la zone DNS cible.
  2. Ajoutez l'enregistrement CNAME à la zone DNS cible :

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

    Remplacez les éléments suivants :

    • CNAME_RECORD: valeur complète de l'enregistrement CNAME renvoyé par la commande gcloud qui a créé l'autorisation DNS correspondante.
    • DOMAIN_NAME: nom du domaine cible. Le nom de domaine doit être un nom de domaine complet, tel que myorg.example.com. Vous devez également inclure le point final après le nom de domaine cible.
    • DNS_ZONE_NAME: nom de la zone DNS cible.
  3. Exécutez la transaction d'enregistrement DNS pour enregistrer vos modifications :

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

    Remplacez les éléments suivants :

    • DNS_ZONE_NAME: nom de la zone DNS cible.

Terraform

Pour ajouter l'enregistrement CNAME à votre configuration DNS, vous pouvez utiliser une ressource 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]
}

Pour en savoir plus sur les enregistrements DNS, consultez la page Gérer les enregistrements.

Mettre à jour une autorisation DNS

Pour mettre à jour une autorisation DNS, procédez comme indiqué dans cette section. Vous pouvez mettre à jour une autorisation DNS comme suit:

  • Spécifier de nouvelles étiquettes
  • Saisir une nouvelle description

Pour effectuer cette tâche, vous devez disposer de l'un des rôles suivants sur le projet Google Cloud cible:

  • Éditeur du gestionnaire de certificats
  • Propriétaire du gestionnaire de certificats

Pour en savoir plus, consultez la section Rôles et autorisations.

gcloud

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

Remplacez les éléments suivants :

  • AUTHORIZATION_NAME: nom de l'autorisation DNS cible.
  • LABELS: option facultative spécifiant les étiquettes de cette autorisation DNS.
  • DESCRIPTION: option facultative spécifiant la description de cette autorisation DNS.

API

Mettez à jour une autorisation DNS en envoyant une requête PATCH à la méthode dnsAuthorizations.patch comme suit:

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud cible.
  • AUTHORIZATION_NAME: nom de l'autorisation DNS cible.
  • DESCRIPTION: champ facultatif qui spécifie la description de cette autorisation DNS.
  • LABEL_KEY: clé d'étiquette appliquée à cette autorisation DNS.
  • LABEL_VALUE: valeur de libellé appliquée à cette autorisation DNS.

Lister les autorisations DNS

Pour répertorier les autorisations DNS configurées, suivez la procédure décrite dans cette section.

Pour effectuer cette tâche, vous devez disposer de l'un des rôles suivants sur le projet Google Cloud cible:

  • Lecteur du gestionnaire de certificats
  • Éditeur du gestionnaire de certificats
  • Propriétaire du gestionnaire de certificats

Pour en savoir plus, consultez la section Rôles et autorisations.

gcloud

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

Remplacez les éléments suivants :

  • FILTER: expression qui limite les résultats renvoyés à des valeurs spécifiques. Par exemple, vous pouvez filtrer les résultats en fonction des critères suivants:

    • Domaine : --filter='domain=myorg.example.com'
    • Étiquettes et date et heure de création: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Pour plus d'exemples de filtrage utilisables avec le gestionnaire de certificats, consultez la section Trier et filtrer les résultats d'une liste dans la documentation de Cloud Key Management Service.

  • PAGE_SIZE: nombre de résultats à renvoyer par page.

  • LIMIT: nombre maximal de résultats à renvoyer.

  • SORT_BY: liste de champs name séparés par une virgule en fonction desquels les résultats renvoyés sont triés. Par défaut, l'ordre de tri est croissant. Pour un ordre de tri décroissant, ajoutez un tilde (~) devant le champ.

API

Répertoriez toutes les autorisations DNS configurées en envoyant une requête GET à la méthode dnsAuthorizations.list comme suit:

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud cible.
  • FILTER: expression qui limite les résultats renvoyés à des valeurs spécifiques.
  • PAGE_SIZE: nombre de résultats à renvoyer par page.
  • SORT_BY: liste de noms de champs séparés par une virgule en fonction desquels les résultats renvoyés sont triés. Par défaut, l'ordre de tri est croissant. Pour un ordre de tri décroissant, ajoutez un tilde (~) devant le champ.

Supprimer une autorisation DNS

Pour supprimer une autorisation DNS, suivez la procédure décrite dans cette section. Pour supprimer une autorisation DNS attribuée à un ou plusieurs certificats gérés par Google, vous devez supprimer ces certificats avant de pouvoir supprimer l'autorisation DNS.

Pour effectuer cette tâche, vous devez disposer du rôle de propriétaire du gestionnaire de certificats sur le projet Google Cloud cible. Pour en savoir plus, consultez la section Rôles et autorisations.

gcloud

gcloud certificate-manager dns-authorizations delete AUTHORIZATION_NAME

Remplacez les éléments suivants :

  • AUTHORIZATION_NAME: nom de l'autorisation DNS cible.

API

Supprimez une autorisation DNS en envoyant une requête DELETE à la méthode dnsAuthorizations.delete comme suit:

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud cible.
  • AUTHORIZATION_NAME: nom de l'autorisation DNS cible.

Étapes suivantes