Просмотр назначенных ролей
Чтобы посмотреть права аккаунта на ресурс, необходимо получить список ролей, назначенных на этот ресурс и на родительские ресурсы. Назначенные роли наследуются от родительского ресурса дочернему. Например, если вы хотите узнать, какие права у аккаунта на каталог, посмотрите роли на этот каталог и на облако, которому принадлежит каталог.
Чтобы посмотреть права на все ресурсы в облаке, необходимо выполнить эту операцию для каждого ресурса, на который можно назначить роль. Сейчас нет отдельной команды, чтобы получить список всех ролей аккаунта в облаке.
Чтобы посмотреть роли пользователя с аккаунтом на Яндексе или федеративного пользователя:
-
Откройте страницу Управление доступом для выбранного облака. Если необходимо, переключитесь на другое облако.
-
Выберите пользователя, которому хотите назначить роль, нажмите значок и выберите Настроить роли.
Для сервисного аккаунта в консоли управления можно посмотреть только роли на каталог, в котором был создан сервисный аккаунт (чтобы посмотреть роли на другие ресурсы, используйте CLI или API):
- Перейдите в каталог, которому принадлежит сервисный аккаунт.
- Выберите вкладку Сервисные аккаунты.
- Роли сервисного аккаунта на текущий каталог перечислены в столбце Роли в каталоге.
-
Получите идентификатор аккаунта:
- Инструкция для сервисных аккаунтов.
- Инструкция для пользователей с аккаунтом на Яндексе и федеративных пользователей.
-
Получите идентификатор или имя желаемого ресурса.
-
Посмотрите, какие роли назначены на ресурс:
$ yc <SERVICE-NAME> <RESOURCE> list-access-bindings <RESOURCE-NAME>|<RESOURCE-ID>
где:
<SERVICE-NAME>
— имя сервиса, которому принадлежит ресурс, напримерresource-manager
.<RESOURCE>
— категория ресурса, напримерfolder
.<RESOURCE-NAME>
— имя ресурса. Вы можете указать ресурс по имени или идентификатору.<RESOURCE-ID>
— идентификатор ресурса.
Например, посмотрите кому и какие роли назначены на каталог
default
:$ yc resource-manager folder list-access-bindings default +---------------------+----------------+----------------------+ | ROLE ID | SUBJECT TYPE | SUBJECT ID | +---------------------+----------------+----------------------+ | editor | serviceAccount | ajepg0mjas06siuj5usm | | viewer | userAccount | aje6o61dvog2h6g9a33s | +---------------------+----------------+----------------------+
В ответе сервера найдите все строки, где в субъекте указан идентификатор требуемого аккаунта, а также где в качестве субъекта указаны системные группы
allUsers
иallAuthenticatedUsers
. -
Повторите предыдущие два шага для всех родительских ресурсов.
-
Получите идентификатор аккаунта:
- Инструкция для сервисных аккаунтов.
- Инструкция для пользователей с аккаунтом на Яндексе и федеративных пользователей.
-
Получите идентификатор или имя желаемого ресурса.
-
Посмотрите, кому и какие роли назначены на ресурс с помощью метода
listAccessBindings
. Например, чтобы посмотреть роли на каталогb1gvmob95yysaplct532
:$ export FOLDER_ID=b1gvmob95yysaplct532 $ export IAM_TOKEN=CggaATEVAgA... $ curl -H "Authorization: Bearer ${IAM_TOKEN}" "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:listAccessBindings" { "accessBindings": [ { "subject": { "id": "ajei8n54hmfhuk5nog0g", "type": "userAccount" }, "roleId": "editor" } ] }
В ответе сервера найдите все строки, где в субъекте указан идентификатор требуемого аккаунта, а также где в качестве субъекта указаны системные группы
allUsers
иallAuthenticatedUsers
. -
Повторите предыдущие два шага для всех родительских ресурсов.