繁体   English   中英

使用 python 列出 Google Cloud Platform 中特定项目中的角色

[英]List roles in specific project in Google Cloud Platform using python

我正在尝试学习 python SDK 来帮助我管理我的 Google Cloud Platform 资源。 有人可以帮我理解。 我从 Google API 获得了以下代码片段。
此代码单独工作。 假设我想列出组织中的所有角色,或者列出特定项目的角色,我应该在哪里做以及如何做?

非常感谢您提前。

from pprint import pprint

from googleapiclient import discovery
from oauth2client.client import GoogleCredentials

credentials = GoogleCredentials.get_application_default()

service = discovery.build('iam', 'v1', credentials=credentials)

request = service.roles().list()
while True:
    response = request.execute()

    for role in response.get('roles', []):
        # TODO: Change code below to process each `role` resource:
        pprint(role)

    request = service.roles().list_next(previous_request=request, previous_response=response)
    if request is None:
        break

您可以通过使用“resourcemanager.projects.getIamPolicy for a project [1] 来获取 IAM 角色。如果这是您正在寻找的内容,那么您可以使用以下 python 库 [2]。

这是您可以使用的示例代码片段,它将返回 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] https://developers.google.com/apis-explorer/#search/project/cloudresourcemanager/v1/cloudresourcemanager.projects.getIamPolicy

[2] https://developers.google.com/api-client-library/python/apis/cloudresourcemanager/v1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM