Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Проверка подписи собственных образов
    • Все инструкции
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
      • Обзор
      • Certificate Manager
      • DNS
      • IAM
      • Logging Stack
      • Managed Service for Apache Kafka®
      • Managed Service for PostgreSQL
      • Managed Service for Apache Airflow™
      • Managed Service for ClickHouse®
      • Iceberg REST Catalog
      • Managed Service for Trino
      • YTsaurus
      • DataLens
      • Monitoring
      • Object Storage
      • Дисковая подсистема
      • Поддержка NVIDIA® GPU
      • Policy Manager
      • Secrets Store
      • SpeechSense
      • AI Studio
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

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

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

Identity and Access Management

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

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.

Квота federated credentialsКвота federated credentials

Для аутентификации приложений через Workload Identity оператор iam-operator создает в IAM отдельный federated credential для каждого синхронизируемого Kubernetes ServiceAccount. Credential связывает IAM-сервисный аккаунт с Kubernetes ServiceAccount в общей федерации кластера.

Квота iam.saFederatedCredentials.count облака stackland во встроенном IAM общая для всех проектов и пространств имен кластера. Ее расходуют как пользовательские ServiceAccount, так и ServiceAccount компонентов платформы, синхронизируемые оператором.

При инициализации IAM оператор устанавливает эту квоту в 5 000 000 federated credentials вместо стандартного ограничения IAM в 200. Настройка также применяется к существующим кластерам при обновлении оператора: bootstrap повторно выполняется при повышении его версии. Отдельная настройка со стороны пользователя не требуется. Остальные квоты IAM, в том числе на количество сервисных аккаунтов, действуют независимо.

Если до обновления квота была исчерпана, после ее увеличения оператор автоматически повторит синхронизацию ранее несинхронизированных ServiceAccount. Интервал повторных попыток при ошибке составляет 30 секунд. После успешной синхронизации ID credential сохраняется в аннотации iam.stackland.yandex.cloud/federated-credential-id. Наличие аннотации iam.stackland.yandex.cloud/service-account-id само по себе не подтверждает, что credential создан.

Резервное копирование и восстановлениеРезервное копирование и восстановление

Данные Identity and Access Management хранятся в YDB. Начиная с Stackland 26.3 администратор кластера может сохранить резервную копию этой базы данных в локальный архив tar.gz и восстановить ее из архива с помощью скриптов.

При восстановлении текущая YDB и ее PVC удаляются, а кластер временно становится недоступен. Подробные требования и порядок действий приведены в инструкциях Создать резервную копию YDB и Восстановить YDB из резервной копии.

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

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

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