2017-05-25 123 views
0

我希望能够以编程方式将用户添加到Google云中存在的项目。我可以通过控制台通过Iam和admin,选择一个项目,然后搜索一个用户,选择一个角色并添加它们来完成此任务。此外,该文档似乎说这应该是可能Google Cloud将用户添加到项目

项目业主可以授权给团队成员通过授予IAM角色,团队成员访问项目的 资源和API。您可以使用Cloud Platform Console, gcloud命令行工具或setIamPolicy()方法向团队成员授予角色 。

https://cloud.google.com/iam/docs/granting-changing-revoking-access

但是API似乎缺少这种方法。 https://cloud.google.com/resource-manager/reference/rest/v1/projects

我可以授予用户对特定资源的访问权限,但是我无法为控制台提供相同类型的“所有资源”访问级别。

我可以使用哪种API调用,例如,授予给定用户对给定项目中所有资源的只读访问权限?

回答

1

这是正确的,你挂吧:)

你想要做的是:
1. Get current policy.
这会给你显示你的结构应该是什么样子的JSON响应。
2.进行更改。如果已经存在与roles/viewer的条目,追加到members列表,否则创建条目:

... 
{ 
    "role": "roles/viewer", 
    "members": [ 
    "user:[email protected]" 
    ] 
    }, 
... 

3. Set the new policy

对于list of possible roles look here.

+0

此方法需要我指定资源。我的理解是,一个项目不是一种资源。 如何使用此方法授予用户对项目中所有资源的访问权限? –

+0

这只是项目的名称。我同意,这里的文档可能会更清晰一些。实际上,在单个资源(如计算引擎实例,存储桶等)上设置IAM策略是通过各自的API完成的,而不是通过此方法完成的。 –

+0

@RobertLacock这个方法是否为你的项目名称工作?使用项目名称或项目ID给我“收到无效的JSON负载。未知名称\”body_resource \“:找不到字段。” –