Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Identity and Access Management
  • Начало работы
    • Как управлять доступом к ресурсам
    • Как работать с сервисными аккаунтами
  • Пошаговые инструкции
    • Все инструкции
    • Пользователи
      • Добавление пользователя
      • Получение идентификатора или почты пользователя
      • Удаление пользователя
    • Сервисные аккаунты
      • Создание сервисного аккаунта
      • Изменение сервисного аккаунта
      • Назначение роли сервисному аккаунту
      • Настройка прав доступа к сервисному аккаунту
      • Создание статических ключей доступа
      • Получение идентификатора сервисного аккаунта
      • Удаление сервисного аккаунта
    • Федерации удостоверений
      • Аутентификация с помощью Active Directory
      • Аутентификация с помощью G-Suite
      • Аутентификация с помощью федерации удостоверений
      • Добавление пользователей
    • Роли
      • Назначение роли
      • Просмотр назначенных ролей
      • Отзыв роли
    • IAM-токены
      • Получение IAM-токена для аккаунта на Яндексе
      • Получение IAM-токена для сервисного аккаунта
      • Получение IAM-токена для федеративного аккаунта
    • Ключи
      • Создание API-ключа
      • Удаление API-ключа
      • Создание авторизованного ключа
  • Концепции
    • Обзор
    • Как устроено управление доступом
      • Обзор
      • Роли
      • Системные группы
      • Ресурсы, на которые можно назначать роли
    • Авторизация
      • Обзор
      • IAM-токен
      • OAuth-токен
      • API-ключ
      • Авторизованные ключи
      • AWS-совместимые ключи доступа
    • Сервисные аккаунты
    • SAML-совместимые федерации удостоверений
    • Квоты и лимиты
  • Безопасное использование Yandex.Cloud
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • ApiKeyService
      • IamTokenService
      • KeyService
      • RoleService
      • ServiceAccountService
      • UserAccountService
      • YandexPassportUserAccountService
      • AccessKeyService
      • CertificateService
      • FederationService
      • OperationService
    • REST
      • Обзор
      • ApiKey
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • IamToken
        • Обзор
        • create
      • Key
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • Role
        • Обзор
        • get
        • list
      • ServiceAccount
        • Обзор
        • create
        • delete
        • get
        • list
        • listAccessBindings
        • listOperations
        • setAccessBindings
        • update
        • updateAccessBindings
      • UserAccount
        • Обзор
        • get
      • YandexPassportUserAccount
        • Обзор
        • getByLogin
      • Operation
        • Обзор
        • get
      • Federation
        • Обзор
        • update
        • list
        • listUserAccounts
        • get
        • delete
        • addUserAccounts
        • create
        • listOperations
      • Certificate
        • Обзор
        • update
        • list
        • get
        • delete
        • create
        • listOperations
      • AccessKey
        • Обзор
        • update
        • list
        • get
        • delete
        • create
        • listOperations
  • Вопросы и ответы
    • Общие вопросы
    • Вход в систему и доступ к ресурсам
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Сервисные аккаунты
  3. Назначение роли сервисному аккаунту

Назначение роли сервисному аккаунту

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

    Сервисному аккаунту можно назначать роли только на ресурсы облака, которому принадлежит сервисный аккаунт.

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

    Консоль управления
    CLI
    API

    Чтобы назначить сервисному аккаунту роль на каталог, в котором он был создан:

    1. Выберите каталог.
    2. Выберите вкладку Сервисные аккаунты.
    3. Нажмите значок напротив сервисного аккаунта и выберите Редактировать сервисный аккаунт.
    4. Нажмите Добавить роль и выберите роль.
    5. Нажмите кнопку Сохранить.

    По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

    Чтобы назначить сервисному аккаунту роль на ресурс, выполните команду:

    yc <SERVICE-NAME> <RESOURCE> add-access-binding <RESOURCE-NAME>|<RESOURCE-ID> \
        --role <ROLE-ID> \
        --subject serviceAccount:<SERVICE-ACCOUNT-ID>
    

    где:

    • <SERVICE-NAME> — имя сервиса, на чей ресурс назначается роль, например resource-manager.
    • <RESOURCE> — категория ресурса, например cloud.
    • <RESOURCE-NAME> — имя ресурса. Вы можете указать ресурс по имени или идентификатору.
    • <RESOURCE-ID> — идентификатор ресурса.
    • <ROLE-ID> — идентификатор роли, например resource-manager.clouds.owner.
    • <SERVICE-ACCOUNT-ID> — идентификатор сервисного аккаунта, которому назначается роль.

    Например, чтобы назначить сервисному аккаунту роль viewer на каталог my-folder:

    1. Узнайте идентификатор сервисного аккаунта по его имени:

      $ yc iam service-account get my-robot
      id: aje6o61dvog2h6g9a33s
      folder_id: b1gvmob95yysaplct532
      created_at: "2018-10-15T18:01:25Z"
      name: my-robot
      

      Если вы не знаете имя сервисного аккаунта, получите список сервисных аккаунтов с их идентификаторами:

      $ yc iam service-account list
      +----------------------+------------------+-----------------+
      |          ID          |       NAME       |   DESCRIPTION   |
      +----------------------+------------------+-----------------+
      | aje6o61dvog2h6g9a33s | my-robot         | my description  |
      +----------------------+------------------+-----------------+
      
    2. Назначьте роль сервисному аккаунту my-robot, используя его идентификатор:

      $ yc resource-manager folder add-access-binding my-folder \
          --role viewer \
          --subject serviceAccount:aje6o61dvog2h6g9a33s
      
    1. Узнайте ID каталога с сервисными аккаунтами.

    2. Получите список сервисных аккаунтов в каталоге, чтобы узнать их идентификаторы:

      $ export FOLDER_ID=b1gvmob95yysaplct532
      $ export IAM_TOKEN=CggaATEVAgA...
      $ curl -H "Authorization: Bearer ${IAM_TOKEN}" \
          "https://iam.api.cloud.yandex.net/iam/v1/serviceAccounts?folderId=${FOLDER_ID}"
      
      {
       "serviceAccounts": [
        {
         "id": "ajebqtreob2dpblin8pe",
         "folderId": "b1gvmob95yysaplct532",
         "createdAt": "2018-10-18T13:42:40Z",
         "name": "my-robot",
         "description": "my description"
        }
       ]
      }
      
    3. Сформируйте тело запроса, например в файле body.json. В свойстве action укажите ADD, а в свойстве subject - тип serviceAccount и ID сервисного аккаунта:

      body.json:

      {
          "accessBindingDeltas": [{
              "action": "ADD",
              "accessBinding": {
                  "roleId": "editor",
                  "subject": {
                      "id": "ajebqtreob2dpblin8pe",
                      "type": "serviceAccount"
                      }
                  }
              }
          ]
      }
      
    4. Назначьте роль, например на каталог с идентификатором b1gvmob95yysaplct532:

      $ export FOLDER_ID=b1gvmob95yysaplct532
      $ export IAM_TOKEN=CggaATEVAgA...
      $ curl -X POST \
          -H "Content-Type: application/json" \
          -H "Authorization: Bearer ${IAM_TOKEN}" \
          -d '@body.json' \
          "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
      

    Что дальше

    • Создание статических ключей доступа
    • Настройка прав доступа к сервисному аккаунту
    • Назначить несколько ролей сразу
    Language
    Вакансии
    Политика конфиденциальности
    Условия использования
    © 2021 ООО «Яндекс.Облако»