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

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 API Cloud par catégorie.

  2. Pour afficher les détails d'une API, cliquez sur son nom. Les détails tels que le nom du service, l'état, les instructions d'installation pour les bibliothèques clientes, la documentation et les 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 échantillons, saisissez le texte à rechercher ou sélectionnez un dans la liste Langage.

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

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 les étapes d'authentification terminées, votre application peut s'authentifier et est prête à être déployée.

Développement local

L'instance de VM Cloud Shell utilise le compte de service par défaut Compute Engine (le compte de service utilisé par défaut par Google Kubernetes Engine) comme compte de service par défaut. Cela signifie que lorsque vous développez avec à Cloud Code sur Cloud Shell, vous n'avez pas besoin de configurer une configuration supplémentaire lorsque vous utilisez des bibliothèques clientes. Votre application est authentifiés et prêts à être exécutés localement.

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 la page Créer et gérer des comptes de service.

  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, maintenez le pointeur de la souris sur IAM et Admin, 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 du compte de service my-service-account@my-project.iam.gserviceaccount.com propose les éléments suivants : :

    • 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 Utilisateur de l'API Cloud Translation. Pour déterminer le rôle à accorder, 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 autoriser les utilisateurs à empruntent l'identité du compte de service ; exécuter gcloud iam service-accounts add-iam-policy-binding pour attribuer le rôle Utilisateur du compte de service à un utilisateur (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 le mode d'authentification des 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 :
      • Si vous utilisez le compte de service Compute Engine par défaut, les rôles IAM appropriés sont peut-être déjà appliqués.
      • Pour obtenir la liste des types de rôles IAM et des rôles prédéfinis que vous pouvez attribuer aux identités, consultez le guide Comprendre les rôles. Pour connaître les étapes à suivre pour attribuer les rôles, consultez la page Accorder, modifier et révoquer les accès à des ressources.
  • (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 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 souhaitez accéder exige des rôles supplémentaires, attribuez-les, et 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 des paramètres de révision avancés développée dans Cloud Run: champ "Deploy and Service Account" (Déploiement et compte de service) renseigné avec le nom du compte de service au format nom-compte-service@nom-projet.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 champs suivants :
      • Assurez-vous que vous utilisez le compte de service utilisé par GKE, à savoir le compte de service Compute Engine par défaut, et que les Champs d'application de l'accès sont bien définis sur Autoriser l'accès complet à l'ensemble des API Cloud (les deux paramètres sont accessibles dans 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:
      • Si vous utilisez le compte de service Compute Engine par défaut, les rôles IAM appropriés sont peut-être déjà appliqués.
      • Pour obtenir la liste des types de rôles IAM et des rôles prédéfinis que vous pouvez attribuer aux identités, consultez le guide Comprendre les rôles. Pour connaître les étapes à suivre pour attribuer les rôles, consultez la page Accorder, modifier et révoquer les accès à des ressources.
  • (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 à 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 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 essayez d'accéder nécessite des ressources 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. 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 Cloud Console. 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.