Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • VibeCraft
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Identity Hub
    • Все инструкции
    • Подписать пользователя на уведомления
      • Обзор
      • Active Directory
      • LDAP-совместимые службы каталогов
    • Управлять тарификацией Yandex Identity Hub
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • История изменений
  • История изменений Yandex Identity Hub Sync Agent
  • Обучающие курсы

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

  • Подготовьте к синхронизации организацию Yandex Identity Hub
  • Подготовьте LDAP-сервер
  • Включите обратную запись паролей (опционально)
  • Настройте и запустите агент синхронизации
  • Протестируйте изменения в конфигурации агента
  • Параметры конфигурации агента
  • userpool_id
  • working_directory
  • check_config_permissions
  • cloud_credentials_file_path
  • use_metadata_service
  • enable_password_writeback
  • dry_run
  • ldap
  • kerberos
  • logger
  • sync_settings
  1. Пошаговые инструкции
  2. Синхронизация с внешними службами каталогов
  3. LDAP-совместимые службы каталогов

Синхронизировать пользователей и группы с LDAP-совместимыми каталогами

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 16 октября 2026 г.
Открыть в Markdown
  • Подготовьте к синхронизации организацию Yandex Identity Hub
  • Подготовьте LDAP-сервер
  • Включите обратную запись паролей (опционально)
  • Настройте и запустите агент синхронизации
  • Протестируйте изменения в конфигурации агента
  • Параметры конфигурации агента
    • userpool_id
    • working_directory
    • check_config_permissions
    • cloud_credentials_file_path
    • use_metadata_service
    • enable_password_writeback
    • dry_run
    • ldap
    • kerberos
    • logger
    • sync_settings

Если для управления пользователями ваша компания использует службу каталогов, совместимую с протоколом LDAP, и вы хотите организовать для ваших пользователей доступ к Yandex Cloud, вам не нужно создавать учетные записи для них вручную. Вместо этого вы можете настроить синхронизацию с Yandex Identity Hub пользователей и групп из вашего каталога.

Подготовьте к синхронизации организацию Yandex Identity HubПодготовьте к синхронизации организацию Yandex Identity Hub

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.

  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

  3. Создайте пул пользователей в Yandex Identity Hub и привяжите к нему домен, идентичный домену, который используется для доступа к LDAP-серверу.

    Привязывать ваш собственный домен к пулу пользователей не обязательно. Вместо этого вы можете привязать другой домен или выбрать домен по умолчанию. Но в этом случае в конфигурации агента синхронизации потребуется настроить подстановку домена в параметре replacement_domain. Подробнее читайте в разделе Параметры конфигурации агента.

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

    • organization-manager.userpools.syncAgent;
    • organization-manager.groups.viewer;
    • organization-manager.groups.externalCreator;
    • organization-manager.groups.externalConverter.

    Если вы планируете выгружать логи работы агента синхронизации в лог-группу Yandex Cloud Logging, дополнительно назначьте сервисному аккаунту роль logging.writer на соответствующую лог-группу или каталог, в котором она расположена.

  5. (Опционально) Создайте и сохраните авторизованный ключ для вашего сервисного аккаунта.

    Важно

    Авторизованный ключ не нужен, если агент синхронизации устанавливается на виртуальную машину Yandex Compute Cloud, к которой привязан сервисный аккаунт с необходимыми правами доступа.

Подготовьте LDAP-серверПодготовьте LDAP-сервер

Для корректной работы агента синхронизации на стороне LDAP-сервера выполните следующие действия:

  1. Создайте аккаунт пользователя, от имени которого агент будет выполнять синхронизацию.

  2. Выдайте этому аккаунту разрешения, необходимые для чтения информации о пользователях и изменения паролей (хешей паролей) пользователей.

    В зависимости от используемой службы каталогов механизм выдачи и названия конкретных разрешений различаются. В некоторых случаях также могут потребоваться дополнительные полномочия. Подробнее о необходимых разрешениях читайте в документации к используемой службе каталогов.

  3. (Опционально) Если вы используете обратную запись паролей, в зависимости от используемой службы каталогов (например, FreeIPA и ApacheDS™), создайте дополнительный аккаунт пользователя, который позволит сбрасывать пароль пользователя без необходимости его смены после первого входа. Подробнее читайте в документации к используемой службе каталогов.

  4. На LDAP-сервере откройте сетевые порты для входящего трафика, который поступает с IP-адреса сервера с установленным агентом Yandex Identity Hub Sync Agent:

    • 389 (TCP) — для LDAP;
    • 636 (TCP) — для LDAPS;
    • 53 (TCP/UDP) и 88 (TCP/UDP) — для Kerberos.

Включите обратную запись паролей (опционально)Включите обратную запись паролей (опционально)

Если вы планируете использовать обратную запись паролей из Yandex Identity Hub во внешний каталог, включите ее для пула пользователей в Yandex Identity Hub.

Примечание

Функциональность обратной записи паролей находится на стадии Preview. Чтобы получить к ней доступ, обратитесь в техническую поддержку или к вашему аккаунт-менеджеру.

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

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

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для создания настроек синхронизации:

    yc organization-manager idp synchronization-settings create --help
    
  2. Создайте настройки синхронизации с включенной обратной записью паролей:

    yc organization-manager idp synchronization-settings create \
      --subject-container-id <идентификатор_пула_пользователей> \
      --filter "domain=<домен_во_внешнем_каталоге>" \
      --enable-password-writeback
    

    Где:

    • --subject-container-id — идентификатор пула пользователей, для которого создаются настройки синхронизации.
    • --filter — домен внешнего LDAP-каталога, который нужно синхронизировать. Укажите тот же домен, что и в параметре sync_settings.filter.domain конфигурации агента.
    • --enable-password-writeback — включает обратную запись паролей для пула пользователей.

При настройке агента также задайте в его конфигурации параметр enable_password_writeback: true и настройки в секции ldap.password_writeback.

Важно

В некоторых внешних каталогах (например, FreeIPA и ApacheDS™) для выполнения обратной записи паролей необходим дополнительный аккаунт, который позволяет сбрасывать пароль пользователя без необходимости его смены после первого входа. Подробнее читайте в документации к используемой службе каталогов.

Настройте и запустите агент синхронизацииНастройте и запустите агент синхронизации

Вы можете установить агент синхронизации на любой сервер под управлением ОС Linux или Windows.

Если вы устанавливаете агент синхронизации на виртуальную машину Yandex Compute Cloud, подключите к этой виртуальной машине созданный ранее сервисный аккаунт.

Прежде чем приступать к синхронизации, откройте на сервере, где вы будете запускать агент, следующие сетевые порты для входящего и исходящего сетевого трафика:

  • Для обращения к API Yandex Cloud:

    • 443 — для HTTPS;
  • Для обращения к LDAP-серверу:

    • 389 (TCP) — для LDAP;
    • 636 (TCP) — для LDAPS;
    • 53 (TCP/UDP) и 88 (TCP/UDP) — для Kerberos.

Если для аутентификации на стороне внешней службы каталогов вы планируете использовать протокол Kerberos, самостоятельно установите на сервер с агентом компоненты, необходимые для работы этого протокола, и создайте файл keytab с ключами шифрования.

Чтобы запустить синхронизацию пользователей и групп:

Linux
Windows

В терминале Linux:

  1. Чтобы установить агент Yandex Identity Hub Sync Agent, выполните команду:

    curl https://storage.yandexcloud.net/yc-identityhub-sync/install.sh | bash
    

    Результат:

    Example config file downloaded to /etc/yc-identityhub-sync-agent/config.yaml. Modify it with your values
    Service installed as yc-identityhub-sync-agent
    To start the service: sudo systemctl start yc-identityhub-sync-agent
    To enable the service to start on boot: sudo systemctl enable yc-identityhub-sync-agent
    To check service status: sudo systemctl status yc-identityhub-sync-agent
    yc-identityhub-sync-agent is installed to /usr/bin/yc-identityhub-sync-agent
    
  2. (Опционально) Если для аутентификации агента в API Yandex Cloud вы будете использовать авторизованный ключ сервисного аккаунта, скопируйте на ваш сервер файл с сохраненным ранее авторизованным ключом.

    Для этого вы можете воспользоваться командой scp или любым другим подходящим инструментом.

  3. В любом текстовом редакторе откройте YAML-файл с конфигурацией агента синхронизации. В примере ниже используется редактор nano:

    nano /etc/yc-identityhub-sync-agent/config.yaml
    
  4. В открывшемся файле задайте конфигурацию агента синхронизации. Конфигурация зависит от способа аутентификации, используемого агентом на стороне LDAP-сервера, и задается в YAML-файле в следующем формате:

    По логину и паролю
    По протоколу Kerberos
    # Default configuration for yc-identityhub-sync-agent
    # This is a template - please update with your actual values
    
    userpool_id: "<идентификатор_пула_пользователей>"
    working_directory: "<путь_к_рабочей_директории_агента>"
    
    # Validate config, static credentials, and configured keytab file permissions at startup.
    check_config_permissions: true|false
    
    # Yandex Cloud authentication settings
    
    # Use the cloud_credentials_file_path parameter for authentication via an authorized key.
    # If you want the agent to authenticate via IAM tokens, remove the cloud_credentials_file_path line.
    cloud_credentials_file_path: "<путь_к_файлу_с_авторизованным_ключом>"
    
    # Enable the use_metadata_service parameter for authentication via IAM tokens
    # (only available when the agent is installed on a Compute Cloud VM).
    # If `true`, the cloud_credentials_file_path parameter will be ignored.
    use_metadata_service: true|false
    
    # Enable Password Writeback so the agent can synchronize password changes
    # back from Yandex Identity Hub to the LDAP server.
    enable_password_writeback: true|false
    
    # Enable the Dry Run mode.
    # If `true`, no changes will be applied to users or groups in Yandex Identity Hub.
    # Instead, all pending operations will be saved to the current log file location.
    dry_run:
      enabled: true|false
    
    # LDAP client settings
    ldap:
      host: "ldaps://<адрес_LDAP-сервера>:636"
      username: "<DN_пользователя_во_внешнем_каталоге>"
      password: "<пароль_пользователя_во_внешнем_каталоге>"
      certificate_path: "<путь_к_CA_сертификату>"
      insecure_skip_verify: false|true
    
      # Additional settings required to enable password writeback. 
      password_writeback:
        flavor: "freeipa"   # Available options: freeipa (default), 389, and apache.
        permanent_reset:    # For ApacheDS/FreeIPA the agent requires credentials of an additional account with privileges sufficient to reset users' passwords without requiring the users to change it at first login.
          username: "<DN_пользователя_во_внешнем_каталоге>"
          password: "<пароль_пользователя_во_внешнем_каталоге>"
    
    # Logger configuration
    logger:
      level: "<уровень_логирования>"
      format: "plain|json"
      file:
        filename: "<путь_к_файлу_с_логами>"
        maxsize: 30
        maxbackups: 10
      cloud_logger:
        log_group_id: <идентификатор_лог-группы>
    
    # Sync settings
    sync_settings:
      interval: "600s"
      allow_to_capture_users: true|false
      allow_to_capture_groups: true|false
      # Remove the replacement_domain line if you don't need to replace domain
      replacement_domain: "<домен_пула_пользователей>"
      # Remove the user_attribute_mapping section if you don't need to remap default user attribute names
      # If you need remapping, the user_attribute_mapping section should only contain the attributes you need to remap
      user_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('displayName' --> 'full_name')
        # to custom mapping ('CustomAttributeName' --> 'full_name')
        - source: "CustomAttributeName"
          target: "FullName"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'given_name'
        - source: ""
          target: "GivenName"
          type: "empty"
      # Remove the group_attribute_mapping section if you don't need to remap default group attribute names
      # If you need remapping, the group_attribute_mapping section should only contain the attributes you need to remap
      group_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('cn' --> 'name')
        # to custom mapping ('CustomAttributeName' --> 'name')
        - source: "CustomAttributeName"
          target: "Name"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'description'
        - source: ""
          target: "Description"
          type: "empty"
      filter:
        domain: "<имя_домена_во_внешнем_каталоге>"
        groups:
          - "GroupName1"
          - "GroupName2"
      remove_user_behavior: "remove|block"
    
      # Additional settings required for synchronization with a specific external LDAP directory.
      ldap_settings:
        external_id_attribute: "ipaUniqueID"  # Attribute that contains unique record ID in the external LDAP directory.
        dn_attribute: "entryDN"  # LDAP operational attribute that contains an entry's DN.
        user_object_class: "inetOrgPerson"  # Object class used by user objects.
        group_object_class: "ipausergroup"  # Object class used by group objects.
        account_disabled_attribute: "nsAccountLock"  # Attribute that indicates whether a user is active or inactive.
        account_disabled_value: "TRUE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is disabled.
        account_enabled_value: "FALSE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is enabled.
        password_attribute: "userPassword"  # Attribute that contains a user's password (hash).
        delta_sync_mode: "full_sync"
    

    Описание полей приведено в разделе Параметры конфигурации агента.

    # Default configuration for yc-identityhub-sync-agent
    # This is a template - please update with your actual values
    
    userpool_id: "<идентификатор_пула_пользователей>"
    working_directory: "<путь_к_рабочей_директории_агента>"
    
    # Validate config, static credentials, and configured keytab file permissions at startup.
    check_config_permissions: true|false
    
    # Yandex Cloud authentication settings
    
    # Use the cloud_credentials_file_path parameter for authentication via an authorized key.
    # If you want the agent to authenticate via IAM tokens, remove the cloud_credentials_file_path line.
    cloud_credentials_file_path: "<путь_к_файлу_с_авторизованным_ключом>"
    
    # Enable the use_metadata_service parameter for authentication via IAM tokens
    # (only available when the agent is installed on a Compute Cloud VM).
    # If `true`, the cloud_credentials_file_path parameter will be ignored.
    use_metadata_service: true|false
    
    # Enable Password Writeback so the agent can synchronize password changes
    # back from Yandex Identity Hub to the LDAP server.
    enable_password_writeback: true|false
    
    # Enable the Dry Run mode.
    # If `true`, no changes will be applied to users or groups in Yandex Identity Hub.
    # Instead, all pending operations will be saved to the current log file location.
    dry_run:
      enabled: true|false
    
    # LDAP client settings
    ldap:
      host: "ldaps://<адрес_LDAP-сервера>:636"
      certificate_path: "<путь_к_CA_сертификату>"
      insecure_skip_verify: false|true
      use_kerberos: true
    
      # Additional settings required to enable password writeback. 
      password_writeback:
        flavor: "freeipa"   # Available options: freeipa (default), 389, and apache.
        permanent_reset:    # For ApacheDS/FreeIPA the agent requires credentials of an additional account with privileges sufficient to reset users' passwords without requiring the users to change it at first login.
          kerberos:
            keytab_path: "<путь_к_файлу_keytab_дополнительного_аккаунта>"
            principal: "<SPN_дополнительного_аккаунта>"
            krb5_config_path: "<путь_к_файлу_конфигурации_Kerberos>"  # optional, the default location is /etc/krb5.conf or whatever path is set in the KRB5_CONFIG environment variable
            disable_pa_fx_fast: true
    
    # Kerberos settings
    kerberos:
      keytab_path: "<путь_к_файлу_keytab_основного_аккаунта>"
      principal: "<SPN_основного_аккаунта_во_внешнем_каталоге>"
      krb5_config_path: "<путь_к_файлу_конфигурации_Kerberos>"  # optional, the default location is /etc/krb5.conf or whatever path is set in the KRB5_CONFIG environment variable
      disable_pa_fx_fast: true
    
    # Logger configuration
    logger:
      level: "<уровень_логирования>"
      format: "plain|json"
      file:
        filename: "<путь_к_файлу_с_логами>"
        maxsize: 30
        maxbackups: 10
      cloud_logger:
        log_group_id: <идентификатор_лог-группы>
    
    # Sync settings
    sync_settings:
      interval: "600s"
      allow_to_capture_users: true|false
      allow_to_capture_groups: true|false
      # Remove the replacement_domain line if you don't need to replace domain
      replacement_domain: "<домен_пула_пользователей>"
      # Remove the user_attribute_mapping section if you don't need to remap default user attribute names
      # If you need remapping, the user_attribute_mapping section should only contain the attributes you need to remap
      user_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('displayName' --> 'full_name')
        # to custom mapping ('CustomAttributeName' --> 'full_name')
        - source: "CustomAttributeName"
          target: "FullName"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'given_name'
        - source: ""
          target: "GivenName"
          type: "empty"
      # Remove the group_attribute_mapping section if you don't need to remap default group attribute names
      # If you need remapping, the group_attribute_mapping section should only contain the attributes you need to remap
      group_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('cn' --> 'name')
        # to custom mapping ('CustomAttributeName' --> 'name')
        - source: "CustomAttributeName"
          target: "Name"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'description'
        - source: ""
          target: "Description"
          type: "empty"
      filter:
        domain: "<имя_домена_во_внешнем_каталоге>"
        groups:
          - "GroupName1"
          - "GroupName2"
      remove_user_behavior: "remove|block"
    
      # Additional settings required for synchronization with a specific external LDAP directory.
      ldap_settings:
        external_id_attribute: "ipaUniqueID"  # Attribute that contains unique record ID in the external LDAP directory.
        dn_attribute: "entryDN"  # LDAP operational attribute that contains an entry's DN.
        user_object_class: "inetOrgPerson"  # Object class used by user objects.
        group_object_class: "ipausergroup"  # Object class used by group objects.
        account_disabled_attribute: "nsAccountLock"  # Attribute that indicates whether a user is active or inactive.
        account_disabled_value: "TRUE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is disabled.
        account_enabled_value: "FALSE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is enabled.
        password_attribute: "userPassword"  # Attribute that contains a user's password (hash).
        delta_sync_mode: "full_sync"
    

    Описание полей приведено в разделе Параметры конфигурации агента.

  5. Запустите сервис агента Yandex Identity Hub Sync Agent, чтобы начать процесс синхронизации:

    sudo systemctl start yc-identityhub-sync-agent
    
  6. Чтобы убедиться, что процесс синхронизации идет, посмотрите файл с логами агента. Например:

    sudo cat /etc/yc-identityhub-sync-agent/identity_hub.log
    

    Результат синхронизации вы также можете посмотреть в интерфейсе сервиса Yandex Identity Hub — в выбранном пуле пользователей должны создаться новые пользователи и группы, полученные из внешнего каталога.

  7. Чтобы остановить синхронизацию, остановите запущенный процесс агента синхронизации:

    sudo systemctl stop yc-identityhub-sync-agent
    

    В результате процесс синхронизации пользователей и групп будет остановлен.

В терминале PowerShell:

  1. Чтобы установить агент Yandex Identity Hub Sync Agent, выполните команду:

    iex (New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yc-identityhub-sync/install.ps1')
    

    Результат:

    Example config file downloaded to C:\ProgramData\YcIdentityHubSyncAgent\config.yaml. Modify it with your values
    yc-identityhub-sync-agent is installed to C:\Program Files\YcIdentityHubSyncAgent\bin\yc-identityhub-sync-agent.exe
    Config file is located at C:\ProgramData\YcIdentityHubSyncAgent\config.yaml
    
    Status   Name               DisplayName
    ------   ----               -----------
    Stopped  yc-identityhub-... Yandex Identity Hub Sync Agent
    yc-identityhub-sync-agent installed as Windows service 'yc-identityhub-sync-agent' (not started automatically)
    1. Modify the config file at C:\ProgramData\YcIdentityHubSyncAgent\config.yaml with your values
    2. Run: Start-Service yc-identityhub-sync-agent
    
  2. Скопируйте на ваш сервер файл с сохраненным ранее авторизованным ключом сервисного аккаунта. Для этого вы можете воспользоваться любым подходящим инструментом.

  3. В любом текстовом редакторе откройте YAML-файл конфигурации агента config.yaml, расположенный в папке C:\ProgramData\YcIdentityHubSyncAgent\.

  4. В открывшемся файле задайте конфигурацию агента синхронизации. Конфигурация зависит от способа аутентификации, используемого агентом на стороне LDAP-сервера, и задается в YAML-файле в следующем формате:

    По логину и паролю
    По протоколу Kerberos
    # Default configuration for yc-identityhub-sync-agent
    # This is a template - please update with your actual values
    
    userpool_id: "<идентификатор_пула_пользователей>"
    working_directory: "<путь_к_рабочей_директории_агента>"
    
    # Validate config, static credentials, and configured keytab file permissions at startup.
    check_config_permissions: true|false
    
    # Yandex Cloud authentication settings
    
    # Use the cloud_credentials_file_path parameter for authentication via an authorized key.
    # If you want the agent to authenticate via IAM tokens, remove the cloud_credentials_file_path line.
    cloud_credentials_file_path: "<путь_к_файлу_с_авторизованным_ключом>"
    
    # Enable the use_metadata_service parameter for authentication via IAM tokens
    # (only available when the agent is installed on a Compute Cloud VM).
    # If `true`, the cloud_credentials_file_path parameter will be ignored.
    use_metadata_service: true|false
    
    # Enable Password Writeback so the agent can synchronize password changes
    # back from Yandex Identity Hub to the LDAP server.
    enable_password_writeback: true|false
    
    # Enable the Dry Run mode.
    # If `true`, no changes will be applied to users or groups in Yandex Identity Hub.
    # Instead, all pending operations will be saved to the current log file location.
    dry_run:
      enabled: true|false
    
    # LDAP client settings
    ldap:
      host: "ldaps://<адрес_LDAP-сервера>:636"
      username: "<DN_пользователя_во_внешнем_каталоге>"
      password: "<пароль_пользователя_во_внешнем_каталоге>"
      certificate_path: "<путь_к_CA_сертификату>"
      insecure_skip_verify: false|true
    
      # Additional settings required to enable password writeback. 
      password_writeback:
        flavor: "freeipa"   # Available options: freeipa (default), 389, and apache.
        permanent_reset:    # For ApacheDS/FreeIPA the agent requires credentials of an additional account with privileges sufficient to reset users' passwords without requiring the users to change it at first login.
          username: "<DN_пользователя_во_внешнем_каталоге>"
          password: "<пароль_пользователя_во_внешнем_каталоге>"
    
    # Logger configuration
    logger:
      level: "<уровень_логирования>"
      format: "plain|json"
      file:
        filename: "<путь_к_файлу_с_логами>"
        maxsize: 30
        maxbackups: 10
      cloud_logger:
        log_group_id: <идентификатор_лог-группы>
    
    # Sync settings
    sync_settings:
      interval: "600s"
      allow_to_capture_users: true|false
      allow_to_capture_groups: true|false
      # Remove the replacement_domain line if you don't need to replace domain
      replacement_domain: "<домен_пула_пользователей>"
      # Remove the user_attribute_mapping section if you don't need to remap default user attribute names
      # If you need remapping, the user_attribute_mapping section should only contain the attributes you need to remap
      user_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('displayName' --> 'full_name')
        # to custom mapping ('CustomAttributeName' --> 'full_name')
        - source: "CustomAttributeName"
          target: "FullName"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'given_name'
        - source: ""
          target: "GivenName"
          type: "empty"
      # Remove the group_attribute_mapping section if you don't need to remap default group attribute names
      # If you need remapping, the group_attribute_mapping section should only contain the attributes you need to remap
      group_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('cn' --> 'name')
        # to custom mapping ('CustomAttributeName' --> 'name')
        - source: "CustomAttributeName"
          target: "Name"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'description'
        - source: ""
          target: "Description"
          type: "empty"
      filter:
        domain: "<имя_домена_во_внешнем_каталоге>"
        groups:
          - "GroupName1"
          - "GroupName2"
      remove_user_behavior: "remove|block"
    
      # Additional settings required for synchronization with a specific external LDAP directory.
      ldap_settings:
        external_id_attribute: "ipaUniqueID"  # Attribute that contains unique record ID in the external LDAP directory.
        dn_attribute: "entryDN"  # LDAP operational attribute that contains an entry's DN.
        user_object_class: "inetOrgPerson"  # Object class used by user objects.
        group_object_class: "ipausergroup"  # Object class used by group objects.
        account_disabled_attribute: "nsAccountLock"  # Attribute that indicates whether a user is active or inactive.
        account_disabled_value: "TRUE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is disabled.
        account_enabled_value: "FALSE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is enabled.
        password_attribute: "userPassword"  # Attribute that contains a user's password (hash).
        delta_sync_mode: "full_sync"
    

    Описание полей приведено в разделе Параметры конфигурации агента.

    # Default configuration for yc-identityhub-sync-agent
    # This is a template - please update with your actual values
    
    userpool_id: "<идентификатор_пула_пользователей>"
    working_directory: "<путь_к_рабочей_директории_агента>"
    
    # Validate config, static credentials, and configured keytab file permissions at startup.
    check_config_permissions: true|false
    
    # Yandex Cloud authentication settings
    
    # Use the cloud_credentials_file_path parameter for authentication via an authorized key.
    # If you want the agent to authenticate via IAM tokens, remove the cloud_credentials_file_path line.
    cloud_credentials_file_path: "<путь_к_файлу_с_авторизованным_ключом>"
    
    # Enable the use_metadata_service parameter for authentication via IAM tokens
    # (only available when the agent is installed on a Compute Cloud VM).
    # If `true`, the cloud_credentials_file_path parameter will be ignored.
    use_metadata_service: true|false
    
    # Enable Password Writeback so the agent can synchronize password changes
    # back from Yandex Identity Hub to the LDAP server.
    enable_password_writeback: true|false
    
    # Enable the Dry Run mode.
    # If `true`, no changes will be applied to users or groups in Yandex Identity Hub.
    # Instead, all pending operations will be saved to the current log file location.
    dry_run:
      enabled: true|false
    
    # LDAP client settings
    ldap:
      host: "ldaps://<адрес_LDAP-сервера>:636"
      certificate_path: "<путь_к_CA_сертификату>"
      insecure_skip_verify: false|true
      use_kerberos: true
    
      # Additional settings required to enable password writeback. 
      password_writeback:
        flavor: "freeipa"   # Available options: freeipa (default), 389, and apache.
        permanent_reset:    # For ApacheDS/FreeIPA the agent requires credentials of an additional account with privileges sufficient to reset users' passwords without requiring the users to change it at first login.
          kerberos:
            keytab_path: "<путь_к_файлу_keytab_дополнительного_аккаунта>"
            principal: "<SPN_дополнительного_аккаунта>"
            krb5_config_path: "<путь_к_файлу_конфигурации_Kerberos>"  # optional, the default location is /etc/krb5.conf or whatever path is set in the KRB5_CONFIG environment variable
            disable_pa_fx_fast: true
    
    # Kerberos settings
    kerberos:
      keytab_path: "<путь_к_файлу_keytab_основного_аккаунта>"
      principal: "<SPN_основного_аккаунта_во_внешнем_каталоге>"
      krb5_config_path: "<путь_к_файлу_конфигурации_Kerberos>"  # optional, the default location is /etc/krb5.conf or whatever path is set in the KRB5_CONFIG environment variable
      disable_pa_fx_fast: true
    
    # Logger configuration
    logger:
      level: "<уровень_логирования>"
      format: "plain|json"
      file:
        filename: "<путь_к_файлу_с_логами>"
        maxsize: 30
        maxbackups: 10
      cloud_logger:
        log_group_id: <идентификатор_лог-группы>
    
    # Sync settings
    sync_settings:
      interval: "600s"
      allow_to_capture_users: true|false
      allow_to_capture_groups: true|false
      # Remove the replacement_domain line if you don't need to replace domain
      replacement_domain: "<домен_пула_пользователей>"
      # Remove the user_attribute_mapping section if you don't need to remap default user attribute names
      # If you need remapping, the user_attribute_mapping section should only contain the attributes you need to remap
      user_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('displayName' --> 'full_name')
        # to custom mapping ('CustomAttributeName' --> 'full_name')
        - source: "CustomAttributeName"
          target: "FullName"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'given_name'
        - source: ""
          target: "GivenName"
          type: "empty"
      # Remove the group_attribute_mapping section if you don't need to remap default group attribute names
      # If you need remapping, the group_attribute_mapping section should only contain the attributes you need to remap
      group_attribute_mapping:
        # The following syntax allows to reconfigure the default mapping ('cn' --> 'name')
        # to custom mapping ('CustomAttributeName' --> 'name')
        - source: "CustomAttributeName"
          target: "Name"
          type: "direct"
        # The following syntax allows to disable synchronization for attribute 'description'
        - source: ""
          target: "Description"
          type: "empty"
      filter:
        domain: "<имя_домена_во_внешнем_каталоге>"
        groups:
          - "GroupName1"
          - "GroupName2"
      remove_user_behavior: "remove|block"
    
      # Additional settings required for synchronization with a specific external LDAP directory.
      ldap_settings:
        external_id_attribute: "ipaUniqueID"  # Attribute that contains unique record ID in the external LDAP directory.
        dn_attribute: "entryDN"  # LDAP operational attribute that contains an entry's DN.
        user_object_class: "inetOrgPerson"  # Object class used by user objects.
        group_object_class: "ipausergroup"  # Object class used by group objects.
        account_disabled_attribute: "nsAccountLock"  # Attribute that indicates whether a user is active or inactive.
        account_disabled_value: "TRUE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is disabled.
        account_enabled_value: "FALSE"  # Value of the attribute set in account_disabled_attribute, that indicates that an account is enabled.
        password_attribute: "userPassword"  # Attribute that contains a user's password (hash).
        delta_sync_mode: "full_sync"
    

    Описание полей приведено в разделе Параметры конфигурации агента.

  5. Запустите службу агента синхронизации:

    Start-Service yc-identityhub-sync-agent
    
  6. Чтобы убедиться, что процесс синхронизации идет, посмотрите файл с логами агента. Например:

    cat C:\ProgramData\YcIdentityHubSyncAgent\identity_hub.log
    

    Результат синхронизации вы также можете посмотреть в интерфейсе сервиса Yandex Identity Hub — в выбранном пуле пользователей должны создаться новые пользователи и группы, полученные из внешнего каталога.

  7. Чтобы остановить процесс синхронизации, остановите созданную службу:

    Stop-Service yc-identityhub-sync-agent
    

    В результате процесс синхронизации пользователей и групп будет остановлен.

Протестируйте изменения в конфигурации агентаПротестируйте изменения в конфигурации агента

Агент Yandex Identity Hub Sync Agent можно запустить в тестовом режиме (dry run). Этот режим позволяет убедиться в корректности вносимых в конфигурацию агента изменений, прежде чем применять эти изменения в рабочем режиме.

Чтобы запустить агент в режиме dry run:

Linux
Windows
  1. В терминале Linux остановите сервис агента синхронизации:

    sudo systemctl stop yc-identityhub-sync-agent
    
  2. Внесите в конфигурацию агента изменения, которые вы хотите протестировать.

  3. В секции dry_run файла конфигурации агента включите режим dry run:

    ...
    dry_run:
      enabled: true
    ...
    
  4. В терминале Linux вручную запустите исполняемый файл агента и дождитесь завершения его работы:

    ./yc-identityhub-sync-agent \
      --config /etc/yc-identityhub-sync-agent/config.yaml
    

    В результате в логах агента будут сохранены изменения, которые должны быть внесены в данные пользователей и групп Yandex Identity Hub в связи с изменениями, внесенными в конфигурацию агента.

    Например:

    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Create. Successful: 10. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Update. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Delete. Successful: 2. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Activate. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Deactivate. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: PasswordHashUpdate. Successful: 300. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Create. Successful: 5. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Update. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Delete. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Memberships. Change type: Create. Successful: 30. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Memberships. Change type: Delete. Successful: 0. Failed: 0
    

    Из приведенного примера видно, что после запуска синхронизации в Yandex Identity Hub:

    • будет создано 10 новых пользователей;
    • будет удалено 2 пользователя;
    • будут обновлены хеши паролей для 300 пользователей;
    • будет создано 5 групп пользователей;
    • будет добавлено 30 новых членств пользователей в группах.
  5. Если все сохраненные в файл логов изменения являются ожидаемыми, а операции не содержат ошибок, значит, внесенные в конфигурацию агента изменения корректны, и агент можно запускать в рабочем режиме:

    1. Отключите режим dry run, заменив в файле конфигурации в секции dry_run значение поля на enabled: false.

    2. В терминале Linux запустите сервис агента Yandex Identity Hub Sync Agent, чтобы начать процесс синхронизации:

      sudo systemctl start yc-identityhub-sync-agent
      
  1. В терминале PowerShell остановите службу агента синхронизации:

    Stop-Service yc-identityhub-sync-agent
    
  2. Внесите в конфигурацию агента изменения, которые вы хотите протестировать.

  3. В секции dry_run файла конфигурации агента включите режим dry run:

    ...
    dry_run:
      enabled: true
    ...
    
  4. В терминале PowerShell вручную запустите исполняемый файл агента и дождитесь завершения его работы:

    ./yc-identityhub-sync-agent.exe \
      --config C:\ProgramData\YcIdentityHubSyncAgent\config.yaml
    

    В результате в логах агента будут сохранены изменения, которые должны быть внесены в данные пользователей и групп Yandex Identity Hub в связи с изменениями, внесенными в конфигурацию агента.

    Например:

    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Create. Successful: 10. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Update. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Delete. Successful: 2. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Activate. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: Deactivate. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Users. Change type: PasswordHashUpdate. Successful: 300. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Create. Successful: 5. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Update. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Groups. Change type: Delete. Successful: 0. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Memberships. Change type: Create. Successful: 30. Failed: 0
    2026-04-22T06:46:35.504Z	info	synchronization/sync_process.go:542	Would synchronize Memberships. Change type: Delete. Successful: 0. Failed: 0
    

    Из приведенного примера видно, что после запуска синхронизации в Yandex Identity Hub:

    • будет создано 10 новых пользователей;
    • будет удалено 2 пользователя;
    • будут обновлены хеши паролей для 300 пользователей;
    • будет создано 5 групп пользователей;
    • будет добавлено 30 новых членств пользователей в группах.
  5. Если все сохраненные в файл логов изменения являются ожидаемыми, а операции не содержат ошибок, значит, внесенные в конфигурацию агента изменения корректны, и агент можно запускать в рабочем режиме:

    1. Отключите режим dry run, заменив в файле конфигурации в секции dry_run значение поля на enabled: false.

    2. В терминале PowerShell запустите службу агента Yandex Identity Hub Sync Agent, чтобы начать процесс синхронизации:

      Start-Service yc-identityhub-sync-agent
      

Примечание

Если на стороне внешнего каталога для учетной записи пользователя в поле shadowExpire (класс posixAccount) задан срок действия, агент синхронизирует это значение с полем Дата деактивации (expires_at) в свойствах локального пользователя Yandex Identity Hub. При наступлении момента, который указан в этом поле, локальный пользователь Yandex Identity Hub будет автоматически деактивирован.

В этом случае, чтобы повторно активировать пользователя, измените или удалите срок действия для учетной записи пользователя в поле shadowExpire на стороне внешнего каталога.

Значение поля shadowExpire указывается в формате числа, которое равно количеству дней, прошедших с 01.01.1970. Момент окончания срока действия аккаунта определяется как конец указанного дня (UTC). Если значение отрицательное или отсутствует, значит, срок действия аккаунта не задан.

Параметры конфигурации агентаПараметры конфигурации агента

В файле config.yaml задайте параметры подключения и синхронизации.

Для подключения к LDAP-серверу выберите настройки ldap, которые соответствуют вашему способу аутентификации:

  • По логину и паролю — укажите учетные данные пользователя домена.
  • По протоколу Kerberos — дополнительно заполните секцию kerberos.

Параметры сгруппированы по назначению:

  • Подключение к Yandex Cloud:

    • userpool_id;
    • cloud_credentials_file_path;
    • use_metadata_service.
  • Файлы агента:

    • working_directory;
    • check_config_permissions.
  • Подключение к LDAP-серверу:

    • ldap;
    • kerberos.
  • Синхронизация:

    • sync_settings;
    • enable_password_writeback;
    • dry_run.
  • Логи:

    • logger.

userpool_iduserpool_id

Идентификатор пула пользователей в Yandex Identity Hub.

working_directoryworking_directory

Путь к директории, в которой сохраняются файлы, необходимые агенту для работы. Необязательный параметр.

Если параметр не задан, в качестве рабочей директории используется директория, в которой расположен исполняемый файл агента. По умолчанию исполняемый файл агента располагается в следующих директориях:

  • /etc/yc-identityhub-sync-agent/ (для Linux);
  • C:\\ProgramData\\YcIdentityHubSyncAgent\\ (для Windows).

check_config_permissionscheck_config_permissions

Настройки проверки прав доступа к файлам с аутентификационными данными, которая выполняется при запуске агента. Необязательный параметр. Возможные значения:

  • true — проверка прав доступа к файлам конфигурации агента, которые содержат чувствительные данные, включена.
  • false — проверка прав доступа к файлам конфигурации агента отключена. Значение по умолчанию.

cloud_credentials_file_pathcloud_credentials_file_path

Путь к файлу, содержащему авторизованный ключ сервисного аккаунта в Yandex Cloud. Необязательный параметр: используется только при аутентификации агента в API Yandex Cloud с помощью авторизованного ключа.

Примеры значений:

  • /etc/yc-identityhub-sync-agent/authorized_key.json (для Linux);
  • C:\\ProgramData\\YcIdentityHubSyncAgent\\authorized_key.json (для Windows).

В параметре cloud_credentials_file_path вместо полного пути вы можете передать только имя файла. В этом случае файл будет сохранен в рабочей директории, заданной в параметре working_directory, или, если рабочая директория не задана, — в директории, в которой расположен исполняемый файл агента.

Примечание

Если в параметрах cloud_credentials_file_path и/или logger.file.filename заданы пути, отличные от пути, заданного в параметре working_directory, для выбранных сущностей будут использоваться пути, указанные в параметрах cloud_credentials_file_path и/или logger.file.filename.

use_metadata_serviceuse_metadata_service

Параметр, управляющий аутентификацией агента в API Yandex Cloud с помощью IAM-токена и позволяющий агенту получать IAM-токены через сервис метаданных ВМ.

Возможные значения:

  • true — агент синхронизации будет получать IAM-токены сервисного аккаунта через сервис метаданных виртуальной машины и использовать их для аутентификации в API Yandex Cloud. Значение параметра cloud_credentials_file_path при этом будет игнорироваться.

    Чтобы агент мог получать IAM-токены, он должен быть установлен на виртуальной машине Yandex Compute Cloud, к которой подключен сервисный аккаунт с необходимыми правами доступа.

  • false — агент синхронизации не будет получать IAM-токены, а аутентификация в API Yandex Cloud будет выполняться с помощью авторизованного ключа, заданного в параметре cloud_credentials_file_path.

enable_password_writebackenable_password_writeback

Параметр, управляющий обратной записью паролей пользователей во внешний каталог.

Примечание

Функциональность обратной записи паролей находится на стадии Preview. Чтобы получить к ней доступ, обратитесь в техническую поддержку или к вашему аккаунт-менеджеру.

Возможные значения:

  • true — при попытке изменить пароль синхронизированного пользователя на стороне Yandex Identity Hub (изменение пароля самим пользователем или сброс пароля администратором) агент сначала попытается изменить пароль соответствующего пользователя во внешнем каталоге. И только в случае успеха этой операции агент изменит пароль в Yandex Identity Hub.
  • false — при изменении пароля синхронизированного пользователя на стороне Yandex Identity Hub пароль этого пользователя не будет изменен во внешнем каталоге. В процессе ближайшей итерации синхронизации агент вернет на стороне Yandex Identity Hub пароль этого пользователя к прежнему значению, полученному из внешнего каталога. Это также поведение по умолчанию, если функциональность обратной записи не активирована.

Для корректной работы обратной записи паролей настройте также раздел ldap.password_writeback конфигурации агента синхронизации.

dry_rundry_run

Настройки тестового запуска агента (dry run):

  • enabled: true — активирован режим dry run. Агент не вносит изменения в данные пользователей и групп Yandex Identity Hub. Вместо этого он тестирует выполнение всех предусмотренных конфигурацией агента операций и сохраняет результаты этих тестов в логах его работы.
  • enabled: false — агент функционирует в рабочем режиме, необходимые изменения вносятся в данные пользователей и групп Yandex Identity Hub.

ldapldap

Настройки протокола LDAPS/LDAP для аутентификации на стороне LDAP-сервера:

Важно

Вы можете подключаться к LDAP-серверу по протоколу LDAPS или LDAP. Рекомендованным и безопасным протоколом является LDAPS. Протокол LDAP используйте только при настройке и тестировании.

  • host — домен или IP-адрес LDAP-сервера. В зависимости от используемого протокола указываются схема и номер порта:

    • при использовании LDAPS — схема ldaps:// и порт 636;
    • при использовании LDAP — схема ldap:// и порт 389.
  • certificate_path — путь к файлу с корневым сертификатом удостоверяющего центра (CA), которым подписан сертификат LDAP-сервера. Необязательный параметр.

    Укажите этот параметр, если вы используете протокол LDAPS и корневой сертификат отсутствует в системном хранилище доверенных сертификатов.

    Если в параметре working_directory задан путь к рабочей директории, вместо пути к файлу сертификата достаточно указать имя этого файла.

  • insecure_skip_verify — параметр, позволяющий игнорировать ошибки валидации сертификата открытого ключа при подключении к LDAP-серверу. Необязательный параметр. Возможные значения:

    • false — ошибки валидации сертификата не будут игнорироваться. Значение по умолчанию.
    • true — агент синхронизации будет игнорировать ошибки валидации сертификата. Может быть полезно при настройке и тестировании синхронизации. Не рекомендуется использовать в рабочем режиме.
  • password_writeback — дополнительные настройки, необходимые для корректной работы обратной записи паролей:

    • flavor — тип LDAP-каталога, с которым выполняется синхронизация. Возможные значения:

      • freeipa — FreeIPA (значение по умолчанию).
      • apache — ApacheDS™.
      • 389 — 389 Directory Server.
    • permanent_reset — данные дополнительной учетной записи во внешнем каталоге с правами на изменение паролей пользователей без требования к пользователям менять пароль при первом входе. Задавайте настройки в разделе permanent_reset только если настраиваете синхронизацию с каталогом FreeIPA или ApacheDS™.

      В зависимости от способа аутентификации задайте следующие параметры учетной записи:

      По логину и паролю
      По протоколу Kerberos
      • username — DN учетной записи.
      • password — пароль учетной записи.
      • kerberos — подраздел с настройками Kerberos:

        • keytab_path — путь к файлу keytab с ключами шифрования дополнительного аккаунта, необходимого для изменения паролей.
        • principal — SPN дополнительного аккаунта, необходимого для изменения паролей.
        • krb5_config_path — путь к файлу конфигурации Kerberos. Необязательный параметр. По умолчанию используется путь /etc/krb5.conf или значение, заданное в переменной окружения KRB5_CONFIG.
        • disable_pa_fx_fast: true — параметр, управляющий режимом FAST.

      Важно

      В разделе файла конфигурации ldap.password_writeback.permanent_reset настраиваются учетные данные, необходимые для корректной работы обратной записи паролей пользователей.

      Параметры учетных данных, от имени которых агент будет читать информацию на стороне LDAP-сервера, задаются в полях ldap.username/ldap.password или разделе kerberos.

Аутентификация агента по логину и паролюАутентификация агента по логину и паролю

  • username — DN учетной записи в LDAP-каталоге, которой назначены необходимые права на чтение данных в каталоге.
  • password — пароль к учетной записи с правами на чтение данных в LDAP-каталоге.

Аутентификация агента по протоколу KerberosАутентификация агента по протоколу Kerberos

  • use_kerberos — параметр, указывающий на необходимость использовать протокол Kerberos для аутентификации пользователя с правами на чтение данных на стороне LDAP-сервера.

kerberoskerberos

Настройки протокола Kerberos для аутентификации на стороне LDAP-сервера:

  • keytab_path — путь к файлу keytab с ключами шифрования основного аккаунта.
  • principal — SPN основного аккаунта для подключения к LDAP-серверу.
  • krb5_config_path — путь к файлу конфигурации Kerberos. Необязательный параметр. По умолчанию используется путь /etc/krb5.conf или значение, заданное в переменной окружения KRB5_CONFIG.
  • disable_pa_fx_fast: true — параметр, управляющий режимом FAST.

loggerlogger

Настройки логирования процесса синхронизации:

  • level — уровень логирования. Возможные значения:

    • debug
    • info
    • warn
    • error
    • dpanic
    • panic
    • fatal
  • format — формат вывода информации о событиях в стандартный поток или файл. Необязательный параметр. Возможные значения:

    • plain — информация выводится в простом текстовом виде. Значение по умолчанию.
    • json — информация выводится в формате JSON.
  • file — настройки сохранения логов в файлы:

    • filename — путь к файлу, в который будет сохраняться информация о событиях при синхронизации.

      В параметре filename вместо полного пути вы можете передать только имя файла. В этом случае файл будет сохранен в рабочей директории, заданной в параметре working_directory, или, если рабочая директория не задана, — в директории, в которой расположен исполняемый файл агента.

      Необязательный параметр. Имя файла по умолчанию — identity_hub.log.

    • maxsize — максимальный размер одного файла с логами в мегабайтах.

    • maxbackups — максимальное количество файлов с логами, которые агент будет хранить. При превышении максимального количества файлов наиболее старый файл будет удален.

    Необязательный параметр. Если настройки в разделе file не заданы, события не будут сохраняться в файлы.

  • cloud_logger — настройки сохранения логов в лог-группу Yandex Cloud Logging:

    • log_group_id — идентификатор лог-группы, в которую будут выгружаться логи работы агента синхронизации.

    Необязательный параметр. Если настройки в разделе cloud_logger не заданы, события не будут выгружаться в лог-группу.

    Чтобы выгружать логи работы агента синхронизации в лог-группу, дополнительно назначьте сервисному аккаунту роль logging.writer на соответствующую лог-группу или каталог, в котором она расположена.

Примечание

Если настройки в разделах logger.file и logger.cloud_logger не заданы, информация о событиях и ошибках будет выводиться в стандартный поток stdout. В противном случае логи будут сохраняться в файлы и/или лог-группу.

sync_settingssync_settings

Настройки процесса синхронизации:

  • interval — периодичность выполнения синхронизации. Необязательный параметр. Значение по умолчанию — 240 секунд.

  • allow_to_capture_users — параметр, позволяющий изменять существующего пользователя пула Yandex Identity Hub при совпадении его логина с логином пользователя внешнего каталога, которого требуется синхронизировать. Возможные значения:

    • true — агент синхронизации будет изменять существующих пользователей Yandex Identity Hub, приводя их в соответствие с учетными записями во внешнем каталоге.
    • false — агент синхронизации не будет изменять существующих пользователей Yandex Identity Hub. При обнаружении совпадения логинов пользователя в пуле и во внешнем каталоге процесс синхронизации выдаст ошибку.
  • allow_to_capture_groups — параметр, позволяющий изменять существующую группу пользователей Yandex Identity Hub при совпадении ее имени с именем группы во внешнем каталоге, которую требуется синхронизировать. Возможные значения:

    • true — агент синхронизации будет изменять существующие группы пользователей Yandex Identity Hub, приводя их в соответствие с группами во внешнем каталоге.
    • false — агент синхронизации не будет изменять существующие группы пользователей Yandex Identity Hub. При обнаружении совпадения имен групп в пуле и во внешнем каталоге процесс синхронизации выдаст ошибку.
  • replacement_domain — домен, привязанный к пулу пользователей Yandex Identity Hub, в котором находятся синхронизируемые пользователи и группы. Например: newdomain.idp.yandexcloud.net.

    Необязательный параметр. Значение параметра replacement_domain нужно задавать только в том случае, если имя домена, привязанного к пулу пользователей, отличается от имени домена, который используется внешним каталогом.

  • user_attribute_mapping — настройки сопоставления атрибутов пользователя:

    • source — имя атрибута пользователя, получаемое из внешнего каталога и отличное от имени, которое задано по умолчанию.

      Если вы хотите отключить синхронизацию атрибута, оставьте значение пустым: source: "".

    • target — имя атрибута на стороне Yandex Cloud, с которым настраивается сопоставление (или для которого отключается синхронизация). Список доступных значений смотрите в таблице Атрибуты пользователей в разделе Объекты синхронизации.

    • type — выбор действия в отношении указанного атрибута. Возможные значения:

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

    • source — имя атрибута групп пользователей, получаемое из внешнего каталога и отличное от имени, которое задано по умолчанию.

      Если вы хотите отключить синхронизацию атрибута, оставьте значение пустым: source: "".

    • target — имя атрибута на стороне Yandex Cloud, с которым настраивается сопоставление (или для которого отключается синхронизация). Список доступных значений смотрите в таблице Атрибуты групп пользователей в разделе Объекты синхронизации.

    • type — выбор действия в отношении указанного атрибута. Возможные значения:

      • direct — настроить сопоставление атрибутов.
      • empty — отключить синхронизацию атрибута.
        Необязательный параметр. Значение параметра group_attribute_mapping необходимо задавать только в том случае, если требуется настроить сопоставление имен атрибутов групп пользователей, отличных от заданных по умолчанию для внешнего каталога, или отключить синхронизацию отдельных атрибутов.
  • filter — настройки фильтрации синхронизируемых объектов на стороне внешнего каталога:

    • domain — имя домена на LDAP-сервере, в котором агент будет синхронизировать пользователей и группы.

    • groups — список групп пользователей во внешнем каталоге, в которых агент будет синхронизировать пользователей. Вы можете указать одну или несколько групп, при этом фильтр по нескольким группам будет применяться с логикой ИЛИ.

      Примечание

      Параметр groups влияет только на синхронизацию пользователей и не влияет на настройки синхронизации групп пользователей.

    Если не настроить фильтрацию синхронизируемых объектов, агент Yandex Identity Hub Sync Agent попытается синхронизировать все доступные объекты во внешнем каталоге.

  • remove_user_behavior — позволяет управлять действием в отношении пользователей на стороне Yandex Cloud, если соответствующие пользователи на стороне внешнего каталога были удалены или перестали удовлетворять условиям, заданным в параметрах sync_settings.filter. Необязательный параметр. Возможные значения:

    • remove — пользователи, удаленные или переставшие удовлетворять условиям фильтра, удаляются на стороне Yandex Identity Hub. Действие по умолчанию.
    • block — пользователи, удаленные или переставшие удовлетворять условиям фильтра, деактивируются на стороне Yandex Identity Hub.

    Примечание

    Если в процессе синхронизации выясняется, что на стороне внешнего каталога была удалена или перестала удовлетворять заданным фильтрам группа пользователей, то на стороне Yandex Identity Hub такая группа пользователей удаляется.

  • ldap_settings — дополнительные настройки синхронизации, специфичные для используемого типа внешнего LDAP-каталога:

    • external_id_attribute — имя атрибута на стороне внешнего каталога, в котором содержится уникальный идентификатор записи. Например, ipaUniqueID для FreeIPA.
    • dn_attribute — имя операционного атрибута на стороне внешнего каталога, в котором содержится DN записи. Например, entryDN для FreeIPA.
    • user_object_class — класс объектов, который используется для хранения данных о пользователях на стороне внешнего каталога. Например, inetOrgPerson для FreeIPA. Подробнее о возможных классах объектов и атрибутах в них читайте в разделе Объекты синхронизации.
    • group_object_class — класс объектов, который используется для хранения данных о группах пользователей на стороне внешнего каталога. Например, ipausergroup для FreeIPA.
    • account_disabled_attribute — имя атрибута на стороне внешнего каталога, в котором содержится состояние пользователя (активный/неактивный). Например, nsAccountLock для FreeIPA.
    • account_disabled_value — значение атрибута, заданного в поле account_disabled_attribute, которое означает, что аккаунт неактивен. Например: TRUE.
    • account_enabled_value — значение атрибута, заданного в поле account_disabled_attribute, которое означает, что аккаунт активен. Например: FALSE.
    • password_attribute — имя атрибута на стороне внешнего каталога, в котором содержится пароль (хеш пароля) пользователя. Например, userPassword для FreeIPA.
    • delta_sync_mode — режим синхронизации. В настоящее время поддерживается только режим полной синхронизации (значение full_sync).

Полезные ссылкиПолезные ссылки

  • Синхронизация пользователей и групп с внешними службами каталогов
  • Синхронизация пользователей и групп с LDAP-совместимыми службами каталогов

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

Предыдущая
Active Directory
Следующая
Управлять тарификацией Yandex Identity Hub
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»