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:
Cliquez sur Cloud Code, puis développez la section API Cloud.
La vue "API Cloud" regroupe les APIs Cloud par catégorie.
Pour afficher les détails d'une API, cliquez sur son nom. Des détails tels que le service nom, état, instructions d'installation des bibliothèques clientes, 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 :
- Sur la page des détails de l'API Cloud, choisissez le projet pour lequel vous souhaitez activer l'API Cloud.
- 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.
Cliquez sur Cloud Code, puis développez la section API Cloud.
Pour ouvrir la vue détaillée, cliquez sur le nom d'une API.
Pour afficher les exemples de code de l'API, cliquez sur Exemples de code.
Pour filtrer la liste des échantillons, saisissez le texte à rechercher ou sélectionnez un dans la liste Langage.
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
Machine locale
Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit les identifiants par défaut de votre application, 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 votre ADC et laissez les bibliothèques clientes Google Cloud s'authentifier via ADC en exécutant la commande suivante:
gcloud auth login --update-adc
Minikube
Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit les identifiants par défaut de votre application, et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de la CLI gcloud), configurez vos identifiants par défaut de l'application et laissez les bibliothèques clientes Google Cloud s'authentifier via les identifiants par défaut de l'application en exécutant :
gcloud auth login --update-adc
- Démarrez Minikube en exécutant
minikube start --addons gcp-auth
. Cette opération installe dans vos pods les identifiants par défaut de votre application. Pour en savoir plus sur l'authentification de Minikube avec Google Cloud, consultez la documentation gcp-auth de Minikube.
Autres clusters K8s locaux
Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit les identifiants par défaut de votre application, et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de la CLI gcloud), configurez vos identifiants par défaut de l'application et laissez les bibliothèques clientes Google Cloud s'authentifier via les identifiants par défaut de l'application en exécutant :
gcloud auth login --update-adc
- Pour vous assurer que les bibliothèques clientes Google Cloud peuvent trouver vos identifiants, installez votre répertoire local
~/.config/gcloud
dans vos pods Kubernetes en modifiant les fichiers manifestes de déploiement. - Définissez 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
Si vous vous êtes connecté à Google Cloud dans votre IDE, Cloud Code définit les identifiants par défaut de votre application, et vous pouvez ignorer cette étape. Si vous vous êtes connecté à Google Cloud en dehors de votre IDE (par exemple, à l'aide de la CLI gcloud), configurez vos identifiants par défaut de l'application et laissez les bibliothèques clientes Google Cloud s'authentifier via les identifiants par défaut de l'application 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 la page Créer et gérer des comptes de service. Pour accéder à un guide de démarrage rapide utilisant un compte de service, consultez Utiliser les bibliothèques clientes Cloud dans Cloud Code
Pour ouvrir un terminal, cliquez sur Terminal > Nouveau terminal.
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 indique
SERVICE_ACCOUNT_ID
etPROJECT_ID
pour chacun de vos comptes de service dans la le format suivant:SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
Par exemple, une adresse e-mail de 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
Attribuez le rôle approprié à votre compte de service. L'exemple suivant accorde le rôle d'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'
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
Définissez la clé comme identifiant par défaut :
export \ GOOGLE_APPLICATION_CREDENTIALS=key.json
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 accorder à un utilisateur 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 le mode d'authentification des services Google Cloud sur GKE :
- (Développement uniquement)
- 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é).
- Attribuez les rôles nécessaires à votre compte de service:
- Si vous essayez d'accéder à un secret, suivez cette procédure spécifique à Secret Manager pour configurer les rôles requis pour 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.
- Créez un cluster GKE avec les paramètres suivants :
- (Recommandé pour la production)
- 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.
- 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". - 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 :
- Si vous essayez d'accéder à un secret, suivez cette procédure spécifique à Secret Manager pour configurer les rôles requis pour votre compte de service.
- 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.
Cloud Run
- 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é.
- Cliquez sur Créer un compte de service.
- Dans la boîte de dialogue Créer un compte de service, indiquez un nom descriptif pour le compte de service.
- Remplacez l'ID du compte de service par une valeur unique et facilement reconnaissable, puis cliquez sur Créer.
- 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.
- Pour ajouter votre compte de service à votre configuration de déploiement, procédez comme suit :
- Dans la barre d'état Cloud Code, choisissez la commande Cloud Run : Deploy (Cloud Run : Déployer).
- 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.
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)
- 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é).
- Attribuez les rôles nécessaires à votre compte de service :
- Si vous essayez d'accéder à un secret, suivez cette procédure spécifique à Secret Manager pour configurer les rôles requis pour 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.
- Créez un cluster GKE avec les champs suivants :
- (Recommandé pour la production)
- 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.
- Pour ajouter votre compte de service à votre configuration de déploiement, procédez comme suit :
- Dans la barre d'état Cloud Code, choisissez la commande Cloud Run : Deploy (Cloud Run : Déployer).
- 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.
- 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 :
- Si vous essayez d'accéder à un secret, suivez cette procédure spécifique à Secret Manager pour configurer les rôles requis pour votre compte de service.
- 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.
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 :
Cliquez sur Cloud Code, puis développez la section Secret Manager.
Effectuez un clic droit sur le secret, puis sélectionnez Edit Permissions in Cloud Console (Modifier les autorisations dans la console Cloud). Vous ouvrez ainsi la page de configuration de Secret Manager pour ce secret dans votre navigateur Web.
Dans la console Google Cloud, cliquez sur Autorisations, puis sur Ajouter.
Dans le champ Nouveaux comptes principaux, saisissez le nom de votre compte de service.
Dans le champ Sélectionner un rôle, choisissez le rôle Accesseur de secrets de Secret Manager.
Cliquez sur Enregistrer.
Votre compte de service est désormais autorisé à accéder à ce secret spécifique.