Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Identity and Access Management
    • Все инструкции
    • Обработка секретов, попавших в открытый доступ
    • Пользователи
    • Группы пользователей
      • Создание сервисного аккаунта
      • Просмотр сервисных аккаунтов каталога
      • Изменение сервисного аккаунта
      • Назначение роли сервисному аккаунту
      • Настройка прав доступа к сервисному аккаунту
      • Использование имперсонации
      • Получение информации о сервисном аккаунте
      • Получение ID-токена сервисного аккаунта
      • Удаление сервисного аккаунта
  • Безопасное использование Yandex Cloud
  • Управление доступом
  • Правила тарификации
  • Справочник ролей
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Сервисные аккаунты
  3. Использование имперсонации

Использование имперсонации

Статья создана
Yandex Cloud
Обновлена 5 ноября 2025 г.

Имперсонация позволяет пользователю выполнять действия от имени сервисного аккаунта с помощью параметра --impersonate-service-account-id в команде Yandex Cloud CLI.

Примечание

Чтобы использовать имперсонацию:

  • у сервисного аккаунта должны быть права, необходимые для выполнения нужного действия с ресурсами Yandex Cloud;
  • пользователю должна быть назначена роль iam.serviceAccounts.tokenCreator на нужный сервисный аккаунт или на каталог, в котором находится этот сервисный аккаунт.

Чтобы выполнить операцию от имени сервисного аккаунта:

CLI

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

  1. Узнайте идентификатор сервисного аккаунта, которому вы хотите назначить роль. Чтобы узнать идентификатор, получите список доступных сервисных аккаунтов (в профиле администратора):

    yc iam service-account list
    

    Результат:

    +----------------------+----------+--------+---------------------+-----------------------+
    |          ID          |   NAME   | LABELS |     CREATED AT      | LAST AUTHENTICATED AT |
    +----------------------+----------+--------+---------------------+-----------------------+
    | ajebqtreob2d******** | test-sa  |        | 2024-09-08 18:59:45 | 2025-09-04 07:10:00   |
    | aje6o61dvog2******** | my-robot |        | 2023-06-27 16:18:18 | 2025-10-10 18:00:00   |
    +----------------------+----------+--------+---------------------+-----------------------+
    
  2. Назначьте сервисному аккаунту test-sa роль viewer на каталог my-folder. В типе субъекта укажите serviceAccount, а в значении — идентификатор сервисного аккаунта (в профиле администратора):

    yc resource-manager folder add-access-binding my-folder \
      --role viewer \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    
  3. Получите идентификатор пользователя и назначьте ему роль iam.serviceAccounts.tokenCreator на сервисный аккаунт test-sa (в профиле администратора):

    yc iam service-account add-access-binding test-sa \
      --role iam.serviceAccounts.tokenCreator \
      --subject userAccount:<идентификатор_пользователя>
    
  4. Пользователь может выполнить команду от имени сервисного аккаунта test-sa с помощью параметра --impersonate-service-account-id.

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

    yc compute instance list \
      --folder-name my-folder \
      --impersonate-service-account-id <идентификатор_сервисного_аккаунта>
    

    Также пользователь может получить IAM-токен сервисного аккаунта test-sa для кратковременного доступа:

    yc iam create-token \
      --impersonate-service-account-id <идентификатор_сервисного_аккаунта>
    

    Срок действия полученного токена закончится автоматически.

  5. Если доступ больше не нужен пользователю, отзовите роль у сервисного аккаунта (в профиле администратора):

    yc resource-manager folder remove-access-binding my-folder \
      --role viewer \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    
  6. Отзовите роль iam.serviceAccounts.tokenCreator у пользователя, получавшего права сервисного аккаунта:

    yc iam service-account remove-access-binding test-sa \
      --role iam.serviceAccounts.tokenCreator \
      --subject userAccount:<идентификатор_пользователя>
    

См. такжеСм. также

  • Имперсонация

Была ли статья полезна?

Предыдущая
Настройка прав доступа к сервисному аккаунту
Следующая
Получение информации о сервисном аккаунте
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»