Déployer un certificat régional géré par Google avec Certificate Authority Service


Ce tutoriel explique comment utiliser le gestionnaire de certificats pour déployer un certificat régional géré par Google avec CA Service vers un équilibreur de charge d'application externe régional ou vers un équilibreur de charge d'application interne régional.

Objectifs

Ce guide vous explique comment effectuer les tâches suivantes :

  • Créez un certificat géré par Google avec Certificate Authority Service en utilisant Gestionnaire de certificats.
  • Déployer le certificat sur un équilibreur de charge compatible en utilisant un protocole HTTPS cible proxy.

Pour en savoir plus sur le processus de déploiement des certificats, consultez Présentation du déploiement

Avant de commencer

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Assurez-vous de disposer des rôles suivants pour effectuer les tâches de ce tutoriel:

    • Certificate Manager Owner (Propriétaire du gestionnaire de certificats) : obligatoire pour créer et gérer les ressources du gestionnaire de certificats.
    • Administrateur de l'équilibreur de charge Compute: nécessaire pour créer et gérer HTTPS avec un proxy cible.
    • Administrateur du service CA: obligatoire pour effectuer des actions dans d'autorité de certification.

    Pour en savoir plus, consultez les ressources suivantes :

  3. Activer l'API Certificate Manager

  4. Activez l'API CA Service.

  5. Créez un pool d'autorités de certification. Vous devez créer et activer au moins une autorité de certification dans ce pool d'autorités de certification.

Configurer l'intégration de CA Service avec le gestionnaire de certificats

Configurer le gestionnaire de certificats à intégrer CA Service comme suit:

  1. Créer un compte de service de gestionnaire de certificats dans la cible Projet Google Cloud:

    gcloud beta services identity create \
        --service=certificatemanager.googleapis.com \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de la cible. projet Google Cloud.

La commande renvoie le nom de l'identité de service créée, comme indiqué dans l'exemple suivant:

service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
  1. Attribuez au compte de service du gestionnaire de certificats le rôle Demandeur de certificat du service CA au sein du pool d'autorités de certification cible comme suit:

    gcloud privateca pools add-iam-policy-binding CA_POOL \
        --location LOCATION \
        --member "serviceAccount:SERVICE_ACCOUNT" \
        --role roles/privateca.certificateRequester
    

    Remplacez les éléments suivants :

    • CA_POOL: ID du pool d'autorités de certification cible.
    • LOCATION: emplacement Google Cloud cible Toi doit spécifier le même emplacement que le pool d'autorités de certification, l'émission des certificats la ressource de configuration Cloud IAM et le certificat géré.
    • SERVICE_ACCOUNT: nom complet du compte de service que vous avez créées à l'étape 1.
  2. Créez une ressource de configuration d'émission de certificats pour votre pool d'autorités de certification:

    gcloud beta certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \
        --ca-pool=CA_POOL \
        --location=LOCATION> \
        [--lifetime=CERTIFICATE_LIFETIME] \
        [--rotation-window-percentage=ROTATION_WINDOW_PERCENTAGE] \
        [--key-algorithm=KEY_ALGORITHM]
    

    Remplacez les éléments suivants :

    • ISSUANCE_CONFIG_NAME: nom unique du ressource de configuration d'émission de certificats.
    • CA_POOL: chemin d'accès complet à la ressource et nom de l'autorité de certification pool que vous souhaitez attribuer à cette ressource de configuration d'émission de certificats.
    • LOCATION: emplacement Google Cloud cible Toi doit spécifier le même emplacement que le pool d'autorités de certification, l'émission des certificats la ressource de configuration Cloud IAM et le certificat géré.
    • CERTIFICATE_LIFETIME: durée de vie du certificat dans jours. Les valeurs valides sont comprises entre 21 et 30 jours au format de durée standard. La valeur par défaut est de 30 jours (30D). Ce paramètre est facultatif.
    • ROTATION_WINDOW_PERCENTAGE: pourcentage de la durée de vie du certificat à laquelle un renouvellement se déclenche. La valeur par défaut est 66 pour cent. Vous devez définir le pourcentage de la fenêtre de rotation par rapport à durée de vie du certificat afin que le renouvellement du certificat ait lieu au moins 7 jours après l'émission du certificat et au moins sept jours avant expire. Ce paramètre est facultatif.
    • KEY_ALGORITHM: algorithme de chiffrement utilisé pour générer la clé privée. Les valeurs valides sont ecdsa-p256 ou rsa-2048. La valeur par défaut est rsa-2048. Ce paramètre est facultatif.

Pour en savoir plus sur les ressources de configuration d'émission de certificats, consultez Gérer les configurations d'émission de certificats

Créer un certificat régional géré par Google

Créez un certificat régional géré par Google, délivré par votre Service CA utilisant la ressource de configuration d'émission de certificats créé à l'étape précédente:

Console

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

    Accéder au gestionnaire de certificats

  2. Sur la page qui s'affiche, sélectionnez l'onglet Certificats.

  3. Cliquez sur Ajouter un certificat.

  4. Saisissez un nom pour le certificat.

    Ce nom doit être unique au projet.

  5. Facultatif: saisissez la description du certificat. La description vous aide à identifier un certificat spécifique par la suite.

  6. Dans le champ Emplacement, sélectionnez Régional.

  7. Dans la liste Région, sélectionnez une région.

  8. Pour Type de certificat, sélectionnez Créer un certificat géré par Google.

  9. Pour Type d'autorité de certification, sélectionnez Privé.

  10. Indiquez les noms de domaine du certificat. Saisissez des valeurs séparées par une virgule liste des domaines cibles. De plus, chaque nom de domaine doit être nom de domaine, tel que myorg.example.com.

  11. Dans Configuration de l'émission des certificats, sélectionnez le nom du certificat. ressource de configuration d'émission faisant référence au pool d'autorités de certification cible.

  12. Spécifiez une étiquette à associer au certificat. Vous pouvez ajouter plusieurs étiquettes, si nécessaire. Pour ajouter un libellé, cliquez sur l'icône le bouton Ajouter un libellé, puis spécifiez les paramètres key et value pour votre libellé.

  13. Cliquez sur Créer. Vérifiez que le nouveau certificat apparaît dans la liste des certificats.

gcloud

Exécutez la commande ci-dessous.

gcloud beta certificate-manager certificates create CERTIFICATE_NAME \
    --domains="DOMAIN_NAMES" \
    --issuance-config="ISSUANCE_CONFIG_NAME" \
    --location="LOCATION"

Remplacez les éléments suivants :

  • CERTIFICATE_NAME: nom unique du certificat.
  • DOMAIN_NAMES: liste des cibles, séparées par une virgule domaines pour ce certificat. Chaque nom de domaine doit être un nom complet nom de domaine, tel que myorg.example.com.
  • ISSUANCE_CONFIG_NAME: nom du certificat ressource de configuration d'émission faisant référence au pool d'autorités de certification cible.
  • LOCATION: emplacement Google Cloud cible Toi doit spécifier le même emplacement que le pool d'autorités de certification, l'émission des certificats la ressource de configuration Cloud IAM et le certificat géré.

API

Créez le certificat en envoyant une requête POST au certificates.create comme suit:

POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
 name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
 "managed": {
  "domains": ["DOMAIN_NAME"],
  "issuanceConfig": "ISSUANCE_CONFIG_NAME",
 },
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet Google Cloud cible.
  • LOCATION: emplacement Google Cloud cible Toi doit spécifier le même emplacement que le pool d'autorités de certification, l'émission des certificats la ressource de configuration Cloud IAM et le certificat géré.
  • CERTIFICATE_NAME: nom unique du certificat.
  • DOMAIN_NAME: domaine cible du certificat. Le nom de domaine doit être un nom de domaine complet, tel que example.com, www.example.com.
  • ISSUANCE_CONFIG_NAME: nom du certificat ressource de configuration d'émission faisant référence au pool d'autorités de certification cible.

Pour une présentation du processus de déploiement des certificats, consultez la section Déploiement présentation.

Vérifier que le certificat est actif

Utilisez la commande suivante pour vérifier que le certificat lui-même est actif avant de le déployer sur votre équilibreur de charge. L'opération peut prendre plusieurs minutes l'état du certificat à ACTIVE.

gcloud beta certificate-manager certificates describe CERTIFICATE_NAME \
    --location=LOCATION

Remplacez les éléments suivants :

  • CERTIFICATE_NAME: nom unique du certificat.
  • LOCATION: emplacement Google Cloud cible Toi doit spécifier le même emplacement que le pool d'autorités de certification, l'émission des certificats la ressource de configuration Cloud IAM et le certificat géré.

La commande renvoie un résultat semblable à celui-ci:

createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
domains:
-   myorg.example.com
issuanceConfig: projects/myproject/locations/mylocation/issuanceConfigs/myissuanceConfig
state: ACTIVE
name: projects/myproject/locations/mylocation/certificates/mycertificate
pemCertificate: |
  -----BEGIN CERTIFICATE-----
  [...]
  -----END CERTIFICATE-----
sanDnsnames:
  -   myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'

Déployer le certificat régional géré par Google sur un équilibreur de charge

Pour déployer le certificat régional géré par Google, créez un proxy cible HTTPS et joignez-y le certificat.

Créer le proxy cible HTTPS

Pour créer le proxy HTTPS cible et lui associer le certificat, exécutez la commande suivante : :

gcloud compute target-https-proxies create PROXY_NAME \
    --url-map=URL_MAP \
    --region=REGION \
    --certificate-manager-certificates=CERTIFICATE_NAME

Remplacez les éléments suivants :

  • PROXY_NAME: nom unique du proxy.
  • URL_MAP : nom du mappage d'URL. Vous avez créé le mappage d'URL. lors de la création de l'équilibreur de charge.
  • REGION: région dans laquelle vous créez le protocole HTTPS avec un proxy cible.
  • CERTIFICATE_NAME: nom du certificat.

Pour vérifier si le proxy cible a été créé, exécutez la commande suivante:

gcloud compute target-https-proxies list

Créer une règle de transfert

Configurez une règle de transfert et terminez la configuration de l'équilibreur de charge.

Effectuer un nettoyage

Pour annuler les modifications que vous avez apportées dans ce tutoriel, procédez comme suit : étapes:

  1. Supprimez le certificat géré par Google:

    Console

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

      Accéder au gestionnaire de certificats

    2. Dans l'onglet Certificats, cochez la case certificat.

    3. Cliquez sur Supprimer.

    4. Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer pour confirmer.

    gcloud

    gcloud certificate-manager certificates delete CERTIFICATE_NAME \
        --location=LOCATION
    

    Remplacez les éléments suivants :

    • CERTIFICATE_NAME: nom du certificat
    • LOCATION: emplacement Google Cloud cible
  2. Supprimez la ressource de configuration d'émission de certificats:

    Console

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

      Accéder au gestionnaire de certificats

    2. Dans l'onglet Issuance Configs (Configurations d'émission), cochez la case configuration d'émission.

    3. Cliquez sur Supprimer.

    4. Dans la boîte de dialogue qui s'affiche, cliquez sur Supprimer pour confirmer.

    gcloud

    gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \
        --location=LOCATION
    

    Remplacez les éléments suivants :

    • ISSUANCE_CONFIG_NAME: nom de l'émission. configuration
    • LOCATION: emplacement Google Cloud cible
  3. Supprimez le pool d'autorités de certification comme décrit dans la section Supprimer une autorité de certification. pool.

    Gardez à l'esprit que pour désactiver la dernière autorité de certification activée dans le pool d'autorités de certification référencée dans la ressource de configuration d'émission de certificats, ou pour supprimer le vous devez d'abord supprimer toutes les ressources de configuration d'émission de certificats qui font référence à ce pool d'autorités de certification.

Dépannage

Pour connaître les étapes de dépannage, consultez la section Problèmes liés aux certificats émis par Instance CA Service.

Étape suivante