[英]What is the difference between service account and service agent in GCP
说我有这种情况
我创建了一个 Google 服务帐户来运行我的数据流作业。 但是在我启用数据流 API 之后。我最终在我面前有 2 个 SA。
123456789@dataflow.gserviceaccount.com
dataflow-job-runner@MY-PROJECT-ID.iam.gserviceaccount.com
看官方文档说的我真是一头雾水
某些 Google Cloud 服务具有 Google 管理的服务帐户,允许这些服务访问您的资源。 这些服务帐户有时称为服务代理。
如果我创建一个数据流作业以使用dataflow-job-runner@MY-PROJECT-ID.iam.gserviceaccount.com
SA 运行,我想我需要为其授予roles/storage.objectAdmin
。
问题是
Cloud Dataflow 等多项 Google Cloud 服务需要两组权限。
您编写的程序使用服务帐户。 您授予此服务帐户 IAM 角色以访问需要您的程序所需授权的资源。 例如,从 Cloud Storage 读取数据或向 BigQuery 发出查询。
服务代理适用于服务的运行时。 例如,当您在 Cloud Dataflow 上启动作业时,Cloud Dataflow 需要启动 VM 来运行您的程序。 您的程序没有启动虚拟机,而是服务。 因此,该服务需要自己的一组权限。 这就是服务代理的用途。
通过使用两个不同的服务帐户,实现了权限分离。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.