Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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
使用python列出Google云平台中特定项目中的角色_Python_Google Cloud Platform_Google Cloud Iam_Google Cloud Resource Manager - Fatal编程技术网

使用python列出Google云平台中特定项目中的角色

使用python列出Google云平台中特定项目中的角色,python,google-cloud-platform,google-cloud-iam,google-cloud-resource-manager,Python,Google Cloud Platform,Google Cloud Iam,Google Cloud Resource Manager,我正在尝试学习python SDK,以帮助我管理我的Google云平台资源。有人能帮我理解吗。我从Google API中获得了以下代码片段。 此代码单独工作。比如说,如果我想列出组织中的所有角色,或者列出某个特定项目的角色,我应该在哪里做,如何做 事先非常感谢 从pprint导入pprint 从GoogleAppClient导入发现 从oauth2client.client导入Google凭据 credentials=GoogleCredentials.get_application_defau

我正在尝试学习python SDK,以帮助我管理我的Google云平台资源。有人能帮我理解吗。我从Google API中获得了以下代码片段。
此代码单独工作。比如说,如果我想列出组织中的所有角色,或者列出某个特定项目的角色,我应该在哪里做,如何做

事先非常感谢

从pprint导入pprint
从GoogleAppClient导入发现
从oauth2client.client导入Google凭据
credentials=GoogleCredentials.get_application_default()
服务=发现.build('iam','v1',凭据=凭据)
请求=service.roles().list()
尽管如此:
response=request.execute()
对于响应中的角色。get('roles',[]):
#TODO:更改下面的代码以处理每个“角色”资源:
pprint(角色)
请求=服务.角色().下一步列出(上一个请求=请求,上一个响应=响应)
如果请求为无:
打破

您可以通过使用项目[1]的“resourcemanager.projects.getIamPolicy”获取IAM角色。如果这是您正在寻找的,则可以使用以下python库[2]

下面是一个samp snippit,您可以使用它返回IAM角色和分配给它们的用户:

    from apiclient.discovery import build
    service = build('cloudresourcemanager', 'v1')

    project_id = '[project_ID]'
    policy_request = service.projects().getIamPolicy(resource=project_id, body={})
    policy_response = policy_request.execute()

members = set()
for binding in policy_response['bindings']:
members |= set(binding['members'])

print('\n'.join(sorted(members)))
[1]

[2]