Émettre un certificat à l'aide de Google Cloud CLI
Cette page explique comment générer ou émettre des certificats via Certificate Authority Service'aide de Google Cloud CLI.
Le service d'autorité de certification vous permet de déployer et de gérer des autorités de certification privées sans gérer l'infrastructure.
Avant de commencer
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
Enable the Certificate Authority Service API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable privateca.googleapis.com
Verify that billing is enabled for your Google Cloud project.
Configurez un emplacement par défaut à utiliser dans les commandes
gcloud
de ce guide de démarrage rapide.gcloud config set privateca/location LOCATION
Les ressources du service d'autorité de certification, telles que les pools d'autorités de certification et les autorités de certification, résident dans un seul Google Cloud emplacement que vous ne pouvez pas modifier après avoir créé ces ressources.
Créer un pool d'autorités de certification
Un pool d'autorités de certification (CA) est une collection de plusieurs autorités de certification. Un pool d'autorités de certification permet d'alterner les chaînes de confiance sans interruption ni temps d'arrêt pour les charges de travail.
Pour créer un pool d'autorités de certification dans le niveau Enterprise, exécutez la commande suivante :
gcloud privateca pools create POOL_ID --location LOCATION --tier "enterprise"
Remplacez les éléments suivants :
- POOL_ID : nom du pool d'autorités de certification.
- LOCATION : emplacement du pool d'autorités de certification. Pour obtenir la liste complète des emplacements, consultez Emplacements.
Les noms de toutes les ressources CA Service ne doivent contenir que les caractères autorisés, à savoir toutes les lettres, tous les chiffres, le trait d'union et le trait de soulignement. La longueur maximale autorisée pour un nom est de 63 caractères.
Créer une autorité de certification racine
Un pool d'autorités de certification est vide lors de sa création. Pour demander des certificats à partir d'un pool d'autorités de certification, vous devez y ajouter une autorité de certification.
Pour créer une autorité de certification racine et l'ajouter au pool d'autorités de certification que vous avez créé, exécutez la commande suivante :
gcloud privateca roots create CA_ID --pool POOL_ID --location LOCATION --subject "CN=Example Prod Root CA, O=Google"
Remplacez les éléments suivants :
- CA_ID : nom de l'autorité de certification racine.
- POOL_ID : nom du pool d'autorités de certification.
- LOCATION : emplacement du pool d'autorités de certification. Pour obtenir la liste complète des emplacements, consultez Emplacements.
Le service CA renvoie la commande suivante lorsqu'il crée la CA racine :
Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]
Activez l'autorité de certification racine en saisissant y
lorsque la gcloud CLI vous y invite.
Facultatif : créer un pool d'autorités de certification subordonnées
Pour créer un pool d'autorités de certification subordonnées, exécutez la commande suivante :
gcloud privateca pools create SUBORDINATE_POOL_ID
--location LOCATION
--tier TIER
Remplacez les éléments suivants :
- SUBORDINATE_POOL_ID : ID du pool d'autorités de certification subordonnées.
- LOCATION : emplacement du pool d'autorités de certification subordonné. Pour obtenir la liste complète des emplacements, consultez Emplacements.
- TIER : niveau de l'autorité de certification subordonnée (devops ou enterprise).
(Facultatif) Créez une autorité de certification subordonnée signée par une autorité de certification racine stockée dans Google Cloud.
Pour créer une autorité de certification subordonnée dans le pool d'autorités de certification subordonnées que vous avez créé à l'étape précédente, exécutez la commande suivante :
gcloud privateca subordinates create SUBORDINATE_CA_ID \
--location=LOCATION \
--pool=SUBORDINATE_POOL_ID \
--issuer-pool=POOL_ID \
--issuer-location=ISSUER_LOCATION \
--from-ca=EXISTING_CA_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \"
Remplacez les éléments suivants :
- SUBORDINATE_CA_ID : ID de l'autorité de certification subordonnée.
- LOCATION : emplacement de l'autorité de certification subordonnée. Pour obtenir la liste complète des emplacements, consultez Emplacements.
- SUBORDINATE_POOL_ID : ID du pool d'autorités de certification subordonnées que vous avez créé dans la section précédente.
- POOL_ID : ID du pool d'autorités de certification parent.
- ISSUER_LOCATION : emplacement du certificat.
- EXISTING_CA_ID : ID de l'autorité de certification source.
- PROJECT_ID : ID du projet.
- LOCATION_ID : emplacement du trousseau de clés.
- KEY_RING : nom du trousseau de clés où se trouve la clé.
- KEY : nom de la clé.
- KEY_VERSION : version de la clé.
L'instruction suivante est renvoyée lorsque l'autorité de certification subordonnée est créée.
Created Certificate Authority [projects/my-project-pki/locations/us-west1/caPools/SUBORDINATE_POOL_ID/certificateAuthorities/SUBORDINATE_CA_ID].
Activez l'autorité de certification subordonnée en saisissant y
lorsque vous y êtes invité par la gcloud CLI.
Créer un certificat
Pour utiliser l'autorité de certification que vous venez de créer afin de créer un certificat :
Installez la bibliothèque de cryptographie Pyca à l'aide de la commande
pip
.pip install --user "cryptography>=2.2.0"
Le service d'autorité de certification utilise la bibliothèque de cryptographie Pyca pour générer et stocker une nouvelle paire de clés asymétriques sur votre ordinateur local. Cette clé n'est jamais envoyée au service d'autorité de certification.
Pour permettre à Google Cloud SDK;utiliser la bibliothèque de cryptographie Pyca, vous devez activer les packages de site.
macOS ou Linux
export CLOUDSDK_PYTHON_SITEPACKAGES=1
Windows
set CLOUDSDK_PYTHON_SITEPACKAGES=1
Créez un certificat.
gcloud privateca certificates create \ --issuer-pool POOL_ID \ --issuer-location ISSUER_LOCATION \ --subject "CN=Example Prod,O=Google" \ --generate-key \ --key-output-file=./key \ --cert-output-file=./cert.pem
Remplacez les éléments suivants :
- POOL_ID : ID de ressource du pool d'autorités de certification que vous avez créé.
- ISSUER_LOCATION : emplacement de l'autorité de certification qui a émis le certificat numérique.
Le service CA renvoie la réponse suivante :
Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
Effectuer un nettoyage
Effectuez un nettoyage en supprimant le pool d'autorités de certification, l'autorité de certification et le projet que vous avez créés pour ce démarrage rapide.
Révoquez le certificat.
- CERT_NAME : nom du certificat que vous souhaitez révoquer.
- POOL_ID : nom du pool d'autorités de certification ayant émis le certificat.
- LOCATION : emplacement du pool d'autorités de certification.
Pour révoquer un certificat, exécutez la commande suivante :
gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID --location LOCATION
Remplacez les éléments suivants :
Supprimez l'autorité de certification.
Vous ne pouvez supprimer une autorité de certification qu'après avoir révoqué tous les certificats qu'elle a émis.
Désactivez l'autorité de certification.
gcloud privateca roots disable CA_ID --pool=POOL_ID --location=LOCATION
Remplacez les éléments suivants :
- CA_ID : ID de ressource de l'autorité de certification.
- POOL_ID : ID de ressource du pool d'autorités de certification.
- LOCATION : emplacement du pool d'autorités de certification. Pour obtenir la liste complète des emplacements, consultez Emplacements.
Supprimez l'autorité de certification.
gcloud privateca roots delete CA_ID --pool=POOL_ID --location=LOCATION
L'état de l'autorité de certification passe à
Deleted
. Le service d'autorité de certification supprime définitivement l'autorité de certification 30 jours après que vous avez lancé la suppression.Supprimez le pool d'autorités de certification.
Vous ne pouvez supprimer un pool d'autorités de certification qu'une fois que l'autorité de certification qu'il contient a été définitivement supprimée.
gcloud privateca pools delete POOL_ID --location=LOCATION
Supprimez le projet.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Étapes suivantes
- En savoir plus sur les pools d'autorités de certification
- En savoir plus sur la création d'un pool d'autorités de certification
- En savoir plus sur la création d'autorités de certification
- En savoir plus sur la demande de certificats
- Découvrez comment contrôler le type de certificats qu'un pool d'autorités de certification peut émettre.