首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从gitlab部署云功能时出错

从gitlab部署云功能时出错
EN

Stack Overflow用户
提问于 2022-04-12 10:13:54
回答 1查看 2.7K关注 0票数 5

我试图通过gitlab使用一个新的服务帐户(而不是使用默认的服务帐户)来部署云功能。它具有云函数开发人员的角色,但仍然失败,错误如下:

下面的错误包括一个用户作为云功能混频器.我还没有在我的回购中配置类似的东西,也不知道为什么会出现这种情况。

首先,运行建议的命令甚至不能工作,因为建议的语法不好。我试过运行下面的命令,但这是不对的

错误: googleapi:错误403:服务帐户project-test-tf-02@appspot.gserviceaccount.com.上的云函数-混频器缺少必要的权限iam.serviceAccounts.actAs将角色角色/iam.serviceAccountUser授予服务帐户project-test-tf-02@appspot.gserviceaccount.com.上的云函数-混合器您可以通过运行'gcloud iam服务-functions-iam-策略绑定project-test-tf-02@appspot.gserviceaccount.com -成员=云函数-混频器-角色=角色/iam.serviceAccountUser‘来做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 18:26:19

谷歌关于cloud-functions-mixer的说明是错误的。实际上,您需要做的是将字符串cloud-functions-mixer替换为构建或部署函数的服务帐户的名称。

在示例中将使用下列用户定义的服务帐户:

  • my-cloud-function@my-project.iam.gserviceaccount.com是您的函数运行的服务帐户。
  • build-service-account@my-project.iam.gserviceaccount.com是构建/部署云功能的服务帐户

要运行的命令是:

代码语言:javascript
复制
gcloud iam service-accounts add-iam-policy-binding 
  my-cloud-function@my-project.iam.gserviceaccount.com 
   --member=serviceAccount:build-service-account@my-project.iam.gserviceaccount.com 
    --role=roles/iam.serviceAccountUser

文档

或者,在Terraform中,您需要这样的资源:

代码语言:javascript
复制
resource "google_service_account_iam_member" "opentok_webhook_mixer" {
  service_account_id = google_service_account.my_cloud_function.id
  role               = "roles/iam.serviceAccountUser"
  member             = "serviceAccount:${google_service_account.build_service_account.email}"
}

您必须更新服务帐户资源的名称。

这种方法也适用于Google构建。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71840853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档