Механизм работы с службами каталогов

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

«Форсайт. Аналитическая платформа» получает информацию о доменных субъектах безопасности из службы каталогов домена или глобального каталога, которые должны быть настроены в компьютерной сети. Механизм взаимодействия зависит от типа используемой службы каталогов и от операционной системы, которая установлена на сервере службы каталогов. Поддерживается работа с такими службами каталогов, как: 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» (разрядность должна совпадать с разрядностью используемой версии «Форсайт. Аналитическая платформа»). Также потребуется доработать конфигурационные файлы:

  1. В файле Settings.xml или в реестре задать параметры сопоставления атрибутов службы каталогов и атрибутов субъектов безопасности «Форсайт. Аналитическая платформа», указать учётные данные для подключения к службе каталогов.

  2. В конфигурационных файлах 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=posixAccount)" groupsFilter="(&amp;(|(memberUid=%1))(objectClass=posixGroup))">
                            <Key Name="a0" ldap="objectClass" filter="posixAccount"/>
                            <Key Name="a1" ldap="dn" map_to="DistinguishedName" get_full_domain="1"/>
                            <Key Name="a2" ldap="uid" map_to="name" make_upn="1" make_sam_account="1"/>
                            <Key Name="a3" ldap="cn" map_to="DisplayName"/>
                            <Key Name="a4" ldap="entryUUID" map_to="Sid" sid_prefix="1"/>
                            <Key Name="a5" ldap="description" map_to="Descr"/>
                            <Key Name="a6" ldap="name" map_to="LookupName"/>
                        </user>
                        <group filter="(objectClass=posixGroup)">
                            <Key Name="a1" ldap="objectClass" filter="posixGroup"/>
                            <Key Name="a2" ldap="dn" map_to="DistinguishedName" get_full_domain="1"/>
                            <Key Name="a3" ldap="cn" map_to="DisplayName" make_sam_account="1"/>
                            <Key Name="a4" ldap="entryUUID" map_to="Sid" sid_prefix="1"/>
                            <Key Name="a5" ldap="description" map_to="Descr"/>
                            <Key Name="a6" ldap="name" map_to="LookupName"/>
                        </group>
                        <credentials realm="" Crs="..." Crsa="..." mechanism=""/>
                    </Ldap>
                </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="libldap.dll" >
                        <user filter="(&amp;(objectClass=user)(sAMAccountType=805306368))" groupsFilter="(&amp;(member=%1)(objectClass=group)(sAMAccountType=268435456))">
                            <Key Name="a0" ldap="objectClass" filter="user"/>
                            <Key Name="a1" ldap="distinguishedName" map_to="DistinguishedName" get_full_domain="1"/>
                            <Key Name="a2" ldap="sAMAccountName" map_to="name" make_sam_account="1"/>
                            <Key Name="a3" ldap="cn" map_to="DisplayName"/>
                            <Key Name="a4" ldap="objectSid" map_to="Sid"/>
                            <Key Name="a5" ldap="displayName" map_to="Descr"/>
                            <Key Name="a6" ldap="name" map_to="LookupName"/>
                            <Key Name="a7" ldap="userPrincipalName" map_to="userPrincipalName"/>
                            <Key Name="a8" ldap="sAMAccountName" map_to="sAMAccountName"/>
                        </user>
                        <group filter="(&amp;(objectClass=group)(sAMAccountType=268435456))">
                            <Key Name="a1" ldap="objectClass" filter="group"/>
                            <Key Name="a2" ldap="distinguishedName" map_to="DistinguishedName" get_full_domain="1"/>
                            <Key Name="a3" ldap="cn" map_to="DisplayName"/>
                            <Key Name="a4" ldap="objectSid" map_to="Sid"/>
                            <Key Name="a5" ldap="description" map_to="Descr"/>
                            <Key Name="a6" ldap="name" map_to="LookupName"/>
                            <Key Name="a7" ldap="sAMAccountName" map_to="sAMAccountName"  make_sam_account="1"/>
                        </group>
                        <credentials realm="" Crs="..." Crsa="..." mechanism="GSSAPI"/>
                    </Ldap>
                    <Gssapi libgssapi="libgssapi_krb5.so.2" libgssapi_32="gssapi32.dll" libgssapi_64="gssapi64.dll" libkrb5="libkrb5.so.3" libkrb5_32="krb5_32.dll" libkrb5_64="krb5_64.dll"/>
                </Key>
            </BIS>
        </Key>
    </Root>
</Configuration>

Особенности использования атрибутов в разделах:

Ldap

Key

Credentials

См. также:

Создание учетных записей пользователей и работа с ними | Подключение доменного пользователя | Подключение доменной группы