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
Обновлена 27 октября 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 ТОО «Облачные Сервисы Казахстан»