Список ролей в конкретном проекте в Google Cloud Platform с помощью 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
1 ответ
Вы можете получить роли IAM, используя "resourcemanager.projects.getIamPolicy для проекта [1]. Если это то, что вы ищете, то вы можете использовать следующую библиотеку 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)))
[2] https://developers.google.com/api-client-library/python/apis/cloudresourcemanager/v1.