首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在服务帐户上执行此操作需要权限iam.serviceAccounts.setIamPolicy。

在服务帐户上执行此操作需要权限iam.serviceAccounts.setIamPolicy。
EN

Stack Overflow用户
提问于 2021-03-04 21:04:34
回答 1查看 3.9K关注 0票数 3

我有下面的terraform脚本,创建一个新的服务帐户并使其成为所有者。脚本创建服务帐户,但在分配角色时会引发错误。

代码语言:javascript
运行
复制
resource "google_service_account" "pci_api_service_account" {
  account_id   = "pci-api"
  display_name = "Api"
  project      = var.project_id
}

resource "google_service_account_iam_member" "pci_api_owner_binding" {
  # service_account_id = "projects/pcb-poc-pci/serviceAccounts/infra-admin-sa@pcb-poc-pci.iam.gserviceaccount.com"
  service_account_id = google_service_account.pci_api_service_account.name
  role   = "roles/owner"
  member = "serviceAccount:${google_service_account.pci_api_service_account.email}"
  depends_on = [
    google_service_account.pci_api_service_account
  ]
}

通过运行infra-admin-sa服务帐户,我已经使用了

代码语言:javascript
运行
复制
gcloud auth activate-service-account --project=pcb-poc-pci --key-file ~/sa/pcb-poc-pci-test-sa-94aa6c81d650.json

当我运行terragrunt apply时,我得到了第二个脚本的错误

错误:应用服务帐户的IAM策略时出错,'projects/pcb-poc-pci/serviceAccounts/pci-api@pcb-poc-pci.iam.gserviceaccount.com':错误设置服务帐户的IAM策略,'projects/pcb-poc-pci/serviceAccounts/pci-api@pcb-poc-pci.iam.gserviceaccount.com':googleapi: Error 403: iam.serviceAccounts.setIamPolicy被禁止在服务帐户projects/pcb-poc-pci/serviceAccounts/pci-api@pcb-poc-pci.iam.gserviceaccount.com.,上执行此操作。

这些是该服务帐户的角色。

基于google 这里和错误消息,服务帐户管理应该足够了,我的服务帐户已经有了

不知道我错过了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-05 14:31:17

解决方案1

似乎命令行没有选择正确的凭据/服务帐户,尽管我使用了gcloud auth activate-service-account命令。

所以我把这个添加到我的脚本中

代码语言:javascript
运行
复制
provider "google" {
  credentials = file(var.service_account_file_path)
  project     = var.project_id
}

现在一切都很好

解决方案2

@John评论如下

代码语言:javascript
运行
复制
export GOOGLE_APPLICATION_CREDENTIALS=fullpath.json

然后terraform将选择服务帐户文件,脚本将成功运行。

这种方法是首选的,因为在CICD管道和其他开发程序中问题较少,可以设置terraform变量。

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

https://stackoverflow.com/questions/66483002

复制
相关文章

相似问题

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