Cloud Dataflow アクセス制御ガイド

概要

Cloud Dataflow IAM の役割を使用すれば、Cloud Platform プロジェクト全体に対する閲覧者、編集者、オーナーの権限をユーザーに付与するのではなく、プロジェクトまたは組織内のユーザーのアクセス権を Cloud Dataflow に関連するリソースのみに限定できます。

このページでは、Cloud Dataflow の IAM 役割の使い方を中心に説明します。IAM とその機能の詳しい説明については、Google Cloud Identity and Access Management デベロッパー ガイドをご覧ください。

どの Cloud Dataflow メソッドでも、呼び出し側に一定の権限が必要になります。Cloud Dataflow でサポートされる権限と役割については、次のセクションをご覧ください。

権限と役割

ここでは、Cloud Dataflow IAM でサポートされる権限と役割を簡単に説明します。

必要な権限

呼び出し元が各メソッドを呼び出す際に必要となる権限のリストを次の表に示します。

メソッド 必要な権限
dataflow.jobs.create dataflow.jobs.create
dataflow.jobs.cancel dataflow.jobs.cancel
dataflow.jobs.updateContents dataflow.jobs.updateContents
dataflow.jobs.list dataflow.jobs.list
dataflow.jobs.get dataflow.jobs.get
dataflow.messages.list dataflow.messages.list
dataflow.metrics.get dataflow.metrics.get

役割

次の表に、Cloud Dataflow IAM の役割と、各役割に含まれているすべての権限に対応するリストを示します。各権限は、特定のリソースタイプに適用できます。

roles/
dataflow.admin
Dataflow 管理者 Dataflow ジョブを作成し、管理するための最低限の役割。 compute.machineTypes.get
dataflow.*
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.get
storage.objects.create
storage.objects.get
storage.objects.list
roles/
dataflow.developer
Dataflow デベロッパー Dataflow ジョブを実行、操作するために必要な権限を付与します。 dataflow.*
resourcemanager.projects.get
resourcemanager.projects.list
プロジェクト roles/
dataflow.viewer
Dataflow 閲覧者 すべての Dataflow 関連リソースに対する読み取り専用アクセス権を付与します。 dataflow.jobs.get
dataflow.jobs.list
dataflow.messages.*
dataflow.metrics.*
resourcemanager.projects.get
resourcemanager.projects.list
プロジェクト roles/
dataflow.worker
Dataflow ワーカー Compute Engine サービス アカウントが Dataflow パイプラインの作業単位を実行するために必要な権限を付与します。 compute.instanceGroupManagers.update
compute.instances.delete
compute.instances.setDiskAutoDelete
dataflow.jobs.get
logging.logEntries.create
storage.objects.create
storage.objects.get
プロジェクト
役割 役職 説明 権限 最下位のリソース

注:Cloud Dataflow Worker の役割(roles/dataflow.worker)により、Apache Beam パイプラインの作業単位を実行するために必要な権限(dataflow.workItems.leasedataflow.workItems.updatedataflow.workItems.sendMessage)が付与されます。通常は、そのようなアカウントにのみこの役割を割り当てて、Cloud Dataflow サービスの作業をリクエストしたり更新したりする許可のみを与えます。

ジョブの作成

ジョブを作成するために、roles/dataflow.admin には、ジョブの実行と確認に必要な最低限の権限一式が含まれています。

あるいは、次の権限が必要です。

  • roles/dataflow.developer の役割は、ジョブをインスタンス化するために必要です。
  • roles/compute.viewer の役割は、マシンタイプ情報にアクセスし、その他の設定を表示するために必要です。
  • roles/storage.objectAdmin の役割は、Cloud Storage 上のファイルをステージングする権限を付与するために必要です。

役割の割り当て例

Cloud Dataflow のさまざまな役割の用途の例として、以下の点を考慮してください。

  • ジョブの作成と確認を行うデベロッパーには、roles/dataflow.admin の役割が必要です。
  • 権限をより詳細に管理する場合、Cloud Dataflow ジョブを扱うデベロッパーには、roles/dataflow.developer の役割が必要です。
    • 必要なファイルをステージングするには、roles/storage.objectAdmin または関連する役割が必要です。
    • デバッグと割り当ての確認を行うには、プロジェクトの roles/compute.viewer の役割が必要です。
    • 他の役割の割り当てがない場合、デベロッパーは Cloud Dataflow ジョブの作成とキャンセルを行えますが、個々の VM を操作したり、他の Cloud サービスにアクセスしたりすることはできません。
  • コントローラ サービス アカウントが Cloud Dataflow サービスのデータを処理するには、roles/dataflow.worker の役割が必要です。ジョブデータにアクセスするには、他の役割(roles/storage.objectAdmin など)が必要です。

Cloud Dataflow 役割の割り当て

現在、Cloud Dataflow の役割は組織とプロジェクトに対してのみ設定できます。

組織レベルで役割を管理するには、IAM を使用した組織のアクセス制御をご覧ください。

プロジェクト レベルの役割を設定するには、Google Cloud Platform Console によるアクセス制御をご覧ください。

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

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

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