程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cloud Run - 允许用户根据权限部署单个资源大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Cloud Run - 允许用户根据权限部署单个资源?

开发过程中遇到Cloud Run - 允许用户根据权限部署单个资源的问题如何解决?下面主要结合日常开发的经验,给出你关于Cloud Run - 允许用户根据权限部署单个资源的解决方法建议,希望对你解决Cloud Run - 允许用户根据权限部署单个资源有所启发或帮助;

在尝试允许不同用户访问 GCP Cloud Run 时,我几乎头疼,使用权限属性访问特定服务。

假设我有不同的服务在运行,我想分配我的开发人员只在其中的一堆服务上使用 gcloud run deploy。就我而言,这如下所示:

  • BACkend-service > 修订只能由后端用户部署;
  • frontend-service > 修订只能由前端用户部署;

两个用户都具有“Cloud Run Developer”角色,并且两个服务帐户都具有描述的“serviceAccountUser”角色here in GCP docs

然而,我面临的问题是当我尝试限制单个资源的用户权限时。 使用 GCP 网络控制台,我创建了一个基于 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 Console 中检查权限时,它会显示 Cloud Run Developer 的条件

{
    "Expression": "resource.name == \"BACkend-service\"","title": "BACkendservice"
}

解决方法

Cloud Run doesn't support IAM conditions。您有几种解决方法

  • 等待更新
  • 创建不同的项目
  • 自动化部署(只有 CI/CD 管道可以部署,不能直接部署用户)
  • 在资源级别而不是项目级别添加权限。

大佬总结

以上是大佬教程为你收集整理的Cloud Run - 允许用户根据权限部署单个资源全部内容,希望文章能够帮你解决Cloud Run - 允许用户根据权限部署单个资源所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。