Gérer les API Cloud et les bibliothèques clientes Cloud dans Cloud Code pour VS Code

Pour accéder aux produits et services Google Cloud par programmation, vous utilisez les API Cloud. Ces API utilisent une interface JSON REST simple. La méthode recommandée pour accéder aux API Cloud consiste à utiliser les bibliothèques clientes Cloud.

Cloud Code facilite l'ajout des bibliothèques clientes Cloud pour les API Cloud et le langage spécifique que vous utilisez dans votre projet. Dans la même vue, vous pouvez rechercher des exemples pour chaque API et intégrer facilement des exemples de code dans votre application.

Parcourir les API Cloud

Pour explorer toutes les API Google Cloud disponibles :

  1. Cliquez sur Cloud Code, puis développez la section API Cloud.

    La vue "API Cloud" regroupe les APIs Cloud par catégorie.

  2. Pour afficher les détails d'une API, cliquez sur son nom. Des informations telles que le nom du service, son état, les instructions d'installation des bibliothèques clientes, la documentation et des exemples de code s'affichent.

Activer les API Cloud

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

  1. Sur la page des détails de l'API Cloud, choisissez le projet pour lequel vous souhaitez activer l'API Cloud.
  2. Cliquez sur Enable API (Activer l'API). Une fois l'API activée, un message s'affiche pour confirmer la 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.

Pour installer une bibliothèque cliente, suivez les instructions de la page des détails de l'API correspondant à votre langage.

Utiliser des exemples d'API

Vous pouvez rechercher et utiliser des exemples de code pour chaque API dans le navigateur d'API.

  1. Cliquez sur Cloud Code, puis développez la section API Cloud.

  2. Pour ouvrir la vue détaillée, cliquez sur le nom d'une API.

  3. Pour afficher les exemples de code de l'API, cliquez sur Exemples de code.

  4. Pour filtrer la liste des exemples, saisissez du texte à rechercher ou choisissez un langage de programmation dans la liste Langage.

  5. Pour afficher un exemple, cliquez sur son nom. Vous pouvez également copier l'exemple dans votre presse-papiers ou l'afficher sur GitHub.

Configurer l'authentification

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

Une fois les étapes d'authentification terminées, votre application peut s'authentifier et est prête à être déployée.

Développement local

Machine locale

Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit vos identifiants par défaut de l'application (ADC, Application Default Credentials) et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de gcloud CLI), configurez ADC et laissez les bibliothèques clientes Google Cloud s'authentifier via ADC en exécutant :

gcloud auth login --update-adc

Minikube

  1. Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit vos identifiants par défaut de l'application (ADC, Application Default Credentials) et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de gcloud CLI), configurez ADC et laissez les bibliothèques clientes Google Cloud s'authentifier via ADC en exécutant :

    gcloud auth login --update-adc
  2. Démarrez Minikube en exécutant minikube start --addons gcp-auth. Cette commande installe votre ADC dans vos pods. Pour en savoir plus sur l'authentification minikube avec Google Cloud, consultez la documentation minikube gcp-auth.

Autres clusters K8s locaux

  1. Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit vos identifiants par défaut de l'application (ADC, Application Default Credentials) et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de gcloud CLI), configurez ADC et laissez les bibliothèques clientes Google Cloud s'authentifier via ADC en exécutant :

    gcloud auth login --update-adc
  2. Pour vous assurer que les bibliothèques clientes Google Cloud peuvent trouver vos identifiants, montez votre répertoire local ~/.config/gcloud dans vos pods Kubernetes en modifiant les fichiers manifestes de déploiement.
  3. Définissez l'ID de votre projet Google Cloud en tant que variable d'environnement nomméeGOOGLE_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

Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit vos identifiants par défaut de l'application (ADC, Application Default Credentials) et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de gcloud CLI), configurez ADC et laissez les bibliothèques clientes Google Cloud s'authentifier via ADC en exécutant :

gcloud auth login --update-adc

Développement local avec des API nécessitant un compte de service

Certaines API, comme l'API Cloud Translation, nécessitent un compte de service disposant des autorisations appropriées pour authentifier vos requêtes. Pour en savoir plus, consultez Créer et gérer des comptes de service. Pour un guide de démarrage rapide qui utilise un compte de service, consultez Utiliser les bibliothèques clientes Cloud dans Cloud Code.

  1. Pour ouvrir un terminal, cliquez sur Terminal > Nouveau terminal.

  2. Créez un compte de service pour authentifier vos requêtes API :

    gcloud iam service-accounts create \
    SERVICE_ACCOUNT_ID \
    --project PROJECT_ID

    Remplacez les valeurs suivantes :

    • SERVICE_ACCOUNT_ID : ID du compte de service.
    • PROJECT_ID : ID du projet

    Pour trouver ces ID dans Google Cloud, cliquez sur le menu de navigation en haut à gauche de l'écran, pointez sur IAM et administration, puis cliquez sur Comptes de service.

    La colonne Adresse e-mail affiche les SERVICE_ACCOUNT_ID et PROJECT_ID uniques de chacun de vos comptes de service au format suivant :

    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com

    Par exemple, l'adresse e-mail d'un compte de service my-service-account@my-project.iam.gserviceaccount.com a les valeurs suivantes :

    • SERVICE_ACCOUNT_ID : my-service-account
    • PROJECT_ID : my-project
  3. Attribuez le rôle approprié à votre compte de service. L'exemple de commande suivant attribue le rôle d'utilisateur de l'API Cloud Translation. Pour déterminer le rôle à attribuer, consultez la documentation de l'API Cloud que vous utilisez.

    gcloud projects \
    add-iam-policy-binding \
    PROJECT_ID \
    --member='serviceAccount:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com' \
    --role='roles/cloudtranslate.user'
  4. Créez une clé de compte de service :

    gcloud iam service-accounts keys \
    create key.json --iam-account \
    SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
  5. Définissez la clé comme identifiant par défaut :

    export \
     GOOGLE_APPLICATION_CREDENTIALS=key.json
    
  6. Facultatif : Pour permettre aux utilisateurs d'emprunter l'identité du compte de service, exécutez la commande gcloud iam service-accounts add-iam-policy-binding pour leur accorder le rôle Utilisateur du compte de service (roles/iam.serviceAccountUser) sur le compte de service :

    gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com \
        --member="user:USER_EMAIL" \
        --role="roles/iam.serviceAccountUser"

    Remplacez les valeurs suivantes :

    • USER_EMAIL : adresse e-mail de l'utilisateur.

Développement à distance

GKE

Selon le champ d'application de votre projet, vous pouvez choisir la manière dont vous authentifiez les services Google Cloud sur GKE :

  • (Développement uniquement)
    1. Créez un cluster GKE avec les paramètres suivants :
      • Vérifiez que vous utilisez le compte de service utilisé par GKE et le compte de service Compute Engine par défaut, et que le champ Niveaux d'accès est défini sur Autoriser l'accès complet à toutes les API Cloud (les deux paramètres sont accessibles dans la section Pools de nœuds > Sécurité). Le compte de service Compute Engine étant partagé par toutes les charges de travail déployées sur votre nœud, cette méthode surprovisionne les autorisations et doit être utilisée uniquement 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 GKE et votre application avec Workload Identity pour 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 exemple de code Cloud Code, ce fichier se trouve dans le dossier kubernetes-manifests.
    3. Si le service Google Cloud auquel vous essayez d'accéder nécessite des rôles supplémentaires, accordez-les pour le compte de service Google que vous utilisez pour développer votre application :

Cloud Run

  1. Pour créer un compte de service unique pour déployer votre application Cloud Run, accédez à la page Comptes de service, puis sélectionnez le projet dans lequel votre secret est stocké.

    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, indiquez un nom descriptif pour le compte de service.
  4. Remplacez l'ID du compte de service par une valeur unique et facilement reconnaissable, puis cliquez sur Créer.
  5. Si le service Google Cloud auquel vous essayez d'accéder nécessite des rôles supplémentaires, accordez-les, cliquez sur Continuer, puis sur OK.
  6. Pour ajouter votre compte de service à votre configuration de déploiement, procédez comme suit :
    1. Dans la barre d'état Cloud Code, choisissez la commande Cloud Run : Deploy (Cloud Run : Déployer).
    2. Dans le champ Compte de service de l'interface utilisateur de déploiement Cloud Run, spécifiez votre compte de service sous Paramètres de révision.
    Section "Paramètres de révision avancés" développée dans Cloud Run : champ "Déployer" et champ "Compte de service" remplis 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 la manière dont vous authentifiez les services Google Cloud sur GKE :

  • (Développement uniquement)
    1. Créez un cluster GKE avec les champs suivants :
      • Assurez-vous d'utiliser le compte de service que GKE utilise par défaut, à savoir le compte de service Compute Engine par défaut, et que les niveaux d'accès sont définis sur Autoriser l'accès complet à toutes les API Cloud (ces deux paramètres sont accessibles dans la section Pools de nœuds > Sécurité). Étant donné que le compte de service Compute Engine est partagé par toutes les charges de travail déployées sur votre nœud, cette méthode surprovisionne 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 GKE et votre application avec Workload Identity pour 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 à votre configuration de déploiement, procédez comme suit :
      1. Dans la barre d'état Cloud Code, choisissez la commande Cloud Run : Deploy (Cloud Run : Déployer).
      2. Dans le champ Compte de service de l'interface utilisateur de déploiement Cloud Run, spécifiez votre compte de service sous Paramètres de révision.
      Section "Paramètres avancés de révision" développée dans Cloud Run : champ "Déployer" et champ "Compte de service" remplis 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 essayez d'accéder nécessite des rôles supplémentaires, accordez-les pour le compte de service Google que vous utilisez pour développer votre application :

Développement à distance avec les autorisations Secret Manager activées

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 attribuent à votre compte de service Google le rôle requis pour accéder à un secret Secret Manager spécifique :

  1. Cliquez sur Cloud Code, puis développez la section Secret Manager.

    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 la console Cloud. Vous ouvrez ainsi la page de configuration de Secret Manager pour ce secret dans votre navigateur Web.

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

  3. Dans la console Google Cloud , cliquez sur Autorisations, puis sur Ajouter.

  4. Dans le champ Nouveaux comptes principaux, saisissez le nom de votre compte de service.

  5. Dans le champ Sélectionner un rôle, choisissez le rôle Accesseur de secrets de Secret Manager.

  6. Cliquez sur Enregistrer.

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

Obtenir de l'aide

Pour envoyer des commentaires, posez une question sur Stack Overflow. Si vous êtes un client Google Cloud, vous pouvez envoyer des demandes via les canaux d'assistance Google Cloud standards.