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 certificat

Pour créer une entrée de mappage de certificat et lui 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 certificat. 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 certificat, fournissez une liste de noms de certificats séparés par des virgules à associer à l'entrée. Vous pouvez associer un maximum de quatre certificats à une seule entrée de mappage de certificat. Pour chaque sous-domaine, vous devez créer une entrée de mappage de certificat distincte.

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 certificat.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat 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 certificat.

Terraform

Pour créer une entrée de mappage de certificat, 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 certificat 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 certificat.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • HOSTNAME est le nom d'hôte que vous souhaitez associer à cette entrée de mappage de certificat.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificat.

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 utilisé par l'équilibreur de charge si le client ne fournit pas de nom d'hôte ou fournit un nom d'hôte que l'équilibreur de charge ne peut pas faire correspondre à une entrée de mappage de certificats configuré.

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 certificat.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat 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 certificat 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 certificat.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificat.

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 certificat

Pour mettre à jour une entrée de mappage de certificat, procédez comme indiqué dans cette section. Vous pouvez mettre à jour une entrée de mappage de certificat 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 certificat.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificat.
  • DESCRIPTION est une description pertinente de cette entrée de mappage de certificat.
  • LABELS est une liste de libellés appliqués à cette entrée de mappage de certificat.

API

Mettez à jour l'entrée de mappage de certificat 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 certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est un nom unique qui décrit cette entrée de mappage de certificat.
  • CERTIFICATE_NAME est le nom du certificat que vous souhaitez associer à cette entrée de mappage de certificat.
  • DESCRIPTION est une description pertinente de cette entrée de mappage de certificat.
  • LABEL_KEY est une clé d'étiquette appliquée à cette entrée de mappage de certificat.
  • LABEL_VALUE est une valeur de libellé appliquée à cette entrée de mappage de certificat.

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 certificat 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'
    • É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 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 un 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 certificat 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 desquels les résultats renvoyés sont triés. L'ordre de tri par défaut est croissant. Pour un 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 certificat, 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 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 de certificat cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.

API

Affichez l'état de l'entrée de mappage de certificat 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 certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage de certificat cible.

Supprimer une entrée de mappage de certificat

Pour supprimer une entrée d'un mappage de certificat, 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 certificat 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 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 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 de certificat cible.
  • CERTIFICATE_MAP_NAME est le nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.

API

Supprimez une entrée de mappage de certificat en envoyant 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 certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME est le nom de l'entrée de mappage de certificat cible.

Étapes suivantes