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