Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
    • Работа с приватными реестрами Docker-образов
      • Получение информации о кластере Kubernetes
      • Посмотреть операции с кластером Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Управление доступом к кластеру Kubernetes
      • Поддержка федерации сервисных аккаунтов IAM в кластере Kubernetes
      • Получение списка доступных конфигураций мастера в кластере Kubernetes
      • Мониторинг состояния кластера Kubernetes
      • Удаление кластера Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Управление кластером Kubernetes
  3. Поддержка федерации сервисных аккаунтов IAM в кластере Kubernetes

Включение поддержки федерации сервисных аккаунтов Yandex Identity and Access Management в кластере Yandex Managed Service for Kubernetes

Статья создана
Yandex Cloud
Улучшена
Обновлена 13 марта 2026 г.

В Managed Service for Kubernetes реализована интеграция с федерациями сервисных аккаунтов Identity and Access Management.

Федерации сервисных аккаунтов (Workload Identity Federation) позволяют настроить связь между внешними системами и Yandex Cloud по протоколу OpenID Connect (OIDC). За счет этого внешние системы могут выполнять действия с ресурсами Yandex Cloud от имени сервисных аккаунтов IAM без использования авторизованных ключей. Это более безопасный способ, минимизирующий риск утечки учетных данных и возможность несанкционированного доступа.

При включении опции Managed Service for Kubernetes автоматически создает для конкретного кластера OIDC-провайдер и предоставляет следующие параметры для интеграции с федерациями сервисных аккаунтов:

  • URL эмитента.
  • URL набора ключей JWKS.

Совет

В инструкции описана настройка кластера и групп узлов Managed Service for Kubernetes, полное руководство по интеграции с федерациями сервисных аккаунтов Identity and Access Management см. на странице Доступ к API Yandex Cloud из кластера Managed Service for Kubernetes с помощью федерации сервисных аккаунтов Identity and Access Management.

  1. Если у вас еще нет кластера Managed Service for Kubernetes:

    1. Создайте кластер.

      Совет

      Чтобы использовать контроллер DaemonSet yc-metadata-server на узлах для автоматического обмена токенов сервисного аккаунта Kubernetes на IAM-токен, создайте кластер в релизном канале RAPID.

      Для остальных релизных каналов доступен ручной обмен токенов сервисного аккаунта Kubernetes на IAM-токен.

    2. Создайте группу узлов.

    3. Настройте группы безопасности для кластера и группы узлов.

  2. Для доступа к API Yandex Cloud у узлов кластера должен быть доступ в интернет. Убедитесь, что узлам кластера назначены публичные IP-адреса, или в подсети, где размещаются узлы, настроен NAT-шлюз или NAT-инстанс. Также убедитесь, что правилами группы безопасности разрешен весь исходящий трафик для узлов кластера.

  3. Настройте интеграцию с федерацией сервисных аккаунтов для кластера и группы узлов:

    Консоль управления
    CLI
    Terraform
    API
    1. В консоли управления выберите каталог, в котором размещен кластер.
    2. Перейдите в сервис Managed Service for Kubernetes.
    3. Напротив кластера нажмите и выберите Редактировать.
    4. В поле Управление идентификацией и доступом включите федерацию сервисных аккаунтов.
    5. Нажмите Сохранить.
    6. На обзорной странице кластера в блоке Управление идентификацией и доступом скопируйте значения параметров URL эмитента и URL набора ключей JWKS. Они понадобятся для дальнейшей интеграции.
    7. Перейдите на вкладку Группы узлов.
    8. Напротив группы узлов нажмите и выберите Редактировать.
    9. В поле Управление идентификацией и доступом включите федерацию сервисных аккаунтов.
    10. Нажмите Сохранить.

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

    По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

    1. Включите поддержку интеграции с федерацией сервисных аккаунтов в кластере:

      yc managed-kubernetes cluster update \
        --id <идентификатор_кластера> \
        --enable-workload-identity-federation
      

      Результат:

      done (3s)
      ...
      workload_identity_federation:
        enabled: true
        issuer: https://storage.yandexcloud.kz/mk8s-oidc/v1/clusters/catc7433801j********
        jwks_uri: https://storage.yandexcloud.kz/mk8s-oidc/v1/clusters/catc7433801j********/jwks.json
      

      Скопируйте значения параметров workload_identity_federation.issuer и workload_identity_federation.jwks_uri. Они понадобятся для дальнейшей интеграции.

    2. Включите поддержку интеграции с федерацией сервисных аккаунтов в группе узлов:

      yc managed-kubernetes node-group update \
        --id <идентификатор_группы_узлов> \
        --enable-workload-identity-federation
      

      Результат:

      done (12s)
      ...
      workload_identity_federation:
        enabled: true
      

    Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

    Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

    Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

    Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

    1. В конфигурационном файле Terraform добавьте в манифест кластера блок workload_identity_federation:

      resource "yandex_kubernetes_cluster" "my_cluster" {
      ...
        workload_identity_federation {
          enabled = true
        }
      }
      
    2. В конфигурационном файле Terraform добавьте в манифест группы узлов блок workload_identity_federation:

      resource "yandex_kubernetes_node_group" "my_node_group" {
      ...
        workload_identity_federation {
          enabled = true
        }
      }
      
    3. Проверьте корректность конфигурационных файлов.

      1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

      2. Выполните команду:

        terraform validate
        

        Если в файлах конфигурации есть ошибки, Terraform на них укажет.

    4. Подтвердите изменение ресурсов.

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

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

      2. Если вас устраивают планируемые изменения, внесите их:

        1. Выполните команду:

          terraform apply
          
        2. Подтвердите изменение ресурсов.

        3. Дождитесь завершения операции.

    5. Получите URL эмитента (issuer) и URL набора ключей JWKS (jwks_uri) для настройки федерации сервисных аккаунтов с помощью источника данных Terraform yandex_kubernetes_cluster.

      Также вы можете узнать эти параметры в консоли управления, с помощью CLI или API.

    1. Воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update.

      Примечание

      Ниже перечислены параметры для тела запроса к REST API. Чтобы указать параметр в вызове gRPC API, преобразуйте его имя из lowerCamelCase в snake_case. Например, параметр minResourcePresetId преобразуется в min_resource_preset_id.

      Передайте в запросе:

      • Идентификатор кластера в параметре clusterId.

      • Параметр updateMask со значением workloadIdentityFederation.enabled.

        Важно

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

      • Параметр workloadIdentityFederation со значением "enabled": "true".

      Скопируйте из ответа значения параметров workloadIdentityFederation.issuer и workloadIdentityFederation.jwksUri. Они понадобятся в дальнейшем.

    2. Воспользуйтесь методом REST API update для ресурса NodeGroup или вызовом gRPC API NodeGroupService/Update.

      Передайте в запросе:

      • Идентификатор группы узлов в параметре nodeGroupId.
      • Параметр updateMask со значением workloadIdentityFederation.enabled.
      • Параметр workloadIdentityFederation со значением "enabled": "true".

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

  • Федерации сервисных аккаунтов
  • Доступ к API Yandex Cloud из кластера Managed Service for Kubernetes с помощью федерации сервисных аккаунтов Identity and Access Management

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

Предыдущая
Управление доступом к кластеру Kubernetes
Следующая
Получение списка доступных конфигураций мастера в кластере Kubernetes
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»