首页 > 解决方案 > 无法使用 Google 部署管理器将 iam 策略绑定添加到服务帐户

问题描述

我正在尝试使用以下 yaml 文件将使用 Google 部署管理器的策略绑定添加到我的服务帐户,但是当我尝试部署它时,我收到“权限被拒绝”异常。

resources:
    - name: test-name-deploy
      type: gcp-types/iam-v1:projects.serviceAccounts
      properties:
        accountId: accid123
        displayName: test-deploy
      accessControl:
        gcpIamPolicy:
          bindings:
          - role: roles/viewer
            members:
            - "serviceAccount:myservaccount"
>  message: '{"ResourceType":"gcp-types/iam-v1:projects.serviceAccounts","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"message":"Permission
    iam.serviceAccounts.setIamPolicy is required to perform this operation on service

我已授予该帐户的“所有者”权限。我还是一样。提前致谢。

标签: google-cloud-platformamazon-iampermission-deniedgoogle-iamgoogle-deployment-manager

解决方案


Deployment Manager 使用 Google API 服务帐户调用其他 Google API 并代表您管理 Google Cloud 资源。您可以在 IAM 下找到作为 [PROJECT_NUMBER]@cloudservices.gserviceaccount.com 的帐户,该帐户默认具有编辑者角色。但是,要将 IAM 策略分配给资源,此帐户需要所有者角色。因此,请为您的项目的 Google API 服务帐户授予所有者角色。

您可以参考下面的链接了解更多详情。

https://cloud.google.com/deployment-manager/docs/configuration/set-access-control-resources#granting_permis

您还可以参考下面提到的策略问题排查指南 https://cloud.google.com/iam/docs/troubleshooting-access#troubleshooting_access

我已经在我的项目中对此进行了测试,它对我有用。


推荐阅读