2 votes

Comment corriger le message "L'utilisateur n'a pas le droit d'interroger la table XYZ" dans BigQuery ?

Je veux faire une requête BQ via la page d'accueil du site. bq commandement.

Voici ma commande :

bq query    --application_default_credential_file $GOOGLE_APPLICATION_CREDENTIALS  
  --nouse_legacy_sql 'SELECT * FROM `my_project.data.Document` limit 100' 

GOOGLE_APPLICATION_CREDENTIALS pointe vers un fichier d'accréditation. Je peux utiliser cette variable pour activer gcloud pour accéder aux ressources de mon projet.

La requête s'exécute correctement si je l'exécute directement dans l'interface utilisateur de bigquery query. Je me connecte en tant que moi-même.

Cependant bq a échoué avec cette erreur Access Denied: Table my_project:data.Document: User does not have permission to query table my_project:data.Document.

J'ai accordé ces rôles à l'id, un compte de service, contenu dans le fichier d'accréditation :

enter image description here

Ai-je manqué un rôle/une autorisation ?

0voto

mk_sta Points 2398

Je suppose que vous êtes au courant du fait que bq de l'exécuteur autorisation ont été dépréciés et ne sont plus utilisés, d'où le drapeau --application_default_credential_file est plus comme redondant dans votre initial bq query commande. En général, bq les paramètres d'autorisation interféraient parfois avec gcloud lettre de créance paramètres provoquant des résultats imprévisibles. Selon les directives officielles, vous devez suivre les instructions normales du SDK pour effectuer la configuration de l'autorisation :

Les drapeaux d'autorisation bq sont dépréciés. Pour configurer l'autorisation pour l'outil de ligne de commande bq, voir Autorisation des outils SDK pour le Cloud .

Défaut @appspot.gserviceaccount.com Le compte de service App Engine a accordé primitif Editor rôle, en admettant qu'il a accès à toutes les ressources, à des roles/bigquery.dataViewer y roles/bigquery.user Les permissions sont tout à fait inutiles ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X