Просмотр назначенных ролей

    Чтобы посмотреть права аккаунта на ресурс, необходимо получить список ролей, назначенных на этот ресурс и на родительские ресурсы. Назначенные роли наследуются от родительского ресурса дочернему. Например, если вы хотите узнать, какие права у аккаунта на каталог, посмотрите роли на этот каталог и на облако, которому принадлежит каталог.

    Чтобы посмотреть права на все ресурсы в облаке, необходимо выполнить эту операцию для каждого ресурса, на который можно назначить роль. Сейчас нет отдельной команды, чтобы получить список всех ролей аккаунта в облаке.

    Чтобы посмотреть роли пользователя с аккаунтом на Яндексе или федеративного пользователя:

    1. Откройте страницу Управление доступом для выбранного облака. Если необходимо, переключитесь на другое облако.

    2. Выберите пользователя, которому хотите назначить роль, нажмите значок image и выберите Настроить роли.

    Для сервисного аккаунта в консоли управления можно посмотреть только роли на каталог, в котором был создан сервисный аккаунт (чтобы посмотреть роли на другие ресурсы, используйте CLI или API):

    1. Перейдите в каталог, которому принадлежит сервисный аккаунт.
    2. Выберите вкладку Сервисные аккаунты.
    3. Роли сервисного аккаунта на текущий каталог перечислены в столбце Роли в каталоге.
    1. Получите идентификатор аккаунта:

      1. Инструкция для сервисных аккаунтов.
      2. Инструкция для пользователей с аккаунтом на Яндексе и федеративных пользователей.
    2. Получите идентификатор или имя желаемого ресурса.

    3. Посмотрите, какие роли назначены на ресурс:

      $ 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.

    4. Повторите предыдущие два шага для всех родительских ресурсов.

    1. Получите идентификатор аккаунта:

      1. Инструкция для сервисных аккаунтов.
      2. Инструкция для пользователей с аккаунтом на Яндексе и федеративных пользователей.
    2. Получите идентификатор или имя желаемого ресурса.

    3. Посмотрите, кому и какие роли назначены на ресурс с помощью метода 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.

    4. Повторите предыдущие два шага для всех родительских ресурсов.

    См. также