google-cloud-platform - 无法使用 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
我已授予该帐户的“所有者”权限。我还是一样。提前致谢。
解决方案
Deployment Manager 使用 Google API 服务帐户调用其他 Google API 并代表您管理 Google Cloud 资源。您可以在 IAM 下找到作为 [PROJECT_NUMBER]@cloudservices.gserviceaccount.com 的帐户,该帐户默认具有编辑者角色。但是,要将 IAM 策略分配给资源,此帐户需要所有者角色。因此,请为您的项目的 Google API 服务帐户授予所有者角色。
您可以参考下面的链接了解更多详情。
您还可以参考下面提到的策略问题排查指南 https://cloud.google.com/iam/docs/troubleshooting-access#troubleshooting_access
我已经在我的项目中对此进行了测试,它对我有用。
推荐阅读
- angular - 从角度 10 的反应形式的输入数组中获取数据
- swift - 如何快速将用户名、密码安全地保存在钥匙串中
- node.js - TypeError:URL 不是构造函数 - react-dev-utils/getPublicUrlOrPath.js
- wordpress - style_loader_tag 过滤器正在转换特殊字符,即使禁用 wptexturize
- web-component - 如何替换 web 组件中的 shadowRoot
- javascript - 导入的图像显示图像路径而不是图像 - React.js
- reactjs - 使用 fetch 进行 api 调用时无法授权
- reactjs - 道具如何通过
- python - 如何使用 OOP 在 Python3 中创建一个类以从 Excel 文件加载和读取数据?
- api - 数据覆盖谷歌表 - Jupyter 连接