Перейти к основному содержимому
Версия: Indeed Access Manager 9.2

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

Если настройка нескольких каталогов осуществляется в уже используемой системе Indeed (после выдачи первичных прав для администратора системы), и изменяется расположение администратора системы или префикс, заданный в параметре RootAdministrator, то потребуется удалить выданные ранее права и выполнить повторный запуск утилиты первичной конфигурации. 

Для удаления прав необходимо удалить все данные из таблицы DbAccessGroupMembers, расположенной в базе данных системы Indeed.

Совет

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

  1. В теге RootProvider укажите значение orUCP.

  2. Внутри тега Ldap добавьте блоки для подключения к контейнерам с параметром Id, в котором указывается идентификатор пользовательского контейнера.

    Информация

    Значение параметра Id в разделе Or должно соответствовать значению, заданному в параметре rootProvider.

  3. Внутри тега UserCatalog добавьте тег Or. Внутри тега Or добавьте тег Providers. В теге Providers создайте блоки с параметром Id, в котором указывается идентификатор пользовательского контейнера, и ignoreExceptions со значением true, данный параметр игнорирует ошибку подключения к каталогу, если данный каталог не доступен.

    Информация

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

    Пример
     "UserCatalog": {
    "RootProvider": "orUCP",
    "Providers": {
    "Ldap": [
    {
    "Id": "UserId",
    "Domain": "domain",
    "Port": 636,
    "SecureSocketLayer": true,
    "ContainerPath": "user_catalog_path",
    "UserName": "username@domain",
    "Password": "password"
    },
    {
    "Id": "UserId2",
    "Domain": "domaindomain",
    "Port": 636,
    "SecureSocketLayer": true,
    "ContainerPath": "user_catalog_path2",
    "UserName": "usernameusername@domaindomain",
    "Password": "passwordpassword"
    }
    ],
    "Or": [
    {
    "Id": "orUCP",
    "Providers": {
    "UserId": {
    "IgnoreExceptions": true
    },
    "UserId2": {
    "IgnoreExceptions": true
    }
    }
    }
    ]
    }
    }
  4. При добавлении каждого нового каталога необходимо заново сформировать значение StringValue в конфигурационном файле am/core/initial-settings.json.

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

Чтобы настроить поиск пользователей при работе с несколькими каталогами:

  1. В конфигурационном файле am/core/app-settings.json перейдите в раздел UserCatalog.

  2. В разделе Providers, в теге Ldap добавьте секцию RegularExpression и задайте необходимые параметры.

    В следующем примере проверяется, соответствуют ли атрибуты PrincipalName или SamCompatibleName домену @indeed.demo. Параметры и возможные значения описаны в следующей таблице.

    Пример настройки
      "UserCatalog": {
    "RootProvider": "UserId0",
    "Providers": {
    "Ldap": [{
    "Id": "UserId2",
    "Domain": "rodc.indeed.demo",
    "Port": 636,
    "SecureSocketLayer": true,
    "ContainerPath": "OU=Indeed_Users,DC=indeed,DC=demo",
    "UserName": "indeed\\admin",
    "Password": "password",
    "RegularExpression": {
    "Users": {
    "Value": "^(?:([a-zA-Z0-9._*-]+)@indeed\\.demo|indeed\\\\([a-zA-Z0-9._*-]+))$",
    "Attributes": ["PrincipalName", "SamCompatibleName"]
    },
    }
    },
    ПараметрОписание
    RegularExpressionСекция позволяет задавать регулярные выражения для фильтрации пользователей, групп и контейнеров.
    • Users
    • Groups
    • Containers
    В зависимости от выбранного параметра, фильтрация может производиться по пользователям (Users), группам (Groups) или контейнерам (Containers).
    ValueПоле, в котором задается само регулярное выражение. Рекомендуется задать регулярное выражение, содержащее доменную часть данного каталога. Примеры регулярных выражений приведены после таблицы.

    Параметр применяется только к тем атрибутам, которые указаны в параметре Attributes.
    Поиск по каталогу осуществляется в следующих случаях:
    • если регулярное выражение совпадает c параметром поиска,
    • если для каталога не указано регулярное выражение, поиск по этому каталогу осуществляется без применения фильтрации.
    AttributesПеременная, содержащая атрибуты, которые применяются для проверки регулярных выражений.
    Эти атрибуты не относятся к полям Active Directory напрямую, а представляют собой переменные уровня приложения из класса UserCatalog.
    Возможные значения параметра Attributes:
    • Users:
      • PrincipalName
      • SamCompatibleName
      • DistinguishedName
    • Groups и Containers:
      • Name

Примеры настройки поиска по атрибутам

Пример поиска по PrincipalName
"RegularExpression": {
"Users": {
"Value": "^\\*?[a-zA-Z0-9._*-]*@company\\.local\\*?$", // учтены wildcard * для корректной работы поиска в MC по UPN
"Attributes": ["PrincipalName"]
}
}
Пример поиска по SamCompatibleName
"RegularExpression": {
"Users": {
"Value": "^COMPANY\\\\([a-zA-Z0-9._*-]+)$",
"Attributes": ["SamCompatibleName"]
}
}
Пример поиска по DistinguishedName
"RegularExpression": {
"Users": {
"Value": "^CN=[a-zA-Z0-9\s._*-]+,OU=[a-zA-Z0-9\s._*-]+,DC=company,DC=local$",
"Attributes": ["DistinguishedName"]
}
}