Вызов API, который вы выполняете (projects.roles.list
), перечисляет все пользовательские роли, определенные в организации или проекте, поэтому он не выполняет те же действия, что и команда gcloud projects get-iam-policy
, который извлекает политику IAM для проекта.
Уловка, которую вы можете использовать, чтобы узнать вызов API, стоящий за командой gcloud
, заключается в использовании глобального флага --log-http
, который регистрирует все HTTP-запросы иответы, так что вы можете проверить запрашиваемый ресурс.Если вы выполните команду gcloud
, которой вы поделились, добавив этот флаг, вы увидите следующее:
$ gcloud projects get-iam-policy MY_PROJECT --log-http
==== request start ====
uri: https://cloudresourcemanager.googleapis.com/v1/projects/MY_PROJECT:getIamPolicy?alt=json
method: POST
== headers start ==
Метод этого вызова API - resourcemanager.projects.getIamPolicy
, и его страница документации находится в * 1016.* эта другая ссылка .На этой же странице вы можете просто добавить MY_PROJECT
в качестве ресурса, и вы увидите, что сообщаемый результат такой же, как и для gcloud projects get-iam-policy MY_PROJECT
.
Наконец, что касается упоминания о том, как это сделать с помощью Python, выВозможно, вам стоит взглянуть на документацию клиентских библиотек Resource Manager , где вы найдете информацию об их установке и использовании.Затем вы можете проверить справочную страницу библиотеки , где вы найдете подробное объяснение (и примеры) каждого из доступных методов.Например, здесь есть ссылка на метод getIamPolicy()
, который вам нужно использовать.