Pour accéder Google Cloud par programmation aux produits et services, 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 API Cloud par catégorie.
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 :
- 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 exemples, saisissez du texte à rechercher ou choisissez un langage de programmation 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 Clouden 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 s'authentifier via les identifiants par défaut de l'application en exécutant : Google Cloud
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 Clouden 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 s'authentifier via les identifiants par défaut de l'application en exécutant : Google Cloud
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 Clouden 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 s'authentifier via les identifiants par défaut de l'application en exécutant : Google Cloud
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 Google Cloud ID de projet 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 Clouden 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 s'authentifier via les identifiants par défaut de l'application en exécutant : Google Cloud
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 un guide de démarrage rapide qui utilise 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 sur IAM et administration, puis cliquez sur Comptes de service.
La colonne Adresse e-mail affiche les
SERVICE_ACCOUNT_ID
etPROJECT_ID
uniques de chacun de vos comptes de service au 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 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'
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 Google Cloud service auquel vous essayez d'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 Google Cloud service auquel vous essayez d'accéder exige des rôles supplémentaires, attribuez-les, 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 Google Cloud service auquel vous essayez d'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 Modifier les autorisations dans Cloud Console. 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.