Gérer les bibliothèques et les API Cloud

Vous pouvez accéder aux produits et services Google Cloud à partir de votre code à l'aide des API Cloud. Ces API Cloud présentent une interface REST JSON simple que vous pouvez appeler via des bibliothèques clientes.

Ce document explique comment activer les API Cloud et ajouter des bibliothèques clientes Cloud à votre projet.

Parcourir les API Cloud

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

  1. Sélectionnez Tools > Cloud Code > Cloud API (Outils > Cloud Code > API Cloud).
  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. Vous pouvez également rechercher une API spécifique à l'aide de la barre de recherche des API.
  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 état, les instructions d'installation propres à chaque langage pour ses bibliothèques clientes correspondantes et la documentation appropriée.

Activer les API Cloud

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

  1. Dans la vue Détails de l'API Cloud, sélectionnez un projet Google Cloud pour lequel vous souhaitez activer l'API Cloud.
  2. Cliquez sur le bouton Activer l'API.

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

Ajouter des bibliothèques clientes Google Cloud

Pour ajouter des bibliothèques à votre projet dans IntelliJ, procédez comme suit:

Pour les projets Java Maven

  1. Sélectionnez Tools > Cloud Code > Cloud API (Outils > Cloud Code > API Cloud).
  2. La boîte de dialogue Gérer les API Google Cloud affiche les bibliothèques compatibles.

    Capture d'écran montrant la boîte de dialogue Manage Google Cloud APIs (Gérer les API Google Cloud). Cette boîte de dialogue vous permet de sélectionner un module auquel ajouter les bibliothèques, d'afficher la liste des API disponibles à ajouter et de fournir un espace de travail contenant des informations sur chaque API.
  3. Sélectionnez le type de bibliothèque souhaité entre la bibliothèque cliente Google Cloud (recommandé) et la bibliothèque Java Spring GCP.
  4. Dans le menu déroulant Module, sélectionnez le module auquel vous souhaitez ajouter la bibliothèque.
  5. Cliquez sur Ajouter une dépendance Maven pour ajouter un BOM et une bibliothèque cliente à votre projet.

Pour tous les autres projets

  1. Sélectionnez Tools > Cloud Code > Cloud API (Outils > Cloud Code > API Cloud).
  2. La boîte de dialogue Gérer les API Google Cloud affiche les bibliothèques compatibles.

    Capture d'écran montrant la boîte de dialogue "Manage Google Cloud APIs" (Gérer les API Google Cloud).
                      Cette boîte de dialogue affiche la liste des API à ajouter et fournit un espace de travail qui affiche des informations sur l'API.
  3. Installez l'API en suivant les instructions d'installation indiquées sur la page des détails de l'API correspondant à la langue de votre choix.

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 le répertoire local gcloud dans vos pods Kubernetes en modifiant la spécification de pod dans le fichier manifeste de pod ou de déploiement afin que les bibliothèques clientes Google Cloud puissent trouver les identifiants. 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
        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, à l'aide de l'outil de ligne de commande gcloud), vous devez exécuter gcloud auth login --update-adc pour définir votre ADC. 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 au compte de service Compute Engine par défaut :
  • (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 tentez d'accéder nécessite des rôles supplémentaires, accordez-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, sélectionnez le projet dans lequel votre secret est stocké sur la page "Comptes de service".

    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 le compte de service Kubernetes à la configuration de déploiement, accédez à votre configuration d'exécution Cloud Run: Déployer, développez la section Paramètres de révision avancés, puis Spécifiez votre compte de service dans le champ 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 au compte de service Compute Engine par défaut :
  • (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 le compte de service Kubernetes à votre configuration de déploiement, accédez à la configuration d'exécution Cloud Run:Deploy, puis développez la section Paramètres de révision avancés. , puis spécifiez votre compte de service Kubernetes dans le champ Service Account (Compte de service).
      Section "Advanced revision settings" (Paramètres de révision avancés) du panneau "Cloud Run: Deploy" (Cloud Run : Déployer) où le champ "Service Account" (Compte de service) est renseigné avec le nom du compte de service Kubernetes.
    3. Si le service Google Cloud auquel vous tentez d'accéder nécessite des rôles supplémentaires, accordez-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. Les étapes suivantes attribuent à votre compte de service Google le rôle requis pour accéder à un secret secret du gestionnaire de secrets:

  1. Ouvrez le panneau Secret Manager en cliquant sur l'onglet "Secret Manager" dans la barre latérale droite de Cloud Code.

  2. Sélectionnez le secret auquel vous souhaitez accéder dans votre code.

  3. Passez à l'onglet "Autorisations", puis configurez les autorisations de votre secret en cliquant sur l'icône en forme de crayon Modifier l'autorisation. Cliquez sur l'icône en forme de crayon pour ouvrir la page de configuration de Secret Manager dans le navigateur Web.

    Onglet "Permissions" (Autorisations) sélectionné dans "Secret Manager" (Gestionnaire de secrets). On a accentué la visibilité de l'icône permettant de modifier les autorisations.

  4. 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.

  5. 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 un problème sur GitHub ou posez une question sur Stack Overflow.