GCPのサービスアカウントに非常にきめ細かいアクセス制御を設定する必要があります。このエラーが表示されます:
「ユーザーSERVICE_ACCOUNTには、プロジェクトPROJECT_IDでbigquery.jobs.create権限がありません」。
UI/gcloud utilを介して、ロールroles/bigqueryを指定できることを知っています。ユーザーですが、このサービスアカウントに持たせたくない他の多くの権限があります。
Gcloud/UIまたはその他の方法で個々の権限を付与するにはどうすればよいですか?
IAMはGoogleCloudConsoleで直接設定できます。
https://console.cloud.google.com/iam-admin/iam/
サービスアカウントは、サーバー側のアプリケーションに使用するように設計されています。 VM、AppEngineなど。言い換えると:
[それは]個々のエンドユーザーではなく、アプリケーションに属するアカウントです。アプリケーションはサービスアカウントに代わってGoogleAPIを呼び出すため、ユーザーが直接関与することはありません。
https://developers.google.com/identity/protocols/OAuth2ServiceAccount
サービスアカウントには、次のように、コンソールを介してさまざまなBigQueryIAMロールを割り当てることができます。
また、コンソールを使用して個々のユーザー(Googleアカウントでバックアップされたメール)をIAMに追加し、BigQueryで個々に持つ必要のあるアクセス許可を次のように選択します。
BigQueryの権限とロールが定義されています ここ .
カスタムロール を使用できます。IAMセクションに表示されます。
必要な権限の特定の組み合わせで役割を作成します。次に、IAMロール割り当てページの[カスタム]に表示され、APIを介して利用できるようになります。
特定のユースケースについては、カスタムロールで次のことを試してください。