Émettre un certificat à l'aide de la Google Cloud CLI

Cette page explique comment créer un pool d'autorités de certification (AC) et émettre un certificat à l'aide de la 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

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  • Create or select a Google Cloud project.

    • 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:

    gcloud services enable privateca.googleapis.com

  • Make sure 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 emplacementGoogle Cloud 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 de faire tourner 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 l'échelon 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 la section Emplacements.

Les noms de toutes les ressources du service de certification ne doivent contenir que les caractères autorisés, à savoir toutes les lettres, les chiffres, les traits d'union et les traits 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 la section Emplacements.

Le service CA renvoie la commande suivante lorsqu'il crée l'autorité de certification 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 vous y êtes invité par la gcloud CLI.

Maintenant que vous disposez d'un pool d'autorités de certification avec une autorité de certification racine, vous pouvez créer des certificats.

Créer un certificat

Pour utiliser l'autorité de certification nouvellement créée pour créer un certificat, procédez comme suit:

  1. 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 CA.

  2. Pour permettre au SDK Google Cloud d'utiliser la bibliothèque cryptographique Pyca, vous devez activer les packages de site.

    macOS ou Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. 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 délivré le certificat numérique.

    Certificate Authority Service 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 guide de démarrage rapide.

  1. Révoquez le certificat.

      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 :

      • CERT_NAME: nom du certificat que vous souhaitez révoquer.
      • POOL_ID: nom du pool d'autorités de certification ayant délivré le certificat.
      • LOCATION: emplacement du pool d'autorités de certification.
  2. 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.

    1. 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 la 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 la section Emplacements.
    2. 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 la suppression.

  3. Supprimez le pool d'autorités de certification.

    Vous ne pouvez supprimer un pool d'autorités de certification qu'après avoir supprimé définitivement l'autorité de certification qu'il contient.

    gcloud privateca pools delete POOL_ID --location=LOCATION
    
  4. Supprimez le projet.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Étape suivante