Согласно документации, конечная точка https://iam.googleapis.com/v1/organizations/<ORG_ID>/roles
используется для перечисления ролей, определенных на уровне организации (т. е. настраиваемых ролей).
Чтобы получить список ролей по умолчанию (предварительно определенные роли, курируемые роли, как бы вы их ни называли ...), вы должны вызвать API без указания какого-либо ресурса:
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" https://iam.googleapis.com/v1/roles
Итак, чтобы получить полный список ролей в вашем ресурсе (будь то проект или организация), вы должны получить курируемые роли и объединить их с пользовательскими ролями, определенными на уровне ресурса, и пользовательскими ролями, определенными на родительском уровне. ресурсы (таким образом, чтобы получить роли в проекте, вы получаете отобранные роли + пользовательские роли проекта + пользовательские роли родительской организации).
Что касается ошибки, которую вы получали, я не получаю ее сейчас при тестировании. Я провел несколько тестов и получаю:
- 403, когда у меня нет необходимых разрешений
- 200 с пустым ответом (
{}
), когда пользовательские роли не определены
- 200 со списком ролей , как определено в документации, когда есть настраиваемые роли, определенные в ресурсе
Поскольку вопрос задан в июле 2017 г., а бета-тестирование пользовательских ролей началось в сентябре '17, я предполагаю, что вы слишком быстро протестировали API, и это причина того, что вы получили 404.
person
Jofre
schedule
23.06.2018
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" -H'content-type: application/json' https://cloudresourcemana ger.googleapis.com/v1/organizations:search -d'{}'
? - person Jofre   schedule 23.06.2018