При формировании подсистемы безопасности репозитория в менеджере безопасности создаются пользователи и группы. Если предполагается вход в репозитории с использованием доменной/интегрированной доменной аутентификации, то в менеджере безопасности добавьте доменных пользователей и группы.
«Форсайт. Аналитическая платформа» получает информацию о доменных субъектах безопасности из службы каталогов домена или глобального каталога, которые должны быть настроены в компьютерной сети. Механизм взаимодействия зависит от типа используемой службы каталогов и от операционной системы, которая установлена на сервере службы каталогов. Поддерживается работа с такими службами каталогов, как: Active Directory, OpenLDAP.
Примечание. Взаимодействие со службами каталогов осуществляется только по протоколу LDAP.
Если осуществляется подключение к службе каталогов текущего домена (глобальному каталогу текущей сети) и служба сформирована на базе Active Directory в ОС Windows, то каких-либо дополнительных настроек на стороне «Форсайт. Аналитическая платформа» производить не требуется.
Если служба каталогов расположена на сервере с ОС Linux или необходимо подключиться к службе каталогов не текущей, а какой-либо другой сети (сервер с ОС Linux или Windows), то для взаимодействия будет использоваться OpenLDAP (открытая реализация протокола LDAP). При этом, если доступ к службе каталогов осуществляется в ОС Linux, то используются системные библиотеки OpenLDAP. В ОС Windows потребуется установка стороннего программного обеспечения, предоставляющего реализацию OpenLDAP (например, OpenLDAP for Windows).
Если предполагается аутентификация по протоколу GSSAPI на серверах LDAP и PostgreSQL, то дополнительно необходимо установить «MIT Kerberos for Windows 4.1» (разрядность должна совпадать с разрядностью используемой версии «Форсайт. Аналитическая платформа»). Также потребуется доработать конфигурационные файлы:
В файле settings.xml задайте параметры сопоставления атрибутов службы каталогов и атрибутов субъектов безопасности «Форсайт. Аналитическая платформа», укажите учётные данные для подключения к службе каталогов. При необходимости для основного контроллера домена или поддоменов подключите дополнительные контроллеры.
В конфигурационных файлах OpenLDAP и Kerberos задайте настройки, управляющие работой в текущей сети и определяющие параметры подключения к различным доменам. Настройка осуществляется в соответствии с документацией OpenLDAP и Kerberos. Задаваемые настройки должны учитывать параметры работы текущей компьютерной сети и должны быть скоординированы с администратором сети.
Примеры файла settings.xml в зависимости от типа ОС, на базе которой работает служба каталогов:
<Configuration>
<Root>
<Key Name="PP">
<BIS>
<Key Name="System">
<Ldap Proto="LDAP" url="ldap://IP-адрес или доменное имя сервера:порт" base="dc=...,dc=..." libldap="libldap-2.4.so.2" liblber="liblber-2.4.so.2">
<user filter="(&(objectClass=user)(sAMAccountType=805306368))" groupsFilter="(&(member=%1)(objectClass=group)(sAMAccountType=268435456))">
<Key Name="a0" filter="user" ldap="objectClass"/>
<Key Name="a1" map_to="DistinguishedName" ldap="distinguishedName" get_full_domain="1"/>
<Key Name="a2" map_to="Name" ldap="sAMAccountName" make_sam_account="1" make_upn="1"/>
<Key Name="a3" map_to="Sid" ldap="objectSid"/>
<Key Name="a4" map_to="DisplayName" ldap="cn"/>
<Key Name="a5" map_to="Descr" ldap="displayName"/>
<Key Name="a6" map_to="LookupName" ldap="sAMAccountName"/>
<Key Name="a7" map_to="LookupName" ldap="userPrincipalName"/>
<Key Name="a8" map_to="LookupName" ldap="displayName"/>
<Key Name="a9" map_to="LookupName" ldap="cn"/>
</user>
<group filter="(&(objectClass=group)(sAMAccountType=268435456))">
<Key Name="a0" filter="group" ldap="objectClass"/>
<Key Name="a1" map_to="DistinguishedName" ldap="distinguishedName" get_full_domain="1"/>
<Key Name="a2" map_to="Name" ldap="sAMAccountName" make_sam_account="1"/>
<Key Name="a3" map_to="Sid" ldap="objectSid"/>
<Key Name="a4" map_to="DisplayName" ldap="cn"/>
<Key Name="a5" map_to="Descr" ldap="description"/>
<Key Name="a6" map_to="LookupName" ldap="sAMAccountName"/>
<Key Name="a7" map_to="LookupName" ldap="description"/>
</group>
<credentials realm="" Crs="..." Crsa="..." mechanism="GSSAPI"/>
</Ldap>
<Gssapi libgssapi="libgssapi_krb5.so.2" libkrb5="libkrb5.so.3"/>
</Key>
</BIS>
</Key>
</Root>
</Configuration>
<Configuration>
<Root>
<Key Name="PP">
<BIS>
<Key Name="System">
<Ldap Proto="LDAP" url="ldap://IP-адрес или доменное имя сервера:порт" base="dc=...,dc=..." libldap="libldap.dll" liblber="liblber.dll" >
<user filter="(&(objectClass=user)(sAMAccountType=805306368))" groupsFilter="(&(member=%1)(objectClass=group)(sAMAccountType=268435456))">
<Key Name="a0" filter="user" ldap="objectClass"/>
<Key Name="a1" map_to="DistinguishedName" ldap="distinguishedName" get_full_domain="1"/>
<Key Name="a2" map_to="Name" ldap="sAMAccountName" make_sam_account="1" make_upn="1"/>
<Key Name="a3" map_to="Sid" ldap="objectSid"/>
<Key Name="a4" map_to="DisplayName" ldap="cn"/>
<Key Name="a5" map_to="Descr" ldap="displayName"/>
<Key Name="a6" map_to="LookupName" ldap="sAMAccountName"/>
<Key Name="a7" map_to="LookupName" ldap="userPrincipalName"/>
<Key Name="a8" map_to="LookupName" ldap="displayName"/>
<Key Name="a9" map_to="LookupName" ldap="cn"/>
</user>
<group filter="(&(objectClass=group)(sAMAccountType=268435456))">
<Key Name="a0" filter="group" ldap="objectClass"/>
<Key Name="a1" map_to="DistinguishedName" ldap="distinguishedName" get_full_domain="1"/>
<Key Name="a2" map_to="Name" ldap="sAMAccountName" make_sam_account="1"/>
<Key Name="a3" map_to="Sid" ldap="objectSid"/>
<Key Name="a4" map_to="DisplayName" ldap="cn"/>
<Key Name="a5" map_to="Descr" ldap="description"/>
<Key Name="a6" map_to="LookupName" ldap="sAMAccountName"/>
<Key Name="a7" map_to="LookupName" ldap="description"/>
</group>
<credentials realm="" Crs="..." Crsa="..." mechanism="GSSAPI"/>
</Ldap>
<Gssapi libgssapi_32="gssapi32.dll" libgssapi_64="gssapi64.dll" libkrb5_32="krb5_32.dll" libkrb5_64="krb5_64.dll"/>
</Key>
</BIS>
</Key>
</Root>
</Configuration>
Особенности использования атрибутов в разделах:
Для основного контроллера домена и поддоменов доступно подключение дополнительных контроллеров, которые будут использоваться в качестве альтернативных, если основной контроллер домена или поддомен недоступны после трёх попыток подключения к ним. При разрыве соединения с одним контроллером и переключении на другой контроллер активная сессия пользователя сохраняется.
Список дополнительных контроллеров домена задаётся в разделе controllers с разделами Key. Допустимые атрибуты раздела Key:
Name. Наименование контроллера;
url. Адрес контроллера.
Пример раздела controllers:
<controllers>
<Key Name="наименование контроллера 1" url="ldap://IP-адрес или доменное имя сервера:порт" />
<Key Name="наименование контроллера 2" url="ldap://IP-адрес или доменное имя сервера:порт" />
</controllers>
Для подключения дополнительных контроллеров в основной контроллер домена:
Создайте раздел controllers в разделе Ldap.
Задайте список дополнительных контроллеров в разделе controllers.
Для подключения дополнительных контроллеров в поддоменах:
Создайте раздел subdomains в разделе Ldap.
Задайте список поддоменов в разделе subdomains с разделами Key. Допустимые атрибуты раздела Key:
Name. Наименование поддомена;
url. Адрес поддомена.
Создайте раздел controllers в соответствующем поддомене - разделе Key.
Задайте список дополнительных контроллеров в разделе controllers.
Пример раздела subdomains:
<subdomains>
<Key Name="наименование поддомена 1" url="ldap://IP-адрес или доменное имя сервера:порт">
<controllers>
<Key Name="наименование контроллера 1" url="ldap://IP-адрес или доменное имя сервера:порт" />
<Key Name="наименование контроллера 2" url="ldap://IP-адрес или доменное имя сервера:порт" />
</controllers>
</Key>
<Key Name="наименование поддомена 2" url="ldap://IP-адрес или доменное имя сервера:порт">
<controllers>
<Key Name="наименование контроллера 3" url="ldap://IP-адрес или доменное имя сервера:порт" />
<Key Name="наименование контроллера 4" url="ldap://IP-адрес или доменное имя сервера:порт" />
</controllers>
</Key>
</subdomains>
См. также:
Создание учетных записей пользователей и работа с ними | Подключение доменного пользователя | Подключение доменной группы