発生した現象
PowerBIに対して十分な権限を与えているにも関わらず、以下のエラーが発生しクエリの実行が失敗する。
Access Denied: Project XXX: User does not have bigquery.jobs.create permission in project XXX.
解決策
PowerBIで以下のコマンドを実行。
Source = GoogleBigQuery.Database([BillingProject="正しい請求先プロジェクト"])
参考
解説
BigQueryはコンピュートとストレージが高いレベルで分離されているため、権限を考えるときにもそれらについて考慮する必要があります。
詳細は以下の記事で解説しているので、この先を読む前に一読することをおすすめします。
問題のエラーには「bigquery.jobs.create」というメッセージが入っているので、このエラーはコンピュートに関する権限が不足していることが分かります。
通常であればBigQueryがどのプロジェクトのコンピュートリソースで集計処理を行うのかはサービスアカウントのJSONファイルや個人アカウントの認証情報などから自動的に決定されます。
しかし、何かしらの拍子にそのプロジェクトが間違ったものに切り替わってしまうことがあります。
そのため、明示的に請求先プロジェクトを指定することによって、適切な権限でBigQueryにクエリを発行するようにしてエラーを解消します。