jar*_*max 5 service-accounts google-cloud-platform google-cloud-functions
我正在尝试使用新的服务帐户(不使用默认服务帐户)通过 gitlab 部署云功能。它具有云功能开发人员角色,但仍然失败并出现以下错误:
\n以下错误包括作为 cloud-functions-mixer 的用户。我没有在我的存储库中配置类似的内容,也不知道为什么会出现这种情况。
\n首先,运行建议的命令甚至不起作用,因为建议的语法很糟糕。我尝试运行以下命令,但它 \xe2\x80\x99s 不正确
\n\n\n错误:googleapi:错误 403:缺少服务帐户 project-test-tf-02@appspot.gserviceaccount.com 上的 cloud-functions-mixer 的必要权限 iam.serviceAccounts.actAs。\n授予角色“roles/iam.serviceAccountUser”到服务帐户 project-test-tf-02@appspot.gserviceaccount.com 上的 cloud-functions-mixer。\n您可以通过运行“gcloud iam service-accounts add-iam-policy-binding project-test-tf-”来执行此操作02@appspot.gserviceaccount.com --member=cloud-functions-mixer --role=roles/iam.serviceAccountUser'。
\n
Cra*_*nch 18
Google 关于 的说明cloud-functions-mixer
是错误的。您实际需要做的是将字符串替换为正在构建或部署函数的cloud-functions-mixer
服务帐户的名称。
示例中将使用以下用户定义的服务帐户:
my-cloud-function@my-project.iam.gserviceaccount.com
是您的函数运行的服务帐户。build-service-account@my-project.iam.gserviceaccount.com
是构建/部署您的云功能的服务帐户运行的命令是:
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
Run Code Online (Sandbox Code Playgroud)
或者,在 Terraform 中,您需要这样的资源:
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}"
}
Run Code Online (Sandbox Code Playgroud)
您必须更新服务帐户资源的名称。
此方法也适用于 Google Cloud Build。
归档时间: |
|
查看次数: |
3012 次 |
最近记录: |