Sha*_*mir 5 service-accounts terraform google-iam terraform-provider-gcp google-cloud-run
我一直在尝试创建一个公共云运行调用程序策略并将其绑定到我的 cb_app 云运行服务,以便可以公开它。我创建了一个自定义服务并为其分配了云管理员角色。但出现这个错误
Error: Error creating Service: googleapi: Error 403: Permission 'iam.serviceaccounts.actAs' denied on service account app-worker@samuel-django-project.iam.gserviceaccount.com (or it may not exist).
这是配置
resource "google_cloud_run_service_iam_member" "domain" {
service = google_cloud_run_service.cb_app.name
location = google_cloud_run_service.cb_app.location
role = "roles/run.admin"
member = "serviceAccount:${var.service_account}"
}
#create service account to run service
resource "google_service_account" "cb_app" {
account_id = "app-worker"
display_name = "app worker"
}
Run Code Online (Sandbox Code Playgroud)
在应用程序服务中,我有这个
spec {
# Use locked down Service Account
service_account_name = google_service_account.cb_app.email
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题有什么想法吗?
创建 Cloud Run 等资源时,您可以选择将服务帐号附加到该资源。
以下错误意味着 Terraform 正在使用的身份(用户或服务帐户)无权将服务帐户附加到资源。
错误:创建服务时出错:googleapi:错误 403:服务帐户 app-worker@samuel-django-project.iam.gserviceaccount.com 上的权限“iam.serviceaccounts.actAs”被拒绝(或者可能不存在)。
解决方案是将角色Roles/iam.serviceAccountUser添加到 Terraform 运行时使用的身份。您没有在问题中指定身份。该身份可以是用户帐户或服务帐户。转到 Google Cloud Console -> IAM。找到身份并添加角色。
您还可以使用 CLI gcloud。确切的命令参数取决于身份类型。
对于用户帐户:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:someone@gmail.com' \
--role='roles/iam.serviceAccountUser'
Run Code Online (Sandbox Code Playgroud)
对于服务帐户:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='serviceAccount:myserviceaccount@PROJECT_ID.iam.gserviceaccount.com' \
--role='roles/iam.serviceAccountUser'
Run Code Online (Sandbox Code Playgroud)
上述命令使用Linux语法。对于 Windows,请将\替换为^
| 归档时间: |
|
| 查看次数: |
18128 次 |
| 最近记录: |