Ce tutoriel explique comment utiliser le Gestionnaire de certificats pour déployer un certificat régional géré par Google avec le service d'autorité de certification sur un équilibreur de charge d'application externe régional ou sur un équilibreur de charge d'application interne régional.
Si vous souhaitez déployer sur des équilibreurs de charge externes globaux ou interrégionaux, consultez les ressources suivantes:
Objectifs
Ce guide vous explique comment effectuer les tâches suivantes :
- Créez un certificat géré par Google avec CA Service à l'aide du gestionnaire de certificats.
- Déployez le certificat sur un équilibreur de charge compatible à l'aide d'un proxy HTTPS cible.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Activez l'API CA Service.
- Créez un pool d'autorités de certification. Vous devez créer et activer au moins une autorité de certification dans ce pool.
Avant de suivre les étapes de ce tutoriel, vous devez noter les éléments suivants:
- Les certificats que vous créez avec Certificate Authority Service ne sont pas approuvés publiquement. Pour émettre des certificats approuvés publiquement, créez des certificats avec une autorisation DNS ou une autorisation d'équilibreur de charge.
Si une politique d'émission de certificats est en vigueur sur le pool d'autorités de certification cible, le provisionnement de certificats peut échouer pour l'une des raisons suivantes:
- La règle d'émission de certificat a bloqué le certificat demandé. Dans ce cas, vous n'êtes pas facturé, car le certificat n'a pas été émis.
- La stratégie a appliqué des modifications au certificat qui ne sont pas compatibles avec le Gestionnaire de certificats. Dans ce cas, le certificat vous est facturé, même s'il n'est pas entièrement compatible avec le Gestionnaire de certificats.
Les certificats TLS gérés par Google émis à partir d'un pool d'autorités de certification régionales sont globaux et peuvent être utilisés dans n'importe quelle région.
Rôles requis
Pour effectuer les tâches de ce tutoriel, assurez-vous de disposer des rôles suivants:
Propriétaire du gestionnaire de certificats (
roles/certificatemanager.owner
)Obligatoire pour créer et gérer des ressources du Gestionnaire de certificats.
Administrateur de l'équilibreur de charge Compute (
roles/compute.loadBalancerAdmin
) ou administrateur réseau Compute (roles/compute.networkAdmin
)Obligatoire pour créer et gérer le proxy HTTPS cible.
Administrateur du service CA (
roles/privateca.admin
)Obligatoire pour effectuer des actions dans le service CA.
Pour en savoir plus, consultez les ressources suivantes :
- Rôles et autorisations pour le Gestionnaire de certificats
- Rôles et autorisations IAM de Compute Engine pour Compute Engine.
- Contrôle des accès avec IAM pour Certificate Authority Service
Créer l'équilibreur de charge
Ce tutoriel suppose que vous avez déjà créé et configuré les backends, les vérifications d'état, les services de backend et les mappages d'URL de l'équilibreur de charge. Notez le nom de la mise en correspondance d'URL, car vous en aurez besoin plus tard dans ce tutoriel.
Pour créer un équilibreur de charge d'application externe régional, consultez la page Configurer un équilibreur de charge d'application externe régional avec des backends de groupe d'instances de VM.
Pour créer un équilibreur de charge d'application interne régional, consultez Configurer un équilibreur de charge d'application interne régional avec des backends de groupes d'instances de VM.
Configurer l'intégration du service CA avec le Gestionnaire de certificats
Pour intégrer le service d'autorité de certification au Gestionnaire de certificats, procédez comme suit:
Dans le projet Google Cloud cible, créez un compte de service Certificate Manager:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_ID
Remplacez
PROJECT_ID
par l'ID du projet Google Cloud cible.La commande renvoie le nom de l'identité de service créée. Consultez l'exemple ci-dessous :
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
Accordez au compte de service Gestionnaire de certificats le rôle Demandeur de certificat CA Service (
roles/privateca.certificateRequester
) dans le pool d'autorités de certification cible: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.SERVICE_ACCOUNT
: nom complet du compte de service que vous avez créé à l'étape 1.
Créez une ressource de configuration d'émission de certificats pour votre pool d'autorités de certification:
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Configurations d'émission, cliquez sur Créer.
Dans le champ Nom, saisissez un nom unique pour la configuration d'émission de certificats.
Facultatif: Dans le champ Description, saisissez une description de la configuration d'émission.
Pour l'Emplacement, sélectionnez Régional.
Pour Région, sélectionnez la même région que celle de votre certificat et de votre pool d'autorités de certification.
Facultatif: Dans le champ Durée de validité, spécifiez la durée de validité du certificat émis en jours. La valeur doit être comprise entre 21 et 30 jours (inclus).
Facultatif: dans le champ Pourcentage de la période de rotation, spécifiez le pourcentage de la durée de vie du certificat au début de son processus de renouvellement. Pour connaître la plage de valeurs valides, consultez la section Pourcentage de la durée de vie et de la période de rotation.
Facultatif: Dans la liste Algorithme de clé, sélectionnez l'algorithme de clé à utiliser lors de la génération de la clé privée.
Dans la liste Pool d'autorités de certification, sélectionnez le nom du pool d'autorités de certification à attribuer à cette ressource de configuration d'émission de certificats.
Dans le champ Libellés, spécifiez les libellés à associer au certificat. Pour ajouter un libellé, cliquez sur
Ajouter un libellé, puis spécifiez une clé et une valeur pour votre libellé.Cliquez sur Créer.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATION
Remplacez les éléments suivants :
ISSUANCE_CONFIG_NAME
: nom de la ressource de configuration d'émission de certificats.CA_POOL
: chemin d'accès complet et nom du pool de certification que vous souhaitez attribuer à cette ressource de configuration d'émission de certificat.LOCATION
: emplacement Google Cloud cible. Vous devez spécifier le même emplacement que le pool d'autorités de certification et le certificat.
Pour en savoir plus sur les ressources de configuration d'émission de certificats, consultez Gérer les ressources de configuration d'émission de certificats.
Créer un certificat géré par Google et émis par votre instance de service CA
Pour créer un certificat géré par Google émis par votre instance CA Service, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Certificats, cliquez sur Ajouter un certificat.
Dans le champ Nom du certificat, saisissez un nom unique pour le certificat.
Facultatif: Dans le champ Description, saisissez une description du certificat. La description vous permet d'identifier le certificat.
Pour l'Emplacement, sélectionnez Régional.
Dans la liste Région, sélectionnez votre région.
Dans Type de certificat, sélectionnez Créer un certificat géré par Google.
Dans le champ Type d'autorité de certification, sélectionnez Privé.
Dans le champ Noms de domaine, spécifiez une liste des noms de domaine du certificat, séparés par une virgule. Chaque nom de domaine doit être un nom de domaine complet, par exemple
myorg.example.com
.Pour Select a certificate issuance config (Sélectionner une configuration d'émission de certificats), sélectionnez le nom de la ressource de configuration d'émission de certificats référençant le pool d'autorités de certification cibles.
Dans le champ Libellés, spécifiez les libellés à associer au certificat. Pour ajouter un libellé, cliquez sur
Ajouter un libellé, puis spécifiez une clé et une valeur pour votre libellé.Cliquez sur Créer.
Le nouveau certificat apparaît dans la liste des certificats.
gcloud
Pour créer un certificat régional géré par Google avec Certificate Authority Service, exécutez la commande certificate-manager certificates create
avec l'option issuance-config
:
gcloud certificate-manager certificates create CERTIFICATE_NAME \ --domains="DOMAIN_NAMES" \ --issuance-config="ISSUANCE_CONFIG_NAME" \ --location="LOCATION"
Remplacez les éléments suivants :
CERTIFICATE_NAME
: nom du certificat.DOMAIN_NAME
: nom du domaine cible. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.ISSUANCE_CONFIG_NAME
: nom de la ressource de configuration d'émission de certificat qui fait référence au pool d'autorités de certification cible.LOCATION
: emplacement Google Cloud cible. Vous devez spécifier le même emplacement que le pool d'autorités de certification, la ressource de configuration d'émission de certificats et le certificat géré.
API
Créez le certificat en envoyant une requête POST
à la méthode 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.LOCATION
: emplacement Google Cloud cible. Vous devez spécifier le même emplacement que le pool d'autorités de certification, la ressource de configuration d'émission de certificats et le certificat géré.CERTIFICATE_NAME
: nom du certificat.DOMAIN_NAME
: nom du domaine cible. Le nom de domaine doit être un nom de domaine complet, tel quemyorg.example.com
.ISSUANCE_CONFIG_NAME
: nom de la ressource de configuration d'émission de certificat qui fait référence au pool d'autorités de certification cible.
Vérifier l'état du certificat
Avant de déployer un certificat sur un équilibreur de charge, vérifiez qu'il est actif. Le passage de l'état du certificat à ACTIVE
peut prendre plusieurs minutes.
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Certificates (Certificats), vérifiez la colonne Status (État) du certificat.
gcloud
Pour vérifier l'état du certificat, exécutez la commande suivante:
gcloud certificate-manager certificates describe CERTIFICATE_NAME \ --location=LOCATION
Remplacez les éléments suivants :
CERTIFICATE_NAME
: nom du certificat.LOCATION
: emplacement Google Cloud cible dans lequel vous avez créé le certificat géré par Google.
Le résultat ressemble à ce qui suit :
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/LOCATION/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/LOCATION/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
Pour connaître la procédure de dépannage, consultez la section Dépannage du Gestionnaire de certificats.
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, associez-le directement au proxy cible.
Associer le certificat directement au proxy cible
Vous pouvez associer le certificat à un nouveau proxy cible ou à un proxy cible existant.
Pour associer le certificat à un nouveau proxy cible, utilisez la commande gcloud compute
target-https-proxies create
:
gcloud compute target-https-proxies create PROXY_NAME \ --certificate-manager-certificates=CERTIFICATE_NAME \ --url-map=URL_MAP \ --region=LOCATION
Remplacez les éléments suivants :
PROXY_NAME
: nom du proxy cible.CERTIFICATE_NAME
: nom du certificat.URL_MAP
: nom du mappage d'URL. Vous avez créé le mappage d'URL lorsque vous avez créé l'équilibreur de charge.LOCATION
: emplacement Google Cloud cible dans lequel vous souhaitez créer le proxy HTTPS cible.
Pour associer un certificat à un proxy HTTPS cible existant, utilisez la commande gcloud
compute target-https-proxies update
. Si vous ne connaissez pas le nom du proxy cible existant, accédez à la page Proxys cibles et notez le nom du proxy cible.
gcloud compute target-https-proxies update PROXY_NAME \ --region=LOCATION \ --certificate-manager-certificates=CERTIFICATE_NAME
Après avoir créé ou mis à jour le proxy cible, exécutez la commande suivante pour le vérifier:
gcloud compute target-https-proxies list
Résoudre les problèmes liés aux certificats émis par CA Service
Pour connaître la procédure de dépannage, consultez la section Problèmes liés aux certificats émis par une instance de service CA.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel ne soient facturées sur votre compte Google Cloud , supprimez-les.
Supprimez l'équilibreur de charge et ses ressources.
Consultez la section Nettoyer une configuration d'équilibrage de charge
Supprimez le certificat géré par Google:
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Certificats, cochez la case du certificat.
Cliquez sur Supprimer.
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.
Supprimez la ressource de configuration d'émission de certificats:
Console
Dans la console Google Cloud, accédez à la page Gestionnaire de certificats.
Dans l'onglet Issuance Configs (Configurations d'émission), cochez la case de la ressource de configuration d'émission.
Cliquez sur Supprimer.
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 la ressource de configuration d'émission de certificat qui fait référence au pool d'autorités de certification cible.LOCATION
: emplacement Google Cloud cible.
Supprimez le pool d'autorités de certification.
Pour supprimer le pool d'autorités de certification ou pour désactiver la dernière autorité de certification activée dans un pool d'autorités de certification référencé par une configuration d'émission de certificats, supprimez toutes les configurations d'émission de certificats qui référencent le pool d'autorités de certification. Pour en savoir plus, consultez Supprimer un pool de certificats.