サービス アカウント

このページでは、サービス アカウントと、Cloud Dataproc でのサービス アカウントの使用方法について説明します。

サービス アカウントとは

サービス アカウントとは、Compute Engine のインスタンス上で実行されるサービスやアプリケーションが使用し、他の Google Cloud Platform API と対話することを可能にする特殊なアカウントです。アプリケーションは、それ自体を認証して API を設定するためにサービス アカウントの認証情報を使用し、サービス アカウントおよび仮想マシンのインスタンスに付与された権限の範囲内でアクションを実行できます。

Compute Engine 仮想マシンを作成するときに、そのマシンで特定のサービス アカウントを使用するように構成できます。サービス アカウントを指定しなかった場合は、デフォルトのサービス アカウントが使用されます。詳細については、Compute Engine のサービス アカウントのドキュメントをご覧ください。

Cloud Dataproc 内のサービス アカウント

Cloud Dataproc クラスタは、Compute Engine 仮想マシン上に構築されています。 Cloud Dataproc クラスタの作成時にユーザー マネージド サービス アカウントを指定すると、そのクラスタ内の Cloud Dataproc 仮想マシンに対してそのサービス アカウントを使用できます。サービス アカウントを指定しなかった場合は、Cloud Dataproc 仮想マシンでデフォルトの Google マネージド Compute Engine サービス アカウント [project-number]-compute@developer.gserviceaccount.com が使用されます。

サービス アカウントを指定する理由

サービス アカウントには IAM の役割が与えられます。Cloud Dataproc クラスタの作成時にユーザー マネージド サービス アカウントを指定すると、クラウド リソースにアクセスしてきめ細かく制御可能なクラスタを作成して使用できます。Cloud Dataproc クラスタごとに異なるユーザー マネージド サービス アカウントを使用すると、クラスタからクラウド リソースに複数のアクセスができます。

サービス アカウントの要件と制限

  • サービス アカウントはクラスタの作成時にしか設定できません。
  • サービス アカウントに関連付けられる Cloud Dataproc クラスタを作成する前に、サービス アカウントを作成する必要があります。
  • 設定後は、クラスタに使用されるサービス アカウントを変更することができません。
  • サービス アカウントに、ニーズに応じた範囲と IAM の役割が割り当てられていることを確認してください。
  • Cloud Dataproc で使用するサービス アカウントには、Dataproc/Dataproc ワーカーの役割(または Dataproc ワーカーの役割によって付与されるすべての権限)が必要です。
  • サービス アカウントは、クラスタが作成されるプロジェクト内に存在する必要があります。
  • Dataproc クラスタ内で使用される Compute Engine 仮想マシンには、特定のアクセス スコープが必要です。アクセス スコープは、適用先のサービスにも制限されます。たとえば、Cloud Dataproc クラスタに Cloud Storage の https://www.googleapis.com/auth/storage-full スコープのみが与えられている場合、その同じスコープを使用して BigQuery に対するリクエストを行うことはできません。

サービス アカウントの使用

Cloud Dataproc API clusters.create リクエストまたは Cloud SDK gcloud コマンドライン ツールを使用して、新しい Cloud Dataproc クラスタを作成するときに、ユーザー マネージド サービス アカウントを指定できます。

gcloud コマンド

ユーザー指定のサービス アカウントとアクセス スコープを持つ新しいクラスタを作成するには、gcloud clusters create コマンドを使用します。
gcloud dataproc clusters create cluster-name \
  --service-account=service-account-name@project-id.iam.gserviceaccount.com
  --scopes=scope[, ...]

REST API

GceClusterConfig オブジェクトに clusters.create API リクエストの一部として serviceAccountserviceAccountScopes を設定できます。

Console

GCP Console でユーザー マネージド サービス アカウントを設定できるようにするための Cloud Dataproc サポートは、今後のリリースで追加される予定です。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Dataproc ドキュメント
ご不明な点がありましたら、Google のサポートページをご覧ください。