Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Настройка внешнего доступа к поду в кластере
    • Все инструкции
    • Проекты
    • Ресурсная модель
      • Обзор
      • Certificate Manager
      • DNS
      • IAM
      • Logging Stack
      • Managed Service for Apache Kafka®
      • Managed Service for PostgreSQL
      • Managed Service for ClickHouse®
      • DataLens
      • Monitoring
      • Object Storage
      • Дисковая подсистема
      • Поддержка NVIDIA® GPU
      • Policy Manager
      • Secrets Store
      • SpeechSense
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

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

  • Основные возможности
  • Управление пользователями
  • Управление группами
  • Управление доступом
  • Сервисные аккаунты
  • Начало работы
  • Первый вход
  • Создание пользователей
  • Назначение ролей
  • Примеры использования
  • Создание локального пользователя
  • Назначение роли на уровне организации
  • Назначение роли группе
  • Назначение роли на уровне пространства имен
  • Назначение роли сервисному аккаунту
  • Настройка внешнего провайдера идентификации
  1. Концепции
  2. Компоненты
  3. IAM

Identity and Access Management

Статья создана
Yandex Cloud
Обновлена 25 марта 2026 г.
  • Основные возможности
    • Управление пользователями
    • Управление группами
    • Управление доступом
    • Сервисные аккаунты
  • Начало работы
    • Первый вход
    • Создание пользователей
    • Назначение ролей
  • Примеры использования
    • Создание локального пользователя
    • Назначение роли на уровне организации
    • Назначение роли группе
    • Назначение роли на уровне пространства имен
    • Назначение роли сервисному аккаунту
    • Настройка внешнего провайдера идентификации

Identity and Access Management — компонент для управления доступом пользователей и сервисных аккаунтов к ресурсам платформы. Компонент обеспечивает централизованную аутентификацию и авторизацию во всех сервисах платформы.

Основные возможностиОсновные возможности

Управление пользователямиУправление пользователями

Identity and Access Management поддерживает несколько способов управления пользователями:

  • Локальные пользователи — создание и управление пользователям происходит непосредственно в Identity and Access Management. Подходит для небольших команд или тестовых окружений.
  • Внешние провайдеры идентификации — интеграция с корпоративными системами управления пользователями по протоколу SAML. Позволяет использовать существующую инфраструктуру аутентификации.

Управление группамиУправление группами

Группы позволяют упростить управление правами доступа для команд пользователей. С помощью Identity and Access Management доступны:

  • Создание локальных групп в Identity and Access Management.
  • Управление членством пользователей в группах.
  • Маппинг групп из внешних провайдеров идентификации на внутренние группы.
  • Назначение ролей группам вместо отдельных пользователей.

Управление доступомУправление доступом

Identity and Access Management предоставляет гибкую систему управления правами доступа:

  • Роли — набор разрешений для выполнения операций с ресурсами.
  • Назначение ролей — выдача ролей пользователям, группам и сервисным аккаунтам на различных уровнях:
    • Уровень организации — доступ ко всем ресурсам.
    • Уровень проекта — доступ к ресурсам в конкретном пространстве имен.
    • Уровень сервисных ресурсов — доступ к ресурсам сервисов.

Сервисные аккаунтыСервисные аккаунты

Сервисные аккаунты используются для автоматизации и межсервисного взаимодействия:

  • Создание сервисных аккаунтов для приложений и сервисов.
  • Генерация API-ключей для аутентификации.
  • Назначение ролей сервисным аккаунтам.
  • Интеграция с Kubernetes ServiceAccount.

Начало работыНачало работы

Первый входПервый вход

При развертывании платформы автоматически создается администратор с логином admin@stackland. Временный пароль сохраняется в секрете admin-password в проекте stackland-secrets. При первом входе необходимо изменить пароль.

Создание пользователейСоздание пользователей

Администратор может создавать новых пользователей двумя способами:

  1. Создать локального пользователя непосредственно в Identity and Access Management через веб-интерфейс.
  2. Через внешний провайдер идентификации – настроить подключение к SAML-провайдеру. Пользователи будут автоматически создаваться при первом входе.

Назначение ролейНазначение ролей

После создания пользователя ему можно назначить роли на различных уровнях:

  • На уровне организации — для доступа ко всем ресурсам платформы.
  • На уровне проекта — для доступа к ресурсам в конкретном пространстве имен.
  • На уровне сервисных ресурсов — для доступа к специфичным ресурсам сервисов.

Примеры использованияПримеры использования

Создание локального пользователяСоздание локального пользователя

Локальные пользователи создаются через IAM API. Для создания пользователя необходимо указать:

  • Имя пользователя в формате username@stackland.
  • Полное имя пользователя.
  • Имя.
  • Фамилию.
  • Email.
  • Пароль.

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

Назначение роли на уровне организацииНазначение роли на уровне организации

Для назначения роли пользователю на уровне организации используется ресурс ClusterAccessBinding:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: ClusterAccessBinding
metadata:
  name: user-admin-role
spec:
  # Роль для назначения
  roleID: "admin"
  # Субъект, которому назначается роль
  subject:
    kind: User
    name: "username@stackland"

Где:

  • roleID — идентификатор роли IAM (например, admin, editor, viewer). Обязательное поле. Должен соответствовать существующей роли в Identity and Access Management.
  • subject — субъект, которому назначается роль. Обязательное поле.
    • kind — тип субъекта. Допустимые значения: User, Group, ServiceAccount, FederatedUser. Обязательное поле.
    • name — имя субъекта. Для пользователей — имя пользователя из Identity and Access Management. Обязательное поле.

Назначение роли группеНазначение роли группе

Для назначения роли группе пользователей используется тот же ресурс ClusterAccessBinding с указанием типа субъекта Group:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: ClusterAccessBinding
metadata:
  name: stackland-cluster-admins
spec:
  roleID: admin
  subject:
    kind: Group
    name: stackland-cluster-admins

Где:

  • roleID — идентификатор роли IAM. Обязательное поле.
  • subject.kind — тип субъекта Group для назначения роли группе. Обязательное поле.
  • subject.name — имя группы в Identity and Access Management. Обязательное поле.

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

Для назначения роли на уровне пространства имен используется ресурс AccessBinding:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: AccessBinding
metadata:
  name: bob-is-storage-admin
  namespace: warehouse
spec:
  roleID: storage.admin
  subject:
    kind: User
    name: bob@stackland

Описание полей:

  • metadata.namespace — пространство имен, на уровне которого назначается роль. Роль будет действовать на folder, соответствующий этому проекту. Обязательное поле.
  • roleID — идентификатор роли IAM. Обязательное поле.
  • subject — субъект, которому назначается роль. Обязательное поле.
    • kind — тип субъекта. Допустимые значения: User, Group, ServiceAccount, FederatedUser. Обязательное поле.
    • name — имя субъекта. Обязательное поле.

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

Для назначения роли сервисному аккаунту необходимо указать тип субъекта ServiceAccount и проект, в котором находится сервисный аккаунт:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: AccessBinding
metadata:
  name: sa-storage-admin
  namespace: my-namespace
spec:
  roleID: "storage.admin"
  subject:
    kind: ServiceAccount
    name: "my-service-account"
    namespace: "my-namespace"

Где:

  • metadata.namespace — проект, на уровне которого назначается роль. Обязательное поле.
  • roleID — идентификатор роли IAM. Обязательное поле.
  • subject — субъект, которому назначается роль. Обязательное поле.
    • kind — тип субъекта ServiceAccount. Обязательное поле.
    • name — имя Kubernetes ServiceAccount. Обязательное поле.
    • namespace — проект, в котором находится ServiceAccount. Обязательное поле для типа ServiceAccount.

Настройка внешнего провайдера идентификацииНастройка внешнего провайдера идентификации

SAML
Active Directory

Для интеграции с внешним провайдером идентификации по протоколу SAML используется ресурс SAMLFederation:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: SAMLFederation
metadata:
  name: corporate-idp
spec:
  # Описание федерации
  description: "Corporate Identity Provider"
  # URL провайдера идентификации
  issuer: "https://idp.company.com/realms/main"
  # URL для Single Sign-On
  ssoUrl: "https://idp.company.com/realms/main/protocol/saml"
  # Тип привязки SAML
  ssoBinding: POST
  # Автоматическое создание пользователей при первом входе
  autoCreateAccountOnLogin: true
  # Время жизни cookie сессии
  cookieMaxAge: "12h"
  # Сертификаты для проверки подписи SAML-ответов
  certificates:
    - name: "idp-signing-cert"
      description: "IdP signing certificate"
      data: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
  # Маппинг внешних групп на внутренние
  groupMapping:
    enabled: true
    mapping:
      - externalId: "idp-admins"
        internalName: "stackland-cluster-admins"
      - externalId: "idp-developers"
        internalName: "developers"

Где:

  • description — описание федерации. Необязательное поле. Максимальная длина 256 символов.
  • issuer — идентификатор провайдера идентификации (Entity ID). Обычно это URL. Обязательное поле.
  • ssoUrl — URL для Single Sign-On в провайдере идентификации. Обязательное поле.
  • ssoBinding — тип привязки SAML. Допустимые значения: POST, REDIRECT. По умолчанию POST.
  • autoCreateAccountOnLogin — автоматически создавать учетные записи пользователей при первом входе. По умолчанию false.
  • cookieMaxAge — время жизни cookie сессии. Допустимый диапазон от 10 минут до 12 часов. Поддерживает формат Go duration: 2h, 120m, 7200s. По умолчанию 12h.
  • caseInsensitiveNameIds — обрабатывать SAML NameID без учета регистра. По умолчанию false.
  • securitySettings — настройки безопасности SAML. Необязательное поле.
    • encryptedAssertions — требовать зашифрованные SAML-утверждения от провайдера. По умолчанию false.
    • forceAuthn — требовать повторную аутентификацию при каждом запросе. По умолчанию false.
  • certificates — список сертификатов для проверки подписи SAML-ответов. Необязательное поле.
    • name — имя сертификата. Обязательное поле.
    • description — описание сертификата. Необязательное поле.
    • data — сертификат в формате PEM. Обязательное поле.
  • groupMapping — настройки маппинга групп. Необязательное поле.
    • enabled — включить маппинг групп. По умолчанию false.
    • mapping — список соответствий внешних и внутренних групп. Необязательное поле.
      • externalId — идентификатор группы в провайдере идентификации. Обязательное поле.
      • internalName — имя группы в Identity and Access Management. Группа должна существовать. Обязательное поле.

Для синхронизации пользователей и групп из Active Directory используется встроенный в Identity and Access Management агент синхронизации.

Чтобы настроить синхронизацию:

  1. Создайте секрет с паролями для подключения к Active Directory:

    apiVersion: v1
    kind: Secret
    metadata:
      name: ad-secret
      namespace: default
    stringData:
      drsr-password: "<пароль_DRSR>"
      ldap-password: "<пароль_LDAP>"
    
  2. Настройте ресурс IAMConfig:

    apiVersion: stackland.yandex.cloud/v1alpha1
    kind: IAMConfig
    metadata:
      name: main
    spec:
      enabled: true
      settings:
        activeDirectorySync:
          enabled: true
          settings:
            userpoolDomain: "<домен_пула_пользователей>"
            drsr:
              host: "<хост_контроллера_домена>"
              username: "<имя_пользователя_DRSR>"
              passwordRef:
                key: drsr-password
                name: ad-secret
                namespace: default
            ldap:
              host: "ldaps://<хост_контроллера_домена>:<порт>"
              username: "<имя_пользователя_LDAP>"
              passwordRef:
                key: ldap-password
                name: ad-secret
                namespace: default
              certificate: "<сертификат_CA>"
              insecureSkipVerify: false
            interval: "60s"
            filter:
              domain: "<имя_домена_в_Active_Directory>"
              groups: []
              organizationUnits: []
            allowToCaptureUsers: true
            allowToCaptureGroups: true
            userAttributeMapping: []
            groupAttributeMapping: []
            removeUserBehavior: "remove"
    

    Где:

    • enabled — включить синхронизацию с Active Directory. Обязательное поле.
    • userpoolDomain — домен, под которым пользователи из Active Directory будут отображаться в платформе. Обязательное поле.
    • drsr — настройки подключения по протоколу DRSR. Обязательное поле.
      • host — хост контроллера домена. Обязательное поле.
      • username — имя пользователя. Обязательное поле.
      • passwordRef — ссылка на секрет с паролем. Обязательное поле.
        • name — имя секрета. Обязательное поле.
        • namespace — пространство имен секрета. Обязательное поле.
        • key — ключ секрета. Обязательное поле.
    • ldap — настройки подключения по протоколу LDAP. Обязательное поле.
      • host — адрес контроллера домена в формате ldap:// или ldaps://. Обязательное поле.
      • username — имя пользователя. Обязательное поле.
      • passwordRef — ссылка на секрет с паролем. Обязательное поле.
        • name — имя секрета. Обязательное поле.
        • namespace — пространство имен секрета. Обязательное поле.
        • key — ключ секрета. Обязательное поле.
      • certificate — сертификат CA в формате PEM для проверки TLS-соединения. Необязательное поле.
      • insecureSkipVerify — отключить проверку TLS-сертификата сервера. Рекомендуется не включать.
    • interval — интервал инкрементальной синхронизации. Обязательное поле.
    • filter — фильтрация объектов для синхронизации. Необязательное поле.
      • domain — имя домена в Active Directory. Необязательное поле.
      • groups — список групп для синхронизации. Необязательное поле.
      • organizationUnits — список организационных единиц для синхронизации. Необязательное поле.
    • allowToCaptureUsers — параметр, позволяющий изменять существующего пользователя пула при совпадении его логина с логином пользователя Active Directory, которого требуется синхронизировать.
    • allowToCaptureGroups — параметр, позволяющий изменять существующую группу пользователей при совпадении ее имени с именем группы в Active Directory, которую требуется синхронизировать.
    • userAttributeMapping — переопределение маппинга атрибутов пользователей. Необязательное поле.
    • groupAttributeMapping — переопределение маппинга атрибутов групп. Необязательное поле.
    • removeUserBehavior — поведение при удалении пользователя из Active Directory. Допустимые значения: remove, block.

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

Предыдущая
DNS
Следующая
Logging Stack
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»