Gérer les entrées de mappage de certificats

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

Pour en savoir plus, consultez la section Enregistrements de la carte de certificats.

Créer une entrée de mappage de certificat

Vous pouvez créer une entrée de mappage de certificat et y associer jusqu'à quatre certificats. Nous vous recommandons d'utiliser un algorithme de clé différent pour chaque certificat lorsque vous spécifiez plusieurs certificats pour un nom d'hôte. Par exemple, vous pouvez utiliser ECDSA pour un certificat et RSA pour un autre. Associer plusieurs certificats à une seule entrée de mappage de certificats est également utile lors de la migration de certificats autogérés vers des certificats gérés par Google.

Pour associer plusieurs certificats à une entrée de mappage de certificats, fournissez une liste de noms de certificats séparés par une virgule. Pour chaque sous-domaine, vous devez créer une entrée de mappage de certificats distincte.

gcloud

Pour créer une entrée de mappage de certificats, exécutez la commande gcloud certificate-manager maps entries create:

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: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_NAMES: liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificat, séparés par une virgule.
  • HOSTNAME: nom d'hôte que vous souhaitez associer à l'entrée de mappage de certificats.

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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.
  • HOSTNAME: nom d'hôte que vous souhaitez associer à l'entrée de mappage de certificats.
  • CERTIFICATE_NAME1: nom du premier certificat que vous souhaitez associer à cette entrée de mappage de certificat.
  • CERTIFICATE_NAME2: nom du deuxième certificat que vous souhaitez associer à cette entrée de mappage de certificat.

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.

Pour en savoir plus sur la façon 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 principale

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

gcloud

Pour créer une entrée de mappage de certificat principal, exécutez la commande gcloud certificate-manager maps entries create avec l'option set-primary:

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: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_NAMES: liste des noms des certificats que vous souhaitez associer à cette entrée de mappage de certificat, 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_NAME1","projects/PROJECT_ID/locations/global/certificates/CERTIFICATE_NAME2"]
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_NAME1: nom du premier certificat que vous souhaitez associer à l'entrée de mappage de certificats principale.
  • CERTIFICATE_NAME2: nom du deuxième certificat que vous souhaitez associer à l'entrée de mappage de certificat principale.

Pour en savoir plus sur la façon 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

Lorsque vous mettez à jour une entrée de mappage de certificat, vous pouvez effectuer les opérations suivantes:

  • Attribuer ou retirer des certificats
  • Modifier la description
  • Modifier les libellés

gcloud

Pour mettre à jour une entrée de mappage de certificats, utilisez la commande gcloud certificate-manager maps entries update:

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: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_NAME: nom du certificat que vous souhaitez associer à l'entrée de mappage de certificat.
  • DESCRIPTION: description pertinente pour cette entrée de mappage de certificats.
  • LABELS: liste des 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 :

  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.
  • PROJECT_ID: ID du projet Google Cloud.
  • CERTIFICATE_NAME: nom du certificat.
  • DESCRIPTION: description pertinente pour cette entrée de mappage de certificats.
  • LABEL_KEY: clé de libellé appliquée à cette entrée de mappage de certificats.
  • LABEL_VALUE: valeur d'étiquette appliquée à cette entrée de mappage de certificat.

Lister les entrées de mappage de certificats

Vous pouvez lister, filtrer et trier toutes les entrées de mappage de certificats configurées du projet.

Console

  1. Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.

    Accéder au Gestionnaire de certificats

  2. Dans l'onglet Mappages de certificats, cliquez sur le nom du mappage de certificat contenant les entrées de mappage. La page Détails du mappage de certificat affiche des informations détaillées sur le mappage de certificat sélectionné et la liste associée des entrées de mappage.

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

    • État de la diffusion: --filter='state=ACTIVE'
    • Matcher (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 heure de création: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Pour plus d'exemples de filtrage que vous pouvez utiliser avec le Gestionnaire de certificats, consultez la section Trier et filtrer les résultats de la 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 par lesquels 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 un tilde (~) au champ.

API

Répertoriez les entrées de mappage de certificats configurées dans un mappage de certificats donné en envoyant 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: ID du projet Google Cloud.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificats cible.
  • 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:

    • État de la diffusion: --filter='state=ACTIVE'
    • Matcher (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 heure de création: --filter='labels.key:value AND create_time > "2021-09-01T00:00:00Z"'

    Pour plus d'exemples de filtrage que vous pouvez utiliser avec le Gestionnaire de certificats, consultez la section Trier et filtrer les résultats de la liste dans la documentation de Cloud Key Management Service.

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

  • SORT_BY: liste de champs name séparés par une virgule par lesquels 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 un tilde (~) au champ.

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

Vous pouvez afficher l'état d'une entrée de mappage de certificat.

Console

  1. Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.

    Accéder au Gestionnaire de certificats

  2. Dans l'onglet Mappages de certificats, cliquez sur le nom du mappage de certificat contenant les entrées de mappage. La page Détails du mappage de certificat affiche des informations détaillées sur le mappage de certificat sélectionné et la liste associée des entrées de mappage.

  3. Dans la section Map entries (Entrées de carte), cliquez sur le nom de l'entrée de carte que vous souhaitez afficher. La page Détails de l'entrée de mappage affiche des informations détaillées sur l'entrée de mappage sélectionnée.

gcloud

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

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_MAP_NAME: 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: ID du projet Google Cloud.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.

Supprimer une entrée de mappage de certificat

Supprimer une entrée de mappage de certificat dissocie les certificats associés à l'entrée de mappage de certificat du proxy cible. La suppression d'une entrée de mappage de certificat ne supprime pas les certificats associés de Google Cloud. Vous devez supprimer manuellement ces certificats.

gcloud

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

Remplacez les éléments suivants :

  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.
  • CERTIFICATE_MAP_NAME: 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: ID du projet Google Cloud.
  • CERTIFICATE_MAP_NAME: nom du mappage de certificat auquel l'entrée de mappage de certificat est associée.
  • CERTIFICATE_MAP_ENTRY_NAME: nom de l'entrée de la carte de certificat.

Étape suivante