Gérer les entrées de mappage de certificats

Cette section explique comment créer et gérer des entrées de mappage de certificats. Une entrée de mappage de certificats associe un certificat à un nom d'hôte cible et à un mappage de certificats cible.

Pour en savoir plus sur les entrées de mappage de certificats, consultez la section 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 gcloud utilisées sur cette page, consultez la documentation de référence de la CLI Certificate Manager.

Créer une entrée de mappage de certificats

Pour créer une entrée de mappage de certificats et y associer un ou plusieurs certificats, suivez la procédure décrite dans cette section. Vous devez spécifier au moins un certificat dans une entrée de mappage de certificats. Si vous souhaitez spécifier plusieurs certificats pour un nom d'hôte donné, vous ne pouvez le faire que si chaque certificat utilise une suite de chiffrement différente (par exemple, ECDSA et RSA).

Pour associer plusieurs certificats à une entrée de mappage de certificats, fournissez une liste de noms de certificats séparés par des virgules à associer à l'entrée. Vous pouvez associer jusqu'à quatre certificats à une seule entrée de mappage de certificats. Vous devez créer une entrée de mappage de certificat distincte pour chaque sous-domaine.

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 maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --hostname="HOSTNAME"

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_NAMES est une liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificats, séparés par une virgule.
  • HOSTNAME est le nom d'hôte que vous souhaitez associer à cette entrée de mappage de certificats.

Terraform

Pour créer une entrée de mappage de certificats, vous pouvez utiliser une ressource google_certificate_manager_certificate_map_entry.

resource "google_certificate_manager_certificate_map_entry" "default" {
  name        = "${local.name}-first-entry-${random_id.tf_prefix.hex}"
  description = "example certificate map entry"
  map         = google_certificate_manager_certificate_map.default.name
  labels = {
    "terraform" : true
  }
  certificates = [google_certificate_manager_certificate.default.id]
  hostname     = local.domain
}

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

API

Créez l'entrée de mappage de certificats en envoyant une requête POST à la méthode certificateMaps.certificateMapEntries.create comme suit:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
 hostname: "HOSTNAME"
 certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • HOSTNAME est le nom d'hôte que vous souhaitez associer à cette entrée de mappage de certificats.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificats.

Pour en savoir plus sur la manière dont l'équilibreur de charge sélectionne les certificats lors d'un handshake, consultez la section Logique de sélection des certificats.

Créer une entrée de mappage de certificat principal

Vous pouvez spécifier un certificat principal diffusé par l'équilibreur de charge si le client ne fournit pas de nom d'hôte ou si celui-ci ne peut pas correspondre à une entrée de mappage de certificats configurée.

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 maps entries create CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAMES" \
    --set-primary

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_NAMES est une liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificats, séparés par une virgule.

API

Créez l'entrée de mappage de certificats en envoyant une requête POST à la méthode certificateMaps.certificateMapEntries.create comme suit:

POST /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries?certificate_map_entry_id=CERTIFICATE_MAP_ENTRY_NAME"
{
   matcher: "PRIMARY",
   certificates: ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
}

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificats.

Pour en savoir plus sur la manière dont l'équilibreur de charge sélectionne les certificats lors d'un handshake, consultez la section Logique de sélection des certificats.

Mettre à jour une entrée de mappage de certificats

Pour mettre à jour une entrée de mappage de certificats, suivez la procédure décrite dans cette section. Pour mettre à jour une entrée de mappage de certificats, procédez comme suit:

  • Attribuer ou annuler l'attribution de certificats
  • Modifier la description
  • Modifier les étiquettes

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 maps entries update CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME" \
    --certificates="CERTIFICATE_NAME,CERTIFICATE_NAME" \
    --description="DESCRIPTION"
    --update-labels="LABELS"

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificats.
  • DESCRIPTION est une description significative de cette entrée de mappage de certificat.
  • LABELS est une liste de libellés appliqués à cette entrée de mappage de certificats.

API

Mettez à jour l'entrée de mappage de certificats en envoyant une requête PATCH à la méthode certificateMaps.certificateMapEntries.patch, comme suit:

PATCH  /v1/projects/example-project/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME?updateMask=labels,description,certificates
{
  "certificates": ["projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME"],
  "description": "DESCRIPTION",
  "labels": { "LABEL_KEY": "LABEL_VALUE" }
}

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificats.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificats.
  • DESCRIPTION est une description significative de cette entrée de mappage de certificat.
  • LABEL_KEY est une clé de libellé appliquée à cette entrée de mappage de certificats.
  • LABEL_VALUE est une valeur de libellé appliquée à cette entrée de mappage de certificats.

Répertorier les entrées de mappage de certificats

Pour répertorier les entrées de mappage de certificats actuellement configurées dans un mappage de certificats cible, suivez les étapes décrites 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 maps entries list --map=CERTIFICATE_MAP_NAME \
    --filter="FILTER" \
    --page-size="PAGE_SIZE" \
    --limit="LIMIT" \
    --sort-by="SORT_BY"

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats cible.
  • FILTER est une 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:

    • État de diffusion: --filter='state=ACTIVE'
    • Outil de mise en correspondance (défini comme principal): --filter='-matcher=PRIMARY'
    • Nom d'hôte : --filter='hostname=example.com'
    • Certificats attribués: --filter='certificates:my-cert'
    • Libellés et date 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 est le nombre de résultats à renvoyer par page.

  • LIMIT est le nombre maximal de résultats à renvoyer.

  • SORT_BY est une liste de champs name séparés par une virgule en fonction de laquelle les résultats renvoyés sont triés. L'ordre de tri par défaut est croissant ; pour l'ordre de tri décroissant, ajoutez le préfixe ~ au champ souhaité.

API

Pour répertorier les entrées de mappage de certificats configurées dans un mappage de certificats donné, envoyez une requête LIST à la méthode certificateMaps.certificateMapEntries.list comme suit:

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

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats cible.
  • FILTER est une expression qui limite les résultats renvoyés à des valeurs spécifiques.
  • PAGE_SIZE est le nombre de résultats à renvoyer par page.
  • SORT_BY est une liste de noms de champs séparés par une virgule en fonction de laquelle les résultats renvoyés sont triés. L'ordre de tri par défaut est croissant ; pour l'ordre de tri décroissant, ajoutez le préfixe ~ au champ souhaité.

Afficher l'état d'une entrée de mappage de certificat

Pour afficher l'état d'une entrée de mappage de certificats, 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 maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
    --map="CERTIFICATE_MAP_NAME"

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage du certificat cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.

API

Affichez l'état de l'entrée de mappage de certificats en envoyant une requête GET à la méthode certificateMaps.certificateMapEntries.get comme suit:

GET /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage de certificats cibles.

Supprimer une entrée de mappage de certificats

Pour supprimer une entrée de mappage de certificats d'un mappage de certificats, suivez les étapes décrites dans cette section. Cette action dissocie les certificats associés à l'entrée de mappage de certificats du proxy cible.

La suppression d'une entrée de mappage de certificats ne supprime pas les certificats associés. Pour retirer ces certificats de Google Cloud, vous devez les supprimer manuellement.

Pour effectuer cette tâche, vous devez disposer du rôle Propriétaire de gestionnaire de certificats sur le projet Google Cloud cible.

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

gcloud

gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \
   --map="CERTIFICATE_MAP_NAME"

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage du certificat cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.

API

Pour supprimer une entrée de mappage de certificats, envoyez une requête DELETE à la méthode certificateMaps.certificateMapEntries.delete, comme suit:

DELETE /v1/projects/PROJECT_ID/locations/global/certificateMaps/CERTIFICATE_MAP_NAME/certificateMapEntries/CERTIFICATE_MAP_ENTRY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID est l'ID du projet Google Cloud cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificats auquel cette entrée de mappage de certificats est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage de certificats cibles.

Étapes suivantes