Google cloud platform setIAM 403禁止
为什么我在尝试创建这些IAM资源时总是遇到以下错误Google cloud platform setIAM 403禁止,google-cloud-platform,google-deployment-manager,Google Cloud Platform,Google Deployment Manager,为什么我在尝试创建这些IAM资源时总是遇到以下错误 resources: - name: practice-service-account type: iam.v1.serviceAccount properties: displayName: practice-service-account projectId: {{ project }} accountId: practice-service-account - name: get-iam-policy
resources:
- name: practice-service-account
type: iam.v1.serviceAccount
properties:
displayName: practice-service-account
projectId: {{ project }}
accountId: practice-service-account
- name: get-iam-policy
action: 'gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.getIamPolicy'
properties:
resource: resources-practice {# make this environment variable #}
- name: set-iam-policy
action: 'gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.setIamPolicy'
properties:
resource: {{ project }}
policy: $(ref.get-iam-policy)
gcpIamPolicyPatch:
add:
- role: roles/viewer
members:
- user:email1@example.com
- user:email2@example.com
- user:email3@example.com
部署管理器。此错误表示该服务帐户无权更改该项目的IAM策略。尝试使用项目上的服务帐户
iam.roleAdmin
角色(或组织上的iam.organizationRoleAdmin
角色)。部署管理器。此错误表示该服务帐户无权更改该项目的IAM策略。请尝试使用项目上的服务帐户iam.roleAdmin
角色(或组织上的iam.organizationRoleAdmin
角色)。这意味着执行部署操作的任何人都没有设置IAMPolicy所需的iam权限。可能会验证您使用的帐户及其角色。您使用的帐户似乎没有“resourcemanager.projects.setIamPolicy”权限。组织管理员角色(resourcemanager.organizationAdmin)具有您可以找到的此权限。正如所建议的,您是否可以检查您的部署操作使用的帐户以及它具有的角色和权限?@FridayPush。我的帐户是一个项目所有者,它告诉我执行该部署操作的人不具有设置IAM策略所需的IAM权限。可能会验证您使用的帐户及其角色。您使用的帐户似乎没有“resourcemanager.projects.setIamPolicy”权限。组织管理员角色(resourcemanager.organizationAdmin)具有您可以找到的此权限。正如所建议的,您是否可以检查您的部署操作使用的帐户以及它具有的角色和权限?@FridayPush。我的帐户是一个项目的所有者,我已经成为了项目的所有者,但是我收到了这个消息。“存在并发策略更改。请使用指数退避重试整个读-修改-写操作”,这意味着其他人试图同时更改策略(甚至可能是部署管理器本身)。只要继续努力,直到你能够做的赠款。我是唯一一个在这个项目中做一些事情,所以我怀疑有“其他人”。但是,是的,我会继续尝试,正如我所暗示的,部署管理器本身可能就是“其他人”。它还可能试图一次又一次地进行IAM更改,因为这些更改被拒绝。也许停止部署管理器会允许您的更改通过?我找到了一个解决方法,首先在部署管理器中删除serviceaccount资源,然后重新创建itI。我已经将其指定为项目所有者,但我收到了此消息。“存在并发策略更改。请使用指数退避重试整个读-修改-写操作”,这意味着其他人试图同时更改策略(甚至可能是部署管理器本身)。只要继续努力,直到你能够做的赠款。我是唯一一个在这个项目中做一些事情,所以我怀疑有“其他人”。但是,是的,我会继续尝试,正如我所暗示的,部署管理器本身可能就是“其他人”。它还可能试图一次又一次地进行IAM更改,因为这些更改被拒绝。停止部署管理器可能会允许您的更改通过?我找到了一个解决方法,首先在部署管理器中删除serviceaccount资源,然后重新创建它
ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1544014242908-57c45d47a0760-6a2ec217-9ee53506]: errors:
- code: RESOURCE_ERROR
location: /deployments/infrastructure/resources/set-iam-policy
message: '{"ResourceType":"gcp-types/cloudresourcemanager-v1:cloudresourcemanager.projects.setIamPolicy","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"message":"The
caller does not have permission","status":"PERMISSION_DENIED","statusMessage":"Forbidden","requestPath":"https://cloudresourcemanager.googleapis.com/v1/projects/resources-practice:setIamPolicy","httpMethod":"POST"}}'