繁体   English   中英

使用 gcloud CLI 为 Cloud Run 创建自定义服务帐号

[英]Creating a custom service account for Cloud Run using the gcloud CLI

背景

默认情况下, Cloud Run 使用 Compute Engine 默认服务帐户,该帐户授予我尝试在其中运行的容器不需要的广泛权限,因此我想设置一个新服务帐户。

如果我理解正确,我需要执行以下操作:

  1. 创建具有所需权限集的角色(使用gcloud iam roles create
  2. 创建服务帐户(使用gcloud iam service-accounts create
  3. 将角色权限绑定到服务帐号。
  4. 使用在步骤 2 中设置的服务帐户部署映像(使用gcloud run deploy --service-account )。

上述文档没有提到如何实现第 3 步。我找到了gcloud iam service-accounts add-iam-policy-binding命令,但我看到这是用户(成员)、服务帐户和一个角色,而我上面描述的似乎只需要双向绑定,并且在第四步中授予 Cloud Run 服务的权限。

问题

  1. 我是否对设置自定义服务帐户以供 Cloud Run 使用所需的步骤有正确的理解?
  2. 假设我已经正确理解了这一点,那么设置权限与服务帐户绑定的正确方法是什么?

除了用户管理的服务帐户之外,您还可以使用自定义角色,但这不是强制性的。 您还可以创建用户托管服务帐户并将其与预定义角色绑定。

无论如何,如果您想将自定义角色绑定到服务帐户(或用户帐户,没有区别),您必须使用角色的完全限定路径

# Project level
projects/<projectID>/roles/<custom role name>
# Organization level
organizations/<organizationID>/roles/<custom role name>

而 gcloud 命令可以是这个

gcloud projects add-iam-policy-binding <projectID> \
  --member=serviceAccount:<service account email> \
  --role=projects/<projectID>/roles/<custom role name>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM