Créer et gérer des secrets avec Cloud Code

Découvrez comment créer et gérer des secrets à l'aide de l'intégration Secret Manager de Cloud Code.


Pour obtenir des instructions détaillées sur cette tâche directement dans l'éditeur Cloud Shell, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

  1. Dans Google Cloud Console, accédez à la page de sélection du projet.

    Accéder au sélecteur de projet

  2. Sélectionnez ou créez un projet Google Cloud.

  3. Créer votre service Cloud Run

    Utilisez l'éditeur Cloud Shell comme environnement pour créer votre service et votre secret Cloud Run. Les outils nécessaires au développement dans le cloud y sont préchargés.

    Pour créer votre service, procédez comme suit :

    1. Dans la barre d'état Cloud Code, cliquez sur le nom du projet actif.

      Nom du projet actif dans la barre d'état

    2. Dans le menu de sélection rapide qui s'affiche, cliquez sur New Application (Nouvelle application), puis sur Cloud Run Application (Application Cloud Run).

    3. Dans la liste des exemples Cloud Run, sélectionnez Python (Flask): Cloud Run.

    4. Sélectionnez un dossier pour votre exemple, puis cliquez sur Create New Application (Créer une application).

    Une fois que l'éditeur Cloud Shell a chargé votre service dans un nouvel espace de travail, affichez ses fichiers dans la vue de l'explorateur.

    Créer un secret

    Secret Manager vous permet de stocker et de gérer des secrets de manière sécurisée sous forme de chaînes de texte ou de blobs binaires. De plus, il gère vos secrets, ce qui signifie que vous n'avez pas à gérer de machines virtuelles ni de services d'exploitation.

    Pour créer un secret avec l'intégration de Secret Manager dans Cloud Code, procédez comme suit:

    1. Cliquez sur Secret Manager et patientez pendant le chargement.
    2. Si vous êtes invité à autoriser Cloud Shell à effectuer des appels d'API Google Cloud, cliquez sur Autoriser.
    3. Cliquez sur add Créer un secret.
    4. Si vous y êtes invité, sélectionnez votre projet Google Cloud dans le menu déroulant.
    5. Si vous y êtes invité, activez l'API Secret Manager.
    6. Dans l'onglet Secret Manager - Créer un secret qui s'affiche, saisissez la commande suivante dans le champ Nom:

      my-secret
      
    7. Dans le champ Valeur du secret, saisissez:

      Hello secret!
      
    8. Cliquez sur Créer un secret. Un message indiquant que le secret a bien été créé s'affiche.

    Ajouter un secret à votre code

    Les secrets sont parfaits pour stocker des informations de configuration telles que les mots de passe de base de données, les clés API ou les certificats TLS nécessaires à une application au moment de l'exécution.

    Pour ajouter un secret à votre code:

    1. Ouvrez la vue API Cloud, puis sélectionnez API Secret Manager.

      Un onglet "Détails de l'API Google Cloud" s'ouvre avec l'en-tête API Secret Manager.

    2. Dans la section Installer la bibliothèque cliente, cliquez sur l'onglet Python, puis sur play_arrow Exécuter dans le terminal. Cette action installe la bibliothèque cliente google-cloud-secret-manager.

    3. Ouvrez le fichier requirements.txt et ajoutez la ligne suivante en bas du fichier:

      google-cloud-secret-manager==2.1.0
      

      Vos modifications sont enregistrées automatiquement.

    4. Pour obtenir la dernière valeur de votre secret, ouvrez app.py, puis copiez et collez la fonction suivante : après la fonction hello:

      def access_secret_version(secret_version_id):
          """Return the value of a secret's version"""
          from google.cloud import secretmanager
      
          # Create the Secret Manager client.
          client = secretmanager.SecretManagerServiceClient()
      
          # Access the secret version.
          response = client.access_secret_version(name=secret_version_id)
      
          # Return the decoded payload.
          return response.payload.data.decode('UTF-8')
      
      
    5. Pour appeler la fonction access_secret_version, remplacez la variable de message par ce qui suit:

      message = access_secret_version("<SECRET_VERSION_ID>")
      
    6. Si l'onglet Secret Manager - Créer un secret est toujours ouvert, file_copy copie l'ID.

      Pour obtenir l'ID d'une version de secret à tout moment, accédez à Secret Manager > [SECRET_NAME] > Versions, maintenez le pointeur sur votre version, puis cliquez sur Copier l'ID de ressource.

    7. Pour ajouter l'ID de version, remplacez l'espace réservé <SECRET_VERSION_ID> par l'ID de version que vous avez copié.

    Exécuter sur l'émulateur Cloud Run

    Pour tester votre nouveau secret, exécutez votre service Cloud Run localement sur l'émulateur Cloud Run.

    1. Depuis la barre d'état, ouvrez le menu Cloud Code.
    2. Pour créer et déployer votre service sur l'émulateur, sélectionnez Run on Cloud Run Emulator (Exécuter sur l'émulateur Cloud Run).
    3. Dans l'onglet Run/Debug on Cloud Run Emulator qui s'affiche, cliquez sur Run (Exécuter).
    4. Lorsque vous exécutez la configuration pour la première fois, ce processus peut prendre jusqu'à cinq minutes. Le panneau Output (Sortie) affiche la progression de la création et du déploiement de votre application.

    5. Une fois votre application créée, lancez-la en cliquant sur le lien "localhost" qui s'affiche dans le panneau Sortie. La valeur de votre secret s'affiche sous le graphique de réussite.

    Afficher et créer une version du secret

    La vue Secret Manager de Cloud Code vous permet d'obtenir un aperçu rapide des secrets de votre projet, ainsi que des actions permettant de les gérer.

    Afficher la valeur d'une version de secret

    1. Cliquez sur la vue Secret Manager.
    2. Développez votre secret en cliquant dessus.
    3. Dans le dossier Versions, effectuez un clic droit sur la version numérotée dont vous souhaitez afficher la valeur, puis sélectionnez Afficher la valeur de la version.

    Notez que vous ne pouvez pas modifier la version d'un secret. Pour mettre à jour la valeur d'un secret, vous devez créer une autre version.

    Créer une version de secret

    La valeur d'un secret est stockée dans une version de secret. Un secret peut avoir plusieurs versions. Cela s'avère utile lorsqu'un secret change. En mettant à jour un secret avec une nouvelle version, vous n'avez pas besoin de mettre à jour votre code.

    1. Cliquez sur la vue Secret Manager.
    2. Effectuez un clic droit sur le nom de votre secret, puis sélectionnez Créer une version de secret.
    3. Dans l'onglet Secret Manager – Créer une version qui s'affiche, saisissez une nouvelle valeur, puis cliquez sur Créer une version.
    4. Une fois l'onglet Secret Manager - Créer un secret ouvert, cliquez sur file_copy Copier en haut de l'écran et copiez l'ID.
    5. Pour ajouter l'ID de version plus récent, remplacez la version actuelle qui apparaît dans la variable de message dans app.py par l'ID de version plus récent que vous avez copié.

    Si vous souhaitez toujours que votre code utilise la dernière version, remplacez le numéro de version situé à la fin de votre ID de version par latest.

    Afficher et gérer les secrets

    Désactiver une version de secret

    Les versions des secrets sont activées par défaut après leur création, ce qui signifie qu'elles sont accessibles. Un secret désactivé n'est pas accessible, mais vous pouvez toujours en restaurer l'accès à tout moment.

    Pour désactiver la version d'un secret:

    1. Cliquez sur Cloud Code, puis développez la section Secret Manager.
    2. Développez votre secret en cliquant dessus.
    3. Sous le dossier Versions, effectuez un clic droit sur la version numérotée que vous souhaitez désactiver.
    4. Sélectionnez Désactiver la version.

    Détruire la version d'un secret

    Lorsque vous détruisez la version d'un secret, celle-ci devient accessible. La destruction de la version d'un secret est irréversible.

    1. Cliquez sur Cloud Code, puis développez la section Secret Manager.
    2. Développez votre secret en cliquant dessus.
    3. Dans le dossier Versions, effectuez un clic droit sur la version à détruire.
    4. Sélectionnez Supprimer la version.

    Nettoyer

    Pour supprimer uniquement le cluster que vous avez créé pour ce guide de démarrage rapide:

    1. Cliquez sur Cloud Code, puis développez la section Kubernetes.
    2. Maintenez le pointeur sur le nom de votre cluster, puis cliquez sur open_in_new Ouvrir dans la console Google Cloud.
    3. Cliquez sur Supprimer et de nouveau sur Supprimer.

    Pour supprimer votre projet (et les ressources associées, y compris les clusters) :

    1. Accédez à la page Projets de la console Google Cloud :

      Accéder à la page Projets

    2. Sélectionnez le projet que vous avez créé dans ce guide de démarrage rapide, puis cliquez sur Supprimer.

    3. Saisissez l'ID du projet pour confirmer, puis cliquez sur Arrêter.

      Cette opération ferme le projet et programme sa suppression.