web-dev-qa-db-ja.com

BigQueryユーザーにGoogleCloudPlatformで個別の権限を付与するにはどうすればよいですか

GCPのサービスアカウントに非常にきめ細かいアクセス制御を設定する必要があります。このエラーが表示されます:

「ユーザーSERVICE_ACCOUNTには、プロジェクトPROJECT_IDでbigquery.jobs.create権限がありません」。

UI/gcloud utilを介して、ロールroles/bigqueryを指定できることを知っています。ユーザーですが、このサービスアカウントに持たせたくない他の多くの権限があります。

Gcloud/UIまたはその他の方法で個々の権限を付与するにはどうすればよいですか?

8
yura

IAMはGoogleCloudConsoleで直接設定できます。

https://console.cloud.google.com/iam-admin/iam/

サービスアカウントは、サーバー側のアプリケーションに使用するように設計されています。 VM、AppEngineなど。言い換えると:

[それは]個々のエンドユーザーではなく、アプリケーションに属するアカウントです。アプリケーションはサービスアカウントに代わってGoogleAPIを呼び出すため、ユーザーが直接関与することはありません。

https://developers.google.com/identity/protocols/OAuth2ServiceAccount

サービスアカウントには、次のように、コンソールを介してさまざまなBigQueryIAMロールを割り当てることができます。 enter image description here

また、コンソールを使用して個々のユーザー(Googleアカウントでバックアップされたメール)をIAMに追加し、BigQueryで個々に持つ必要のあるアクセス許可を次のように選択します。 enter image description here

BigQueryの権限とロールが定義されています ここ . enter image description here

7
Graham Polley

カスタムロール を使用できます。IAMセクションに表示されます。

enter image description here

必要な権限の特定の組み合わせで役割を作成します。次に、IAMロール割り当てページの[カスタム]に表示され、APIを介して利用できるようになります。

特定のユースケースについては、カスタムロールで次のことを試してください。

  • bigquery.jobs.create
  • bigquery.jobs.get
  • bigquery.tables.create
  • bigquery.tables.update
4
Paul Kenjora