Перейти к основному содержанию

OwnCloud — LDAP/AD интеграция

Owncloud

OwnCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.

https://owncloud.com

OwnCloud — установка на Ubuntu 20.04

Если нам выпало счастье интегрировать корпоративное хранилище OwnCloud с доменом Windows, то такая возможность существует.

Сегодня будем настраивать LDAP аутентификацию для OwnCloud. Поскольку этот проект похож на NextCloud, инструкция подойдёт для обоих.

NextCloud — LDAP/AD интеграция

Документация:

https://doc.owncloud.com/server/next/admin_manual/configuration/user/user_auth_ldap.html

Подготовка

Для работы LDAP требуется модуль PHP LDAP. Устанавливаем php-ldap, хотя при установке вы уже должны были установить этот пакет. Возможности:

  • Поддержка LDAP групп
  • Расшарить файл пользователю или группе
  • Доступ через WebDAV и OwnCloud Desktop Client
  • Версионность, внешнее хранилище и другие функции OwnCloud
  • Бесшовное соединение с Active Directory без дополнительных настроек
  • Поддержка основных групп в Active Directory (врут, вот это не полностью)
  • Только доступ на чтение к LDAP (редактирование и удаление пользователей LDAP не поддерживается)

Если вы планируете использовать LDAPS, то вам понадобится Windows Server CA сертификат в формате PEM с расширением CRT. Импортируем его в /usr/local/share/ca-certificates/ и запускаем update-ca-certificates.

На странице приложений включаем "LDAP Integration".

Создаём в AD (это моя тестовая структура, ваша может отличаться).

  • Сервисную учётную запись для чтения каталога LDAP:
    • ldap-viewer
  • Группы доступа пользователям OwnCloud:
    • owncloud
    • и другие группы, например, для администрирования или для настроек доступа по разным отделам, я для теста создаю ещё группы fs, groupA, groupB.

Настройка LDAP/LDAPS

Переходим под локальным админом OwnCloud в Настройки → Администрирование → Аутентификация пользователей → LDAP.

Сервер

Указываем путь к основному серверу LDAP. Можно использовать LDAP (389 порт по умолчанию) или LDAPS (636 порт по умолчанию). При необходимости можно добавить несколько серверов.

  • ldaps://ilab-dc.ilab.local 636

Указываем имя сервисного пользователя и пароль. Сохранить учётные данные.

  • ldap-viewer

Определяем основную базу поиска DN. Можно определить основную базу DN кнопкой. В ней будут искаться пользователи, группы, сервисная учётная запись. DN для пользователей и групп потом можно переопределить в дополнительных настройках. При необходимости можно вверси LDAP фильтры вручную. Чем меньше объектов будет обрабатывать OwnCloud, тем быстрее будет работать аутентификация и LDAP/AD интеграция. Можно проверить базу поиска DN.

  • dc=ilab,dc=local

Продолжить.

owncloud

Пользователи

Настраиваем критерии, по которым проходит поиск пользователей в AD. Указываем классы объектов.

  • user

Выбираем группы, в которых искать пользователей. Группы выбираются из основного DN, или DN пользователей, переопределённый в дополнительных настройках.

  • owncloud
  • fs
  • groupA

Можно проверить настройки и пересчитать пользователей. При необходимости LDAP фильтр можно изменить.

Продолжить.

owncloud

Учётные данные

Настраиваем учётные данные для входа. Можно входить по логину или по email.

Указываем дополнительный атрибут для входа.

  • sAMAccountName

При необходимости LDAP фильтр можно изменить. Можно проверить настройки и логин пользователя.

Продолжить.

owncloud

Группы

Настраиваем критерии, по которым проходит поиск групп в AD. Указываем классы объектов.

  • group

Выбираем группы.

  • owncloud
  • fs
  • groupA

Можно проверить настройки и пересчитать группы. При необходимости LDAP фильтр можно изменить.

owncloud

Дополнительно

Настройки подключения

Здесь можно задать дополнительные опции LDAP.

  • Указать адрес и порт резервного LDAP сервера, которые будут использоваться при недоступности основного.
  • Можно здесь принудительно отключить основной сервер и использовать только резервный.
  • Отключить проверку SSL
  • Указать время хранения кэша, по умолчанию TTL = 600.
  • Настроить таймаут сети

owncloud

Настройка каталога

Здесь можно задать дополнительные опции каталога LDAP.

  • Атрибут отображаемого имени пользователя
  • Атрибут вторичного имени (в скобках), я здесь указываю email
  • DN каталога пользователей
  • Атрибуты поиска пользователей (cn, displayname, mail)
  • Поле отображаемого имени группы
  • DN каталога групп
  • Атрибуты поиска групп (cn, name)
  • Как искать пользователя в группах: member (AD)
  • Алгоритм членства в группе: recursiveMemberOf (AD)
  • URL участников динамической группы. Этого параметра нет в документации. URL для поиска членства в группе.
  • Вложенные группы — да
  • Страничный размер блоков, по умолчанию 500

owncloud

owncloud

Специальные атрибуты

  • Поле квоты — можно задать атрибут пользователя и рулить квотами через LDAP
  • Квота по умолчанию. Ограничить размер диска пользователям. Значение по умолчанию.
  • Поле адреса email, пишу mail
  • Правило именования домашнего каталога пользователя. По умолчанию OwnCloud хранит данные так: "/var/www/owncloud/data/5a9df029-322d-4676-9c80-9fc8892c4e4b". Можно изменить на значение из атрибута LDAP.
  • Поле-заполнитель "$home". Нет в документации.

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

Можно проверить конфигурацию.

owncloud

Эксперт

Атрибут для внутреннего имени. Этот атрибут будет использоваться как уникальный идентификатор пользователя для OwnCloud. Укажу SAMAccountName. Также укажу UUID-атрибут для пользователей и групп: objectGUID.

Больше ничего здесь не использую. Можно проверить конфигурацию.

owncloud

Заключение

Я обычно применяю не совсем такие настройки для интеграции AD и OwnCloud. Для каждого конкретного случая настройки отличаются, в зависимости от принятых правил и структуры атрибутов AD. К тому же, лучше ограничивать Base DN исходя из политики минимального доступа.

OwnCloud сохраняет изменения в настройках автоматически, при изменении значения поля.

Встречаются баги, например, когда создаёшь группу в AD в процессе настройки, а она не появляется. Это кэш. Закрыть всё, подождать минут 10, повторить. Можно также изменить значение TTL, кэш сбросится.

Старайтесь не использовать встроенные группы AD типа Domain Admins или Domain Users. В документации написано, что есть поддержка этих групп, но с ними всё не так просто. Аутентификация возможна, а вот определение членства в группе хромает.

Теги

 

Похожие материалы

Установка IIS в Windows Server 2012 R2

Пришла задача поднять IIS на Windows Server 2012 R2 для CRM BPM Online от Terrasoft. Указанные ниже настройки достаточны для работы данной приблуды. Однако, пришлось также забраться в конфиги данной сторонней системы и кое что править руками. Но это уже не относится к установке IIS и опысываться здесь не будет.

Теги

NextCloud — LDAP/AD интеграция

NextCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.

Теги