【发布时间】:2021-08-02 14:47:53
【问题描述】:
在尝试允许不同用户在 GCP Cloud Run 上使用权限属性访问特定服务时,我几乎感到头疼。
假设我有不同的服务正在运行,我想分配我的开发人员仅在其中一组上使用gcloud run deploy。就我而言,如下所示:
- backend-service > 修订版只能由后端用户部署;
- frontend-service > 修订版只能由前端用户部署;
两个用户都具有“Cloud Run Developer”角色,并且两个服务帐户都具有“ServiceAccountUser”角色,如 here in GCP docs 所述
我面临的问题是当我尝试限制单个资源的用户权限时。
使用 GCP Web 控制台,我创建了一个基于 Resource > Name 的条件为 backend-service。
我在使用gcloud run deploy 时立即收到此错误:
ERROR: (gcloud.run.deploy) PERMISSION_DENIED: Permission 'run.services.update' denied on resource 'namespaces/PROJECT_ID/services/SERVICE_NAME' (or resource may not exist).
make: *** [deploy] Error 1
由于我找不到与 Cloud Run (they're not even listed afaik) 相关的 IAM 权限条件相关的任何内容,我尝试将 Resource > Name 条件值更改为 namespaces/PROJECT_ID/services/SERVICE_NAME,但这也没有用。
附带说明,在 Cloud Run Web 控制台中检查权限时,它会显示 Cloud Run 开发者的条件
{
"expression": "resource.name == \"backend-service\"",
"title": "BackendService"
}
【问题讨论】:
标签: google-cloud-platform google-cloud-run google-iam