簡體   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