Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ML Services
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
    • Установка приложений из Yandex Cloud Marketplace с помощью Terraform
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Chaos Mesh
      • Установка cert-manager c плагином Cloud DNS ACME webhook
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка ExternalDNS c плагином для Cloud DNS
      • Установка Falco
      • Установка Filebeat OSS
      • Установка Fluent Bit
      • Установка Gatekeeper
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка Gwin
      • Установка HashiCorp Vault
      • Установка Ingress NGINX
      • Установка Ingress-контроллера Application Load Balancer
      • Обновление Ingress-контроллера Application Load Balancer
      • Установка Istio
      • Установка Jaeger
      • Установка KEDA
      • Установка Kruise
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка OIDC Аутентификация
      • Установка Policy Reporter
      • Установка Prometheus Operator
      • Установка Thumbor
      • Установка Velero
      • Установка VictoriaLogs
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Установка OIDC Аутентификация с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Получение доступа к кластеру
  • См. также
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка OIDC Аутентификация

Установка OIDC Аутентификация

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 октября 2025 г.
  • Перед началом работы
  • Установка OIDC Аутентификация с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Получение доступа к кластеру
  • См. также

OIDC Аутентификация — приложение для аутентификации пользователей в кластере Managed Service for Kubernetes с помощью сторонних провайдеров аутентификации, поддерживающих протоколы идентификации OIDC, Active Directory, LDAP или GitHub. Приложение использует протокол OAuth 2.0 для выпуска токена доступа пользователя по идентификатору и секретному ключу, предоставленному провайдером.

Приложение состоит из двух компонентов:

  • Concierge — прокси-сервер для Kubernetes API.
  • Supervisor — OIDC-сервер авторизации кластера для прокси-сервера.

Приложение использует решение Pinniped для обеспечения работы.

Перед началом работыПеред началом работы

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

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

  2. Зарегистрируйте в OIDC-сервере организации нового OAuth-клиента и получите его идентификатор и секретный ключ.

    О том, как получить идентификатор и секретный ключ, см. в официальной документации по настройке провайдеров идентификации.

  3. Зарезервируйте публичный IP-адрес для сервиса Supervisor с помощью Yandex Virtual Private Cloud.

  4. Зарегистрируйте DNS-запись для сервиса Supervisor (обычно это поддомен supervisor.<ваш_домен>) с помощью Yandex Cloud DNS и привяжите к ней зарезервированный IP-адрес.

  5. Выпустите сертификат для зарегистрированного домена Supervisor с помощью Yandex Certificate Manager.

  6. Получите содержимое выпущенного сертификата и сохраните его в файл cert.json:

    yc certificate-manager certificate content <идентификатор_сертификата> \
      --format json > cert.json
    

Установка OIDC Аутентификация с помощью Yandex Cloud MarketplaceУстановка OIDC Аутентификация с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.

  2. Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.

  3. В разделе Доступные для установки приложения выберите OIDC Аутентификация и нажмите кнопку Перейти к установке.

  4. Задайте настройки приложения:

    • Пространство имен — создайте новое пространство имен pinniped-concierge. Приложение использует его по умолчанию. Если вы оставите пространство имен default, OIDC Аутентификация может работать некорректно.
    • Название приложения — укажите название приложения.
    • OIDC-домен компании — укажите URL основного домена вашей организации.
    • Идентификатор клиента — укажите идентификатор OAuth-клиента.
    • Секрет клиента — укажите секретный ключ OAuth-клиента.
    • Дополнительные права доступа — укажите дополнительные права доступа для токена.
    • Поле в токене с именем пользователя — укажите название поля, в котором содержится имя пользователя.
    • Поле в токене с группой — укажите название поля, в котором содержится группа пользователя.
    • Домен супервайзера — укажите созданный ранее поддомен сервиса Supervisor.
    • IP-адрес супервайзера — укажите зарезервированный ранее IP-адрес.
    • Доменный сертификат супервайзера — вставьте содержимое файла cert.json.
  5. Нажмите кнопку Установить.

  6. Дождитесь перехода приложения в статус Deployed.

Установка с помощью Helm-чартаУстановка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.8.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Для установки Helm-чарта с приложением OIDC Аутентификация выполните команду:

    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/external-secrets/chart/external-secrets \
      --version 0.1.0 \
      --untar && \
    helm install \
      --namespace pinniped-concierge \
      --create-namespace \
      --set domain=<основной_домен_организации> \
      --set client_id=<идентификатор_OAuth-клиента> \
      --set client_secret=<секретный_ключ_OAuth-клиента> \
      --set username_claim=<поле_токена_с_именем_пользователя> \
      --set group_claim=<поле_токена_с_группой> \
      --set domain=<поддомен_сервиса_Supervisor_организации> \
      --set ip=<IP-адрес_поддомена_сервиса_Supervisor> \
      --set additional_scopes=<дополнительные_права_доступа_токена> \
      --set-file certificate=<путь_к_файлу_cert.json> \
      oidc-authenticator ./oidc-authenticator/
    

    Эта команда создаст новое пространство имен, необходимое для работы OIDC Аутентификации.

    Примечание

    Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.

Получение доступа к кластеруПолучение доступа к кластеру

  1. Назначьте роли в кластере, соответствующие пользователю в организации.

    Пример назначения роли
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: clusterroleall-user
    subjects:
    - kind: User
      name: <user_account_id_в_организации>
    roleRef:
      kind: ClusterRole
      name: <роль_в_кластере>
      apiGroup: rbac.authorization.k8s.io
    
  2. Выполните действия на компьютере с правами доступа к ресурсам Supervisor в кластере:

    1. Установите утилиту pinniped-cli.

    2. Выполните команду для получения публичного конфигурационного файла:

      pinniped get kubeconfig \
        --upstream-identity-provider-flow browser_authcode > public_config.yaml
      

      Для провайдеров LDAP и Active Directory в команде используются другие параметры:

      pinniped get kubeconfig \
        --upstream-identity-provider-flow cli_password > public_config.yaml 
      

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

  3. Установите на компьютере сотрудника необходимые ресурсы:

    1. Установите утилиту pinniped-cli.
    2. Скопируйте публичную конфигурацию. В файле публичной конфигурации укажите локальный путь к утилите pinniped-cli в параметре users.user.exec.command.
  4. Укажите файл публичной конфигурации при выполнении команд в кластере, например:

    kubectl get namespaces \
      --kubeconfig "$HOME/public_config.yaml"
    

    При первом выполнении команды kubectl сотрудник будет перенаправлен в браузер для OIDC-аутентификации и выпуска OAuth-токена доступа к кластеру.

    Далее команды kubectl выполняются без прохождения аутентификации до истечения срока действия токена доступа.

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

  • Документация Pinniped.

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

Предыдущая
Установка NodeLocal DNS
Следующая
Установка Policy Reporter
Проект Яндекса
© 2025 ООО «Яндекс.Облако»