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 de Secret Manager dans 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. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. Installez Git pour que Cloud Code peut effectuer des opérations Git, comme cloner un exemple.
  4. installer le plug-in Cloud Code ; si ce n'est pas déjà fait.

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 "Démarrage rapide" qui s'affiche, sélectionnez Nouvelle application, puis 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 des secrets, de les gérer et d'y accéder sous forme de blobs binaires ou de chaînes de texte. De plus, il gère vos secrets, ce qui signifie que vous n'avez pas à vous soucier des machines virtuelles ni des 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 quelques instants pour qu'il se charge.
  2. Si vous êtes invité à autoriser Cloud Shell à effectuer des appels d'API Google Cloud, cliquez sur Autoriser.
  3. Cliquez sur add (ajouter). Créer 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 les informations suivantes dans le champ Nom :

    my-secret
    
  7. Dans le champ Valeur du secret, saisissez les éléments suivants :

    Hello secret!
    
  8. Cliquez sur Créer un secret. Un message s'affiche pour vous indiquer que votre secret a bien été créé.

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 requis par une application lors de son exécution.

Pour ajouter un secret à votre code, procédez comme suit :

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

    Un onglet de détails sur 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. Cliquez sur play_arrow Exécuter dans le terminal. La bibliothèque cliente google-cloud-secret-manager est alors installée.

  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 le fichier 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 les éléments suivants:

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

    Pour obtenir l'ID d'une version de secret à tout moment, accédez à Secret Manager > [NOM_SECRET] > Versions, maintenez le curseur 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 en local 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 Exécution sur l'émulateur Cloud Run.
  3. Dans l'onglet "Run/Debug on Cloud Run Emulator" (Exécuter/Déboguer sur l'émulateur Cloud Run), cliquez sur Exécuter.
  4. Lorsque vous exécutez la configuration pour la première fois, ce processus peut prendre jusqu'à cinq minutes. Le panneau Résultat indique 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 apparaît dans votre Résultat panneau. La valeur de votre secret s'affiche sous le graphique de réussite.

Afficher et créer une version d'un secret

La vue Secret Manager de Cloud Code vous permet d'afficher rapidement les secrets de votre projet, avec des actions pour 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 une version de secret. Pour mettre à jour la valeur d'un secret, vous devez créer une version.

Créer une version secrète

La valeur d'un secret est stockée dans une version de secret. Un secret peut avoir de nombreuses versions. Cela s'avère utile dans les situations où un secret change. Si vous mettez à jour un secret avec une nouvelle version, vous n'avez pas besoin de mettre à jour votre code.

  1. Cliquez sur l'icône Code secret Administrateur.
  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 pour copier l'ID.
  5. Pour ajouter l'ID de version le plus récent, remplacez la version actuelle qui s'affiche dans le message dans app.py par l'ID de version le plus récent que vous avez copié.

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

Afficher et gérer les secrets

Désactiver une version de secret

Les versions de secrets sont activées par défaut après leur création, ce qui signifie qu'elles peuvent être consultées. Un secret désactivé est inaccessible, mais vous pouvez toujours restaurer l'accès à tout moment.

Pour désactiver une version de secret, procédez comme suit :

  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 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 que vous souhaitez détruire.
  4. Sélectionnez Détruire la version.

Nettoyer

Pour supprimer uniquement le cluster que vous avez créé pour ce 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 Ouvrez-les 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.