Gérer les bibliothèques et les API Cloud

L'accès par programmation aux produits et services Google Cloud nécessite l'utilisation des API Cloud. Ces API présentent une interface REST JSON simple que vous pouvez appeler via des bibliothèques clientes.

Avec Cloud Code, vous pouvez accéder à cette liste consolidée de services Google Cloud associés aux bibliothèques clientes et à la documentation correspondantes, parcourir et activer les API Cloud, et ajouter des bibliothèques clientes Cloud à votre projet, le tout depuis votre IDE.

Parcourir les API Cloud

Pour explorer toutes les API Google Cloud disponibles dans votre IDE, procédez comme suit:

  1. Cliquez sur l'icône Cloud Code – API Cloud Icône Cloud Code - API Cloud dans la barre d'activité.
  2. Développez l'arborescence de l'explorateur des API Google Cloud pour afficher toutes les API disponibles. L'explorateur regroupe les API Cloud par catégorie.
  3. Capture d'écran montrant la liste des API Cloud affichées dans l'arborescence.

  4. Cliquez sur une API pour afficher plus de détails, tels que son nom de service, son état, les instructions d'installation de ses bibliothèques clientes correspondantes et la documentation correspondante.

Activer les API Cloud

Pour activer rapidement des API Cloud pour un projet à l'aide de la page des détails de l'API, procédez comme suit:

  1. Sur la page d'informations de l'API Cloud, sélectionnez le projet pour lequel vous souhaitez activer l'API Cloud.
  2. Capture d'écran montrant plus de détails sur l'API Cloud sélectionnée

  3. Cliquez sur le bouton Activer l'API.

    Une fois l'API activée, un message confirme cette modification.

Ajouter des bibliothèques clientes à votre projet

En plus d'explorer et d'activer les API Cloud à l'aide de Cloud Code, vous pouvez également ajouter à votre projet une bibliothèque cliente spécifique au langage. Vous devez l'installer. La page "Détails de l'API" contient des instructions d'installation pour chaque langage.

Capture d'écran montrant les instructions d'installation d'une bibliothèque cliente correspondant à une API Cloud

Configurer l'authentification

Une fois que vous avez activé les API et ajouté les bibliothèques clientes nécessaires, vous devez configurer votre application pour qu'elle puisse s'authentifier. La configuration à effectuer dépend du type de développement et de la plate-forme sur laquelle vous exécutez l'application.

Une fois que vous avez suivi les étapes d'authentification appropriées, votre application peut s'authentifier et être prête à être déployée.

Développement local

Machine locale

  1. Si vous vous êtes connecté à Google Cloud via votre IDE, alors Cloud Code a mis en place les identifiants par défaut de votre application (ADC).
    Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, via l'outil de ligne de commande gcloud), vous devez exécuter la commande gcloud auth login --update-adc pour mettre en place les identifiants par défaut de votre application. Cette commande permet également aux bibliothèques clientes Google Cloud de trouver ces identifiants afin de s'authentifier.

Minikube

  1. Si vous vous êtes connecté à Google Cloud via votre IDE, alors Cloud Code a mis en place les identifiants par défaut de votre application (ADC).
    Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, via l'outil de ligne de commande gcloud), vous devez exécuter la commande gcloud auth login --update-adc pour mettre en place les identifiants par défaut de votre application. Cette commande permet également à Minikube de trouver ces identifiants afin de s'authentifier.
  2. Démarrez Minikube à l'aide de la commande minikube start --addons gcp-auth. Cette opération installe dans vos pods les identifiants par défaut de votre application. Pour un guide d'authentification détaillé de Minikube pour Google Cloud, reportez-vous à la documentation gcp-auth de Minikube.

Autres clusters K8s locaux

  1. Si vous vous êtes connecté à Google Cloud via votre IDE, alors Cloud Code a mis en place les identifiants par défaut de votre application (ADC).
    Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, via l'outil de ligne de commande gcloud), vous devez exécuter la commande gcloud auth login --update-adc pour mettre en place les identifiants par défaut de votre application.
  2. Installez votre répertoire local ~/.config/gcloud dans vos pods Kubernetes en modifiant les fichiers manifestes de déploiement afin que les bibliothèques clientes Google Cloud puissent trouver vos identifiants. Vous devez également définir votre ID de projet Google Cloud en tant que variable d'environnement nommée GOOGLE_CLOUD_PROJECT. Exemple de configuration de pod Kubernetes :
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        env:
        - name: GOOGLE_CLOUD_PROJECT
          value: my-project-id
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

  1. Si vous vous êtes connecté à Google Cloud via votre IDE, alors Cloud Code a mis en place les identifiants par défaut de votre application (ADC).
    Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, via l'outil de ligne de commande gcloud), vous devez exécuter la commande gcloud auth login --update-adc pour mettre en place les identifiants par défaut de votre application. Cette commande permet également à l'environnement local de simulation de Cloud Run de trouver les identifiants par défaut de votre application afin de s'authentifier.

Développement à distance

Google Kubernetes Engine

Selon le champ d'application de votre projet, vous pouvez choisir le mode d'authentification des services Google Cloud sur GKE :

  • (Développement uniquement)
    1. Créez un cluster GKE avec les paramètres suivants :
      • Assurez-vous que vous utilisez le compte de service que GKE utilise par défaut, le compte de service Compute Engine par défaut et que le paramètre Niveaux d'accès est défini sur Autoriser l'accès complet aux toutes les API Cloud (les paramètres sont accessibles dans la section Pools de nœuds > Sécurité).
        Comme le compte de service Compute Engine est partagé par Toutes les charges de travail déployées sur votre nœud, cette méthode dépasse les autorisations et ne doit être utilisée que pour le développement.
      • Assurez-vous que Workload Identity n'est pas activé sur votre cluster (dans la section Cluster > Sécurité).
    2. Attribuez les rôles nécessaires à votre compte de service :
  • (Recommandé pour la production)
    1. Configurez votre cluster et votre application GKE avec Workload Identity afin d'authentifier les services Google Cloud sur GKE. Cette opération associe votre compte de service Kubernetes à votre compte de service Google.
    2. Dans le fichier YAML de votre déploiement Kubernetes, définissez le champ .spec.serviceAccountName afin que votre déploiement référence le compte de service Kubernetes.
      Si vous travaillez sur une application créée à partir d'un modèle Cloud Code, ce fichier se trouve dans le dossier "kubernetes-manifests".
    3. Si le service Google Cloud auquel vous souhaitez accéder exige des rôles supplémentaires, attribuez-les au compte de service Google que vous utilisez pour développer votre application :

Cloud Run

  1. Pour créer un compte de service unique pour le déploiement de votre application Cloud Run, accédez à la page "Comptes de service", puis sélectionnez le projet dans lequel votre clé secrète est stockée.

    Accéder à la page Comptes de service

  2. Cliquez sur Créer un compte de service.
  3. Dans la boîte de dialogue Créer un compte de service, saisissez un nom descriptif pour le compte de service.
  4. Remplacez l'ID du compte de service par une valeur unique et reconnaissable, puis cliquez sur Créer.
  5. Si le service Google Cloud auquel vous tentez d'accéder nécessite des rôles supplémentaires, attribuez-lui des rôles, cliquez sur Continuer, puis sur Terminé.
  6. Pour ajouter votre compte de service à la configuration de déploiement, procédez comme suit :
    1. À l'aide de la barre d'état de Cloud Code, sélectionnez la commande Cloud Run: Déployer.
    2. Dans le champ Compte de service de l'interface utilisateur de déploiement de Cloud Run, sous Paramètres de révision, spécifiez votre compte de service.
    Section "Advanced revision settings" (Paramètres de révision avancés) développée dans le panneau "Cloud Run: Deploy" (Cloud Run : Déployer). Le champ "Service Account" (Compte de service) est renseigné avec le nom du compte de service au format service-account-name@project-name.iam.gserviceaccount.com

Cloud Run

Selon le champ d'application de votre projet, vous pouvez choisir le mode d'authentification des services Google Cloud sur GKE :

  • (Développement uniquement)
    1. Créez un cluster GKE avec les paramètres suivants :
      • Assurez-vous que vous utilisez le compte de service que GKE utilise par défaut, le compte de service Compute Engine par défaut et que le paramètre Niveaux d'accès est défini sur Autoriser l'accès complet aux toutes les API Cloud (les paramètres sont accessibles dans la section Pools de nœuds > Sécurité).
        Comme le compte de service Compute Engine est partagé par Toutes les charges de travail déployées sur votre nœud, cette méthode dépasse les autorisations et ne doit être utilisée que pour le développement.
      • Assurez-vous que Workload Identity n'est pas activé sur votre cluster (dans la section Cluster > Sécurité).
    2. Attribuez les rôles nécessaires à votre compte de service :
  • (Recommandé pour la production)
    1. Configurez votre cluster et votre application GKE avec Workload Identity afin d'authentifier les services Google Cloud sur GKE. Cette opération associe votre compte de service Kubernetes à votre compte de service Google.
    2. Pour ajouter votre compte de service à la configuration de déploiement, procédez comme suit :
      1. À l'aide de la barre d'état de Cloud Code, sélectionnez la commande Cloud Run: Déployer.
      2. Dans le champ Compte de service de l'interface utilisateur de déploiement de Cloud Run, sous Paramètres de révision, spécifiez votre compte de service.
      Section "Paramètres de révision avancés" développée dans le panneau "Cloud Run : Déployer". Le champ "Compte de service" est renseigné avec le nom du compte de service Kubernetes au format service-account-name@project-name.iam.gserviceaccount.com
    3. Si le service Google Cloud auquel vous souhaitez accéder exige des rôles supplémentaires, attribuez-les au compte de service Google que vous utilisez pour développer votre application :

Développement à distance avec le gestionnaire de secrets activé

Si vous développez votre application à distance, que vous utilisez un compte de service pour l'authentification et que votre application utilise des secrets, vous devez effectuer quelques étapes supplémentaires après avoir suivi les instructions pour le développement à distance. Ces étapes ont pour objectif d'attribuer à votre compte de service Google le rôle requis pour accéder à un secret spécifique du gestionnaire de secrets :

  1. Ouvrez le panneau "Secret Manager" Icône de Secret Manager et sélectionnez le secret auquel vous souhaitez accéder depuis votre code.

    Secret Manager s'ouvre dans Cloud Code avec deux secrets répertoriés

  2. Effectuez un clic droit sur le secret, puis sélectionnez Modifier les autorisations dans Cloud Console. La page de configuration de Secret Manager se lance pour votre navigateur Web.

    Secret sur lequel a été effectué un clic droit dans le panneau de Secret Manager

  3. Dans Cloud Console, cliquez sur Afficher le panneau d'informations, puis sur Ajouter un membre.

    Détails d'un secret affiché dans la page "Secret" de Cloud Console dans le navigateur. Le bouton "Add member" (Ajouter un membre) est encadré en rouge dans le panneau d'informations.

  4. Attribuez le rôle Accesseur de secrets de Secret Manager à votre compte de service.

    Dans le panneau "Ajouter des membres au test", le compte de service est affiché au format service-account-name@project-name.iam.gservicesaccount.com dans le champ "Nouveaux membres". La liste déroulante "Sélectionner un rôle" est affichée de façon à montrer que le rôle "Accesseur de secrets de Secret Manager" est sélectionné dans la catégorie "Secret Manager".

    Votre compte de service est désormais autorisé à accéder à ce secret spécifique.

Assistance

Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.