Cet article explique comment accéder aux API Google Cloud pour le compte d'un utilisateur final. Pour obtenir des informations générales sur l'authentification auprès des API Google Cloud, consultez la page Présentation de l'authentification.
Flux d'authentification
Lorsqu'une application doit accéder aux API Google Cloud pour le compte d'un utilisateur final, elle établit un flux d'autorisation OAuth. Une fois que l'utilisateur a parcouru ce flux, votre application reçoit un jeton d'accès qui lui permet d'appeler des API Google Cloud au nom de l'utilisateur.
Ce processus est un protocole appelé OAuth 2.0.
Pour en savoir plus sur OAuth 2.0, consultez la page OAuth 2.0.
Spécifier des champs d'application OAuth
Lors de l'authentification en tant qu'utilisateur final, vous devez spécifier explicitement les champs d'application OAuth. Les champs d'application OAuth limitent les actions que votre application peut effectuer pour le compte de l'utilisateur final. Par exemple, ces actions peuvent inclure la lecture de fichiers de Cloud Storage ou la gestion de projets Google Cloud.
Consultez la page API spécifique pour en savoir plus sur les champs d'application OAuth disponibles. Par exemple, si vous prévoyez d'utiliser la méthode disks.get()
pour l'API Compute Engine, vous devez définir l'un de ces champs d'application OAuth.
Définissez le champ d'application minimal requis en fonction de votre cas d'utilisation.
Accorder et limiter l'accès aux ressources du projet
Si vous utilisez les identifiants de l'utilisateur final pour accéder aux ressources de votre projet, vous devez lui accorder l'accès aux ressources de votre projet. Faites cela dans Google Cloud en définissant un rôle dans la gestion de l'authentification et des accès (IAM).
Vous voudrez peut-être limiter les ressources auxquelles l'utilisateur a accès, en particulier lorsque vous autorisez l'utilisateur à accéder aux ressources d'un projet vous appartenant. Définissez les rôles en appliquant le principe du moindre privilège à l'utilisateur.
Chaque service dispose d'un ensemble de rôles IAM mais vous pouvez choisir de créer des rôles personnalisés à la place. Pour plus d'informations, consultez les pages Comprendre les rôles et Créer et gérer des rôles personnalisés.
Exemple d'authentification d'un utilisateur final
Renseignez les sections suivantes pour obtenir les identifiants d'un utilisateur final. Les étapes suivantes nécessitent l'utilisation de l'API BigQuery, mais vous pouvez reproduire ce processus avec n'importe quelle API Google Cloud disposant d'une bibliothèque cliente.
Configurer le projet
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
-
Activez l'API BigQuery
-
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
-
Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
-
Activez l'API BigQuery
- Installez les bibliothèques clientes BigQuery.
- Si vous utilisez Python ou Node.js, vous devez installer une bibliothèque d'authentification supplémentaire.
Python
Installez la bibliothèque d'intégration oauthlib pour Google Auth.pip install --upgrade google-auth-oauthlib
Créer vos identifiants client
Avant de pouvoir créer vos identifiants client OAuth, vous devez avoir configuré votre écran de consentement OAuth. Pour en savoir plus, consultez la page Configurer votre écran de consentement OAuth.
Créez vos identifiants client dans Google Cloud Console.
Dans Cloud Console, accédez à la page Identifiants.
Cliquez sur Créer des identifiants, puis sélectionnez ID client OAuth.
Sélectionnez votre type d'application, puis cliquez sur Créer.
Téléchargez les identifiants en sélectionnant le bouton Download JSON (Télécharger JSON) associé à l'ID client.
Enregistrez le fichier d'identifiants sous le nom
client_secrets.json
. Ce fichier doit être distribué avec votre application.
S'authentifier et appeler l'API
Utilisez les identifiants du client pour exécuter le flux OAuth 2.0.
Python
Utilisez les identifiants authentifiés pour vous connecter à l'API BigQuery.
Python
L'exécution de l'exemple de code ouvre un navigateur qui demande l'accès au projet associé aux codes secrets du client. Les identifiants correspondants peuvent ensuite être utilisés pour accéder aux ressources BigQuery de l'utilisateur, car l'exemple a demandé le champ d'application BigQuery.
Dans un cas d'utilisation différent, vous souhaiterez peut-être ajouter des rôles IAM pour déterminer ce à quoi l'utilisateur peut accéder.
Étapes suivantes
- Apprenez-en davantage sur l'authentification auprès d'une API Google Cloud.
- Apprenez-en davantage sur l'authentification en tant que compte de service
- Découvrez comment utiliser les clés API.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Essai gratuit