Cette page décrit certains problèmes courants que vous pouvez rencontrer lors de l'utilisation des identifiants par défaut de l'application (ADC).
Pour en savoir plus sur le fonctionnement des ADC, y compris sur l'emplacement des identifiants, consultez la page Fonctionnement des identifiants par défaut de l'application.
Les identifiants utilisateur ne fonctionnent pas
Si votre requête API renvoie un message d'erreur indiquant que les identifiants de l'utilisateur ne sont pas compatibles avec cette API, que l'API n'est pas activée dans le projet ou qu'aucun projet de quota n'est défini, consultez les informations suivantes.
Il existe deux types d'API Google Cloud :
Les API basées sur des ressources, qui utilisent le projet associé aux ressources accessibles pour la facturation et les quotas.
Les API basées sur un client, qui utilisent le projet associé au client qui accède aux ressources pour la facturation et les quotas.
Lorsque vous fournissez des identifiants utilisateur pour vous authentifier auprès d'une API basée sur un client, vous devez spécifier le projet à utiliser pour la facturation et les quotas. Ce projet est appelé projet de quota.
Il existe plusieurs façons de spécifier un projet de quota, y compris les options suivantes :
Mettez à jour les ADC pour utiliser un projet différent comme projet de quota :
gcloud auth application-default set-quota-project YOUR_PROJECT
Si vous appelez directement l'API REST ou RPC, utilisez l'en-tête HTTP
x-goog-user-project
pour spécifier un projet de quota dans chaque requête. Pour en savoir plus, consultez la section Définir le projet de quota avec une requête REST.
Vous devez disposer de l'autorisation IAM serviceusage.services.use
pour un projet si vous souhaitez le désigner comme votre projet de facturation. L'autorisation serviceusage.services.use
est incluse dans le rôle IAM Consommateur Service Usage. Si vous ne disposez pas de l'autorisation serviceusage.services.use
pour un projet, contactez votre administrateur de sécurité ou un propriétaire de projet qui peut vous attribuer le rôle Consommateur Service Usage sur le projet.
Pour en savoir plus sur les projets de quota, consultez la page Présentation des projets de quota. Pour en savoir plus sur les autres méthodes de définition de projet de quota, consultez la page Définir le projet de quota.
Identifiants incorrects
Si vos identifiants ne semblent pas vous fournir l'accès attendu, ou si vous ne les trouvez pas, vérifiez les points suivants:
Si vous utilisez gcloud CLI pour accéder à Google Cloud dans un environnement local, assurez-vous de bien comprendre les identifiants que vous utilisez. Lorsque vous utilisez gcloud CLI, vous utilisez les identifiants que vous avez fournis à gcloud CLI à l'aide de la commande
gcloud auth login
. Vous n'utilisez pas les identifiants que vous avez fournis au service ADC. Pour en savoir plus sur ces deux ensembles d'identifiants, consultez la page Configuration de l'authentification via gcloud CLI et configuration de l'ADC.Assurez-vous que la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
n'est définie que si vous utilisez une clé de compte de service ou un autre fichier JSON pour ADC. Les identifiants pointés par la variable d'environnement sont prioritaires sur les autres identifiants, y compris pour Workload Identity.Vérifiez que le compte principal effectuant la requête dispose des rôles IAM requis. Si vous utilisez des identifiants utilisateur, les rôles doivent être attribués à l'adresse e-mail associée au compte utilisateur. Si vous utilisez un compte de service, ce compte doit disposer des rôles requis.
Si vous fournissez une clé API avec la requête API, la clé API est prioritaire sur ADC, quel qu'en soit l'emplacement. Si vous avez défini la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
et que vous utilisez une clé API, celle-ci peut renvoyer un avertissement vous informant que les identifiants que vous avez fournis à ADC sont ignorés. Pour arrêter l'avertissement, supprimez la variable d'environnementGOOGLE_APPLICATION_CREDENTIALS
.
Type d'identifiants non reconnus
Si votre requête API renvoie une erreur qui inclut "Erreur de création des identifiants à partir du fichier JSON. Type d'identifiant non reconnu", assurez-vous d'utiliser un identifiant valide. Les fichiers d'ID client ne sont pas compatibles avec la saisie des identifiants pour ADC.
Accès bloqué : erreur d'autorisation
Si vous rencontrez cette erreur lors de la création d'un fichier ADC local avec vos identifiants utilisateur, cela signifie que vous essayez d'ajouter des niveaux d'accès à votre configuration ADC qui ne sont pas compatibles avec la commande de configuration ADC par défaut. En règle générale, ce problème est dû à l'ajout de niveaux d'accès pour des applications en dehors de Google Cloud, comme Google Drive.
Par défaut, les jetons d'accès générés à partir d'un fichier ADC local créé avec des identifiants utilisateur incluent le niveau d'accès à l'échelle du cloud https://www.googleapis.com/auth/cloud-platform
.
Pour spécifier des niveaux d'accès de manière explicite, vous devez utiliser l'option –-scopes
avec la commande gcloud auth application-default login
.
Pour ajouter des niveaux d'accès pour des services en dehors de Google Cloud, tels que Google Drive, créez un ID client OAuth et fournissez-le à la commande gcloud auth application-default login
en utilisant l'option –-client-id-file
, en spécifiant vos niveaux d'accès avec l'option -–scopes
.