FreeIPA: Identity/Policy Management

Automember rebuild membership[править]

Пользовательские или хост группы можно легко перестроить на основе новых или обновленных правил automember. Команда automember rebuild только добавляет новые отношения для групп, она не удаляет те, которые не соответствуют правилам automember. Недавно добавленная команда вызовет задачу в rebuild automember, создав запись LDAP в cn = automember rebuild membership, cn = tasks, cn = config.

Плагин automember в настоящее время проверяет операции Add(добавления), чтобы увидеть, есть ли запись соответствует одному из определенных правил automember. Существующие записи не проверяются когда они изменяются. Чтобы применить правило для всех записей, надо добавить задачу к плагину automember.

Создатель задачи обеспечит фильтр поиска и базу. Все совпадающие записи будут проверяться в соответствии с определенными правилами automember, чтобы увидеть если они должны быть добавлены в какие-либо группы. Это позволяет добавить запуск атрибуты(значения) после того, как запись была первоначально добавлена, а затем вызвать задачу(выполнить) обновления automember. Ipa automember-rebuild может использоваться для восстановления членства для всех объектов определенного типа:

$ ipa automember-rebuild --type=group
$ ipa automember-rebuild --type=hostgroup

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

Ipa automount nfs[править]

Установим nfs-server:

 apt-get install nfs-server 

Включим SECURE_NFS:

Вход пользователя[править]

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

Добавление расширенных полей в ldap[править]

Если необходимо добавить поля в вашу схему ldap, то реализация этого возможна через команду ldapmodify и добавление своих плагинов для отображения этих полей в WebUi.Обычно файлы модификации схемы являются типом .ldif.Пример:Содержание файла addExtField.ldif

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.2 NAME 'favoriteColorName' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'Extending FreeIPA' )

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.3 NAME 'redirects' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'Extending FreeIPA')

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.4 NAME 'attbool' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 X-ORIGIN 'Extending FreeIPA')

dn: cn=schema
changetype: modify
add: objectclasses
objectclasses: ( 2.25.28639311321113238241701611583088740684.14.2.1 NAME 'customPerson' SUP person STRUCTURAL MAY ( favoriteColorName $ attbool $ redirects ) X-ORIGIN 'Extending FreeIPA' )

Детальное пояснение для блока:

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 2.25.28639311321113238241701611583088740684.14.2.2
NAME 'favoriteColorName'
EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
X-ORIGIN 'Extending FreeIPA' )

dn – dn, в котором будет проводиться изменение. Добавление/удаление классов и т.д.

changetype – атрибут, отвечающий за тип изменений, которые будут происходить.(add, delete, modify, modrdn)

add: attributeTypes – добавление атрибута, далее идёт описание атрибута.2.25.28639311321113238241701611583088740684.14.2.2 – уникальный идентификатор атрибута. Можно написать любой.

NAME ‘favoriteColorName’ – По другому можно назвать – primary name. Название атрибута.

EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch – эти атрибуты заданы для проверки соответствия содержания атрибута правилам caseIgnoreMatch

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 – OID типа данных

Все изменения в схеме производятся от пользователя – Directory manager.

Изменение схемы ldap:

$ ldapmodify -D "cn=Directory Manager" -W -f addExtField.ldif

После изменения схемы, путем добавления нового objectclass, нужно чтобы эти поля еще можно было редактировать в web-интерфейсе. Для этого необходимо сделать палагин. В примере использовано 3 атрибута, для них сделаем 3 отдельных плагина:

1. Создание папки:

mkdir  -p /usr/share/ipa/ui/js/plugins/favoriteColorName

2. Создание самого плагина:

mcedit  /usr/share/ipa/ui/js/plugins/favoriteColorName/favoriteColorName.js

Тело плагина:

Использование haproxy для высокой доступности freeipa[править]

Требуется:

Сервер №1 c freeipa: dc1.testbc.testgl

Сервер №2 с репликой freeipa: dc2.testbc.testgl

Сервер №3 с haproxy: haproxy.testbc.testgl

Настройка:

Инструкция для настройки сервера №1 и №2: FreeIPA

На сервере №3:

Установить

# apt-get install haproxy

Сохранить оригинальный конфигурационный файл:

cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxyBAK.cfg

Изменить конфигурацию:

Настройка доверительных отношений с ad[править]

FreeIPA/Интеграция_с_AD
Настройка доверительных отношений с AD

Настройка клиентов

Тут у меня есть решение в 3 команды 🙂

Настройка репликации[править]

FreeIPA/Настройка_репликации
Настройка репликации
FreeIPA/Настройка_репликации#С_интегрированным_DNS_и_без_CA
Настройка IPA CA-less репликации

Настройка сервера


Перечень используемых технологий:

Создание аккаунта для доступа к ldap[править]

Некоторые сервисы использующие LDAP требуют предварительно настроенной учетной записи. Использование обычной учетной записи пользователя предпочтительней, но не всегда это целесообразно делать. Можно сделать системную учетную запись следующим образом на сервере FreeIPA используя пароль Directory  :

Установка freeipa клиента и подключение к серверу[править]

FreeIPA/Клиент
Установка FreeIPA клиента и подключение к серверу
FreeIPA/Ansible
Установка FreeIPA клиентов с помощью Ansible

Для работы sudo-политик для доменных пользователей на клиентской машине необходимо разрешить доступ к sudo:

# control sudo public

Установка сервера freeipa[править]

FreeIPA/Установка_сервера_FreeIPA
Установка сервера FreeIPA
FreeIPA/Установка_сервера_FreeIPA#Установка_сервера_FreeIPA_в_режиме_CA-less
Установка сервера FreeIPA в режиме CA-less

Выводы

Docker может упростить разворачивание сложных проектов в любой инфраструктуре. У Docker есть масса применений и это только одно из них.

В дальнейшем я, возможно, сподвигнусь написать о другом проекте, который интенсивно использует ограничения ресурсов, интегрированные в Docker (CPU, RAM).

Похожее:  Налоговая инспекция №15 по Железнодорожному и Центральному районам Барнаула — телефоны, режим (время) работы, адрес и реквизиты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *