Dataflowを実行するときには、以下3つのサービスアカウントが必要である。
| Service Account | 備考 |
|---|---|
| Cloudservices Account | 入力サイズの決定、Google Cloud Storage ファイルへのアクセス、Compute Engine ワーカーの開始などメタデータオペレーションのために使用される。 |
| Dataflow Service Account | Dataflowサービス上でpipelineが実行されるときに使用される。 |
| ComuputeEngine Service Account | WorkerがPipelineのファイルやリソースにアクセスするときに使用される。 |
同じGCPプロジェクト内のリソースにアクセスしにいくときにはあまり気にしなくても動作するが、違うGCPプロジェクト内のリソースにアクセスするときはドキュメントを読まず設定を怠ってると動作しないので注意。
ざっくりとまとめると下図のようにアクセスがあるので、必要なサービスアカウントを許可しておく必要がある。