# Интеграция с FreeIPA

## Цель

Настройка интеграции Printum с контроллером домена FreeIPA для синхронизации учётных записей пользователей, импорта оргструктуры и групп безопасности.

---

## Предусловия

- Развёрнутый и доступный сервер FreeIPA
- Учётная запись в домене с правами на чтение доменной структуры (обычно — права администратора)
- Настроена интеграция с почтовым сервером (SMTP)
- Printum запущен и доступен

---

## Шаги настройки

### Шаг 1. Добавление домена в Printum

Перейдите в раздел **Настройки → Интеграции → Домены** и нажмите кнопку **«Добавить»**.

Заполните поля:

- **Название** — любое удобное название для домена.
- **Тип** — выберите `FreeIPA`.
- **Адрес** — протокол, хост и порт домена (например, `ldap://freeipa.example.com:389`).
- **Логин и пароль в домене** — учётная запись с правами на чтение доменной структуры.
- **Фильтр** — фильтр поиска сотрудников. Если оставить пустым, будут импортированы объекты классов Person и User.
- **Стартовый уровень поиска** — уровень в домене для начала импорта (обычно самый верхний).
- **Атрибут для объединения учётных записей** — позволяет объединить несколько УЗ одного пользователя из разных доменов.
- **Выгружать оргструктуру** — включить для импорта иерархии на основе OU домена.
- **Выгружать группы** — включить для выгрузки групп безопасности.
- **Требуется шифрование** — включить, если домен принимает только шифрованные запросы.

### Шаг 2. Тестовый импорт

Нажмите кнопку **«Тестовый импорт»**. При успешном подключении будет отображено количество отделов, сотрудников и групп. При ошибке — описание проблемы.

### Шаг 3. Сопоставление атрибутов

В разделе **«Атрибуты»** карточки домена настройте сопоставление атрибутов FreeIPA с полями Printum:

| Поле Printum | Атрибут FreeIPA | | ------------------------------------------- | ---------------------- | | Логин (username) | uid | | Идентификатор в домене (unique\_id) | uidNumber | | Фамилия (last\_name) | sn | | Имя (first\_name) | givenName | | Отчество (patronymic) | personalTitle | | Адрес электронной почты (email) | mail | | Доменные группы (domain\_groups) | memberOf | | Должность (position) | title | | Путь к папке (smb\_path) | homeDirectory | | Срок действия аккаунта (account\_expires\_at) | krbPrincipalExpiration | | Аккаунт заблокирован (account\_lock) | nsAccountLock |

Обязательные атрибуты: Логин, Фамилия, Имя, Идентификатор в домене, Адрес электронной почты.

### Шаг 4. Сохранение и расписание синхронизации

Нажмите **«Сохранить»**. В разделе **«Расписание»** настройте периодическую автоматическую синхронизацию (расписание общее для всех доменов).

---

## Ожидаемый результат

После успешной настройки пользователи из FreeIPA синхронизируются в Printum. Оргструктура и группы импортируются согласно настройкам.

---

## Как проверить

- Тестовый импорт показывает количество отделов, сотрудников и групп без ошибок.
- Пользователи из FreeIPA отображаются в разделе «Сотрудники» системы Printum.

---

## Связанные страницы

- [Интеграция с Samba DC и РЕД АДМ](http://wiki.printum.io/books/4-integracii/page/integraciia-s-samba-dc-i-red-adm)

---

**Справочник атрибутов:** [Атрибуты доменов — справочник](http://wiki.printum.io/books/9/pages/atributy-domenov-spravocnik) — сравнительная таблица по всем контроллерам домена.