MS Active Directory Контакты

Навигатор по разделу:

1. Общие сведения

Avanpost IDM позволяет автоматизировать управление почтовыми контактами в службе каталогов MS Active Directory.

Коннектор ActiveDirectory.ContactsDecorator.ProvisioningConnector, состоящий из библиотеки (.dll) и конфигурационного файла (.json), устанавливается на сервере Avanpost IDM. С помощью коннектора создается подключение к управляемой системе Active Directory. Взаимодействие IDM с управляемой системой Active Directory осуществляется с использованием протокола LDAP v3 в одностороннем порядке:

  1. IDM инициирует запрос;
  2. AD исполняет запрос и возвращает результат исполнения запроса.

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

Подробнее о коннекторах см. статью "6.1.6. Настройка сервисов коннекторов" руководства по администрированию.

2. Поддерживаемые функции

Коннектор Avanpost IDM к управляемой системе MS Active Directory обладает следующими функциональными возможностями:

Управление почтовыми контактами Active Directory:

  • Создание и изменение свойств

  • Управление членством в группах

3. Поддерживаемые управляемые системы

  • Microsoft Windows Server 2019;
  • Microsoft Windows Server 2016;
  • Microsoft Windows Server 2012 R2; 
  • Microsoft Windows Server 2012;
  • Microsoft Windows Server 2008 R2; 
  • Microsoft Windows Server 2008;  
  • Microsoft Windows Server 2003.

4. Предварительные условия

Веб-сервис и сервер IDM должны быть установлены на сервере под управлением ОС Windows, либо сервис коннекторов должен быть установлен на сервере под управлением ОС Windows.

Для функционирования коннектора необходима служебная (техническая) учетная запись в MS AD. Служебная учетная запись должна быть включена в группу «Операторы учета» (Account Operators) и иметь права на изменение organizationUnit.

5. Используемые библиотеки

System.DirectoryServices, Version=5.0.0, Microsoft.

6. Порядок установки и настройки подключения

Для установки коннектора на сервере Avanpost IDM и настройки подключения необходимо:

  1. Поместить файл коннектора "ActiveDirectory.ContactsDecorator.ProvisioningConnector.dll" в папку с коннекторами на сервере Avanpost IDM или на удаленный сервис коннекторов.
  2. Настроить конфигурационный файл "ad-connector.config.json".

  3. Выполнить настройку ресурса Active Directory в Avanpost IDM.
  4. Проверить настроенную интеграцию.

6.1. Конфигурация коннектора

Для настройки коннектора требуется создать (или скопировать из дистрибутива поставки коннектора) конфигурационный файл "ad-connector.config.json".

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

ПараметрЗначение
resourceId

Идентификатор ресурса в Avanpost IDM

domains
Массив доменов в составе ресурса. Каждый домен определяется через параметры:
ПараметрЗначение
serverIP-адрес сервера, на котором расположен домен
keyPrefixПрефикс домена в составе учетной записи пользователя
domainNameИмя домена AD в формате различимого имени
portПорт сервера, на котором расположен домен. Значение по умолчанию – 389
usersContainersМассив OU в рамках домена, по которым будут отрабатываться запросы
removeContainerПуть к расположению УЗ уволенных сотрудников
controllerПуть к глобальному каталогу домена
controllersМассив постфиксов, по которым будут отрабатываться запросы
removeAccountBehavior

Поведение при удалении УЗ пользователя

Допустимые значения: MoveToDeleted (перемещение в RemoveContainer, параметр также должен быть указан в файле конфигурации ресурса); Remove (удаление из домена). По умолчанию – MoveToDeleted
removeAllGroups

Флаг исключения пользователя из всех групп при удалении УЗ пользователя

Допустимые значения: true или false. По умолчанию установлено значение true
loadPrimaryGroup

Флаг поиска групп с учетом основной группы (Primary Group)

Допустимые значения: true или false. По умолчанию установлено значение true
useGlobalCatalogForRemoveUser

Флаг использования глобального каталога при операциях удаления

Допустимые значения: true или false. По умолчанию установлено значение true
contactContainers

Массив контейнеров для работы с контактами

mailDomain

Домен для формирования e-mail адресов контактов. Если не указан, вычисляется из domainName

attributes

Массив дополнительных атрибутов доменов. Каждый дополнительный атрибут определяется через следующие параметры:

  • name имя атрибута;
  • description — описание атрибута;
  • required  флаг обязательного поля. Допустимые значения: true или false.

С помощью данного параметра могут быть переопределены описание и флаг обязательности стандартного атрибута УЗ. Для этого требуется в качестве значения параметра "name" указать имя требуемого атрибута:

АтрибутОписание
assistant DN помощника по администрированию пользователя
businessCategory Вид бизнеса, которым занимается организация пользователя
cКод страны из двух букв. ISO 3166
carLicense Автомобильные номера или номерные знаки
commentКомментарий
companyОрганизация
departmentПодразделение
departmentNumber Отдел в организации, к которому относится пользователь
description Общие сведения об учетной записи
destinationIndicator Атрибут может использоваться для отправки телеграмм
displayName Предпочтительное имя пользователя, которое будет использоваться при отображении записей
distinguishedNameПолное имя, которое однозначно идентифицирует пользователя в каталоге
domainUserName Имя пользователя с префиксом домена
employeeIDИдентификатор сотрудника
employeeNumber  Числовой идентификатор (табельный номер) сотрудника в организации
employeeType Тип занятости (например, сотрудник или подрядчик)
facsimileTelephoneNumber Первичный номер факса пользователя
givenNameИмя пользователя
homeDirectoryДомашняя папка пользователя
homeDriveДомашний диск пользователя
homePhone Домашний номер телефона пользователя
homePostalAddress Домашний адрес пользователя
initials Инициалы частей полного имени пользователя
internationaliSDNNumber Определяет международный номер ISDN, связанный с объектом
Название местности, такой как город, округ или другой географический регион
labeledURI Универсальный индикатор ресурса (URI) и необязательная метка, связанная с пользователем
mail Один или несколько адресов электронной почты
manager Имя каталога руководителя сотрудника в организации
middleNameОтчество пользователя
mobile Номер мобильного телефона пользователя
nameПолное имя (отображаемое имя сотрудника)
Название организации
organizationUnit Название контейнера подразделения (OrganizationUnit), где находится пользователь
ou Название организационного подразделения (OrganizationUnit)
pager Номер пейджера пользователя
physicalDeliveryOfficeName Офис, в который отправляется доставка
postalAddress Почтовый адрес офиса (местонахождения пользователя)
postalCode Почтовый индекс офиса
postOfficeBox Номер абонентского ящика для этого объекта
preferredDeliveryMethod Предпочтительный способ доставки 
preferredLanguage Предпочтительный письменный или разговорный язык пользователя
proxyAddressesПочтовый адрес, по которому объект получателя Microsoft Exchange Server распознается во внешней почтовой системе. Может иметь несколько значений через разделитель |
registeredAddress Почтовый адрес, подходящий для приема телеграмм или ускоренных документов (где необходимо, чтобы получатель принял доставку)
roomNumber Офис пользователя или номер комнаты
secretary Имя каталога помощника администратора пользователя
seeAlso Ссылка на другую УЗ
showInAddressesBookАтрибут используется для указания, в каких адресных книгах MAPI будет отображаться объект. Может иметь несколько значений через разделитель |
st Название штата или провинции
street Уличная часть почтового адреса
streetAddressПочтовый адрес
telephoneNumber Первичный номер телефона 
teletexTerminalIdentifier Идентификатор телексного терминала, связанного с объектом
telexNumber Номер телекса в международной нотации
title Должность пользователя
userPrincipalNameИмя пользователя и домена в формате email. Значение должно быть уникальным
userWorkstationsCписок рабочих станций пользователя
x121Address X.121 адрес для объекта

Перечисленные атрибуты УЗ могут использоваться в профилях ресурсов для настройки их свойств в УЗ. (Подробнее см. статью: "6.1.4. Настройка интеграции с целевыми системами")

Пример файла конфигурации
{
    "domains": [
    {
        "domainName": "dc=mvk,dc=ru",
        "server": "172.16.0.51",
        "keyPrefix": "ADMVK"
        "usersCointainers": ["Управление информационной безопасности "]
    }
    ],
    "attributes": [
    {
        "name": "Ext1",
        "description": "Superattr",
        "required": false
    }
    ]
}
Пример файла конфигурации
{
    "domains": [
      {
        "server": "145.140.10.120",
        "keyPrefix": "TB",
        "domainName": "dc=tb,dc=ru",
        "port": 390,
        "usersContainers": [ "OU=Organization Structure", "OU=Дополнительный офис,OU=Organization Structure1" ],
        "removeContainer": "OU=2,OU=Organization Structure,DC=tb,DC=ru",
        "controller": "tb.dom.ru",
        "controllers": [ "tb.ru", "tb.dom.ru" ],
        "removeAccountBehavior": "Remove",
        "removeAllGroups": false,
        "loadPrimaryGroup": true,
        "useGlobalCatalogForRemoveUser": false,
        "contactContainers": [contactContainer1, contactContainer2],
        "mailDomain": "dom"
      }
    ],
    "attributes": [
      {
        "name": "ExtrAttr1",
        "description": "Дополнительный атрибут 1",
        "required": false
      },
      {
        "name": "ExtrAttr2",
        "description": "Дополнительный атрибут 2",
        "required": false
      }
    ]
}

6.2. Настройка интеграции в Avanpost IDM

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

Шаг 6.2.1. Создать и настроить ресурс для подключаемой управляемой системы в Avanpost IDM.

Для этого требуется:

  1. В разделе "Интеграции"→"Целевые системы" веб-интерфейса администратора Avanpost IDM нажать и выбрать "Ресурс" из списка.
  2. В открывшейся форме указать произвольное название ресурса.
  3. Нажать . Ресурс будет добавлен в список в разделе "Целевые системы".
  4. Нажать на созданный ресурс в списке. Откроется форма с настройками ресурса.
  5. На вкладке "Атрибуты ресурса" требуется указать следующие атрибуты:
    АтрибутЗначение
    КаталогКаталог в иерархии, в котором находится ресурс. Для смены каталога выбрать из выпадающего списка требуемый каталог.
    НазваниеПроизвольное название ресурса.
    Библиотека коннекторов

    Выбрать из выпадающего списка библиотеку коннекторов "ActiveDirectory.ContactsDecorator.ProvisioningConnector". 

    Строка подключения

     Формат строки подключения

    Параметры в строке подключения записываются последовательно с указанием передаваемых значений после знака равно (=). Разделителем между параметрами служит точка с запятой (;).

    Пример строки подключения
    user=ap.com\administrator;password=********;resourceid=adtb;path=C:\connectors\ad-connector.config.json;ContactProcessing=true
    Пример строки подключения
    user=ap.com\administrator;password=********;;resourceid=adtb;path=C:\connectors\ad-connector.config.json;AutoCreateOrganizationalUnit=false;UnlockUserAccount=false;UseDomainPrefix=true;GetNamesOfAllUsers=false;CheckExistenceUserWhenCreating=true;CheckExistenceContactWhenCreating=true;MustResetPasswordLogon=true;SetUserPrincipalNameIdmOnly=true;FillOuWithDomain=true;EnableSsl=true;SamAccountNameWithDomain=true;ContactProcessing=true;

    Обязательные параметры строки подключения

    Параметр

    Описание

    userМаска для формирования имени учетной записи MS AD, с помощью которой будет работать коннектор.
    Служебная учетная запись должна быть включена в группу "Операторы учета" (Account Operators) и иметь права на изменение organizationUnit
    passwordПароль к учетной записи
    resourceidИдентификатор ресурса, который задается в файле конфигурации.
    pathРасположение файла конфигурации "ad-connector.config.json"
    ContactProcessingФлаг поддержки работы с контактами

    Опциональные параметры строки подключения

    Параметр

    Описание

    Значение по умолчанию

    AutoCreateOrganizationalUnitАвтоматически создавать OrganizationalUnit, если его не существуетtrue
    UnlockUserAccountОбнулять атрибут "LockoutTime" при разблокировке пользователяfalse
    UseDomainPrefixИспользовать префикс домена при обработке пользователейfalse
    GetNamesOfAllUsersПри получении активных пользователей возвращать все имена пользователей (не только активных)false
    CheckExistenceUserWhenCreatingПроверять существование пользователя перед созданиемfalse
    MustResetPasswordLogonПользователь должен сбросить пароль после назначения пароляfalse
    FillOuWithDomainВыводить OrganizationalUnit с доменомfalse
    EnableSslИспользовать sslfalse
    RecreateAccountIfDifferentDomainПересоздавать аккаунт при переименовании аккаунта, если указан разный доменfalse
    ProtectCreatedOuУстановить флаг "Protect object from accidental deletion" для созданных OUfalse
    CreatePersonalCatalogCоздать персональную папку для пользователя при создании в каталоге HomeDirectoryfalse
    ReadOnlyИспользовать коннектор в режиме ReadOnlyfalse
    MaxGroupCountМаксимальное количество загружаемых групп10000
    UseLockoutDurationForStatusИспользовать lockoutDuration для определения статусаtrue
    LegacyLockИспользовать устаревший алогритм для определения статусаfalse
    ObjectGuidForRightIdИспользовать ObjectGuid в явном виде как идентификатор праваfalse
    ObjectSIDStrategy

    Тип взаимодейсвия по ObjectSID:

    • Cross – взаимодействие между лесами c доверием
    • Direct – междоменное взаимодействие
    Cross
    RefreshCacheTimeВремя жизни PagetCache в минутах5
    SearchCacheCapacityВместимость SearchCache20
    Ресурс включенОтметить чекбокс для активации ресурса в системе.
    Число потоков синхронизацииУказать число потоков синхронизации ресурса с Avanpost IDM. 
    Использовать ограничение потоков синхронизации для операций чтенияОтметить чекбокс для использования ограничения потоков синхронизации для операций чтения.
    Использовать как источник почтовых адресовОтметить чекбокс, если ресурс является источником почтовых адресов.
    Применение изменений прав к ресурсуВыбрать из выпадающего списка "Все назначаемые ролью" или "Только недостающие".

    Примечание:

    Подробнее о настройке ресурсов см. статью "6.1.4. Настройка интеграции с целевыми системами" руководства по администрированию.

Шаг 6.2.2. Добавить профиль для созданного ресурса.

Требуется добавить хотя бы один общий или необщий профиль (по инструкции 6.2.2.1. или 6.2.2.2.)

6.2.2.1. Создание общего профиля ресурсов

Для создания общего профиля необходимо:

  1. Перейти в раздел "Интеграции"→"Целевые системы"  в веб-интерфейсе администратора Системы.
  2. Нажать и выбрать из списка "Общий профиль".
  3. Заполнить атрибуты профиля в открывшейся форме (Таблица).
  4. Нажать .

6.2.2.2. Создание необщего профиля ресурсов

Для создания необщего профиля необходимо:

  1. Перейти в раздел "Интеграции"→"Целевые системы"  в веб-интерфейсе администратора Системы.
  2. Нажать  в строке ресурса, в котором требуется создать профиль, и выбрать из открывшегося списка "Добавить профиль".
  3. Заполнить атрибуты профиля в открывшейся форме (Таблица).
  4. Нажать .

Таблица - Атрибуты профиля.

АтрибутЗначение
НазваниеУказать произвольное название профиля.
Профиль-источник учётных данных

Заполнять, только если в поле "Источник имен учетных записей" выбран вариант "Другой профиль".

Выбрать из списка уже созданных профилей источник учётных данных пользователей. 

Чекбокс "Синхронизировать пароли с источником учётных данных"Включает синхронизацию паролей с источником учётных данных.
Чекбокс "При создании учётных записей генерировать пароль"Включает генерацию первоначального пароля при создании УЗ пользователя в ресурсе.
Чекбокс "Разрешить неуникальность учетных записей по владельцу"Разрешает одному пользователю иметь более одной УЗ в ресурсе.
Чекбокс "Разрешить восстановление пароля"Разрешает восстановление пароля для УЗ в ресурсе.
Источник имен учетных записей

Выбрать из списка источник имен учетных записей:

  • Скрипт – для указания скрипта генерации имен учетных записей.

  • Другой профиль – для выбора другого профиля в качестве источника имен учетных записей.

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

Сценарий генерации имён учётных записей

Данное поле доступно, только если в поле "Источник имен учетных записей" выбран вариант "Скрипт".

Задать сценарий генерации имен учетных записей на Python.

Кнопка открывает окно редактирования скрипта.

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

Примечание:

Подробнее о юнитах см. статью "5.1.8. Настройка типов объектов и юнитов" руководства по администрированию.

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

  • "Проверить на сотруднике"
  • "Проверить на юните"

Например, владельцами пользовательских УЗ обычно являются сотрудники, а владельцами технических УЗ могут быть юниты, такие как рабочие группы.

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

Чекбокс "Отклонять возвращаемые имена для уже существующих учётных записей"

Данное поле доступно, только если в поле "Источник имен учетных записей" выбран вариант "Скрипт".

При отмеченном чекбоксе отклоняются возвращаемые скриптом имена УЗ, незарегистрированные в IDM, но существующие в ресурсе.

Примечание: По умолчанию существование или отсутствие УЗ в ресурсе не влияет на процесс назначения ролей.

Способ разрешения конфликтов

Данное поле доступно, только если в поле "Источник имен учетных записей" выбран вариант "Скрипт".

Выбрать из списка способ разрешения конфликтов при генерации имён УЗ:

  • Автоматический – по умолчанию к полученному имени прибавляется суффикс "_n" (n ϵ N), и используется первое незанятое имя (сценарий вызывается один раз и не участвует в разрешении конфликта).
  • Повторное выполнение – сценарий берёт на себя разрешение конфликтов, т.е. повторный вызов сценария должен вернуть следующий вариант имени.

Примечание: Номер попытки сохраняется в переменной Iteration, нумерация с 0.

Парольная политика

Выбрать из выпадающего списка одну из настроенных в IDM парольных политик.

Примечание:

Подробнее о настройке профилей ресурсов см. статью "6.1.4. Настройка интеграции с целевыми системами" руководства по администрированию.

Шаг 6.2.3. Провести синхронизацию с созданным ресурсом с помощью запланированных заданий.

Примечание:

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

6.3. Проверка настроенной интеграции

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

Шаг 6.3.1. Проверка подключения к управляемой службе каталогов

Для проверки установки соединения с управляемой системой требуется:

  1. В веб-интерфейсе администратора Avanpost IDM открыть ресурс управляемой системы.
  2. На вкладке "Права" добавить глобальное право.

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

Шаг 6.3.2. Проверка сетевого соединения

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

Шаг 6.3.3. Проверка обработки запросов

Чтобы убедиться в правильной обработке запросов коннектором, требуется открыть лог-файл, расположенный на сервере Avanpost IDM в папке коннектора, и проверить его на отсутствие ошибок.

Обсуждение