Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何使用部署管理器为服务帐户分配角色_Google Cloud Platform_Google Iam_Google Deployment Manager - Fatal编程技术网

Google cloud platform 如何使用部署管理器为服务帐户分配角色

Google cloud platform 如何使用部署管理器为服务帐户分配角色,google-cloud-platform,google-iam,google-deployment-manager,Google Cloud Platform,Google Iam,Google Deployment Manager,创建服务帐户并为其分配角色时遇到一些问题。最初我是基于代码的,但是我无法让它工作,因为虽然它确实创建了服务帐户,但没有为它分配角色。所以我环顾了一下stackoverflow,找到了哪个有效 下面粘贴的是负责创建不起作用的服务帐户的Jinja文件的内容。我希望它做的是创建一个服务帐户,然后为其分配pubsub.editor和dataflow.developer角色 我不明白为什么下面的代码不起作用,所以我希望有人能解释一下它到底出了什么问题 {# Service account creation

创建服务帐户并为其分配角色时遇到一些问题。最初我是基于代码的,但是我无法让它工作,因为虽然它确实创建了服务帐户,但没有为它分配角色。所以我环顾了一下stackoverflow,找到了哪个有效

下面粘贴的是负责创建不起作用的服务帐户的Jinja文件的内容。我希望它做的是创建一个服务帐户,然后为其分配pubsub.editor和dataflow.developer角色

我不明白为什么下面的代码不起作用,所以我希望有人能解释一下它到底出了什么问题

{# Service account creation #}
resources:
- type: gcp-types/iam-v1:projects.serviceAccounts
  name: {{ env['name'] }}
  properties:
    accountId: {{ env['name'] }}
    displayName: serviceAccount-{{ env['name'] }}
  accessControl:
    gcpIamPolicy:
    bindings:
    - role: roles/dataflow.developer
      members:
      - "serviceAccount:myaccount-sa@myproject.iam.gserviceaccount.com"
    - role: roles/pubsub.editor
      members:
      - "serviceAccount:myaccount-sa@myproject.iam.gserviceaccount.com"

您是否在中尝试了示例模板?请尝试相同的模板。部署后,您在部署控制台中看到了什么错误?此外,请确保您的部署管理器具有设置IAM策略的权限;你可以遵循。我已经遵循了你提到的模板,这个模板很有效。在我的原始问题中使用代码确实会创建服务帐户,但不会为其分配任何角色。很遗憾,它不会产生任何错误。请检查部署管理器。相应的服务帐户应该具有适当的角色来完成您的任务。cloudservices.gserviceaccount.com是该项目的所有者,因此这应该可以。我用来部署部署的帐户也被设置为项目的所有者,因此这也不是问题所在。我不明白的是,在您说它可以工作的情况下,他们使用以下语法“…gcpIamPolicyPatch:…add:…”,但是您的语法不同。请使用相同的结构,让我们看看这是否有帮助。