Настройка AD FS версии 3.0 для интеграции с Толком
Этап 1. Настройка AD FS
- Выберите AD FS → Trust Relationships → Relying Party Trusts. Нажмите Add Relying Party Trust.
-
В открывшемся окне нажмите Start.
-
Выберите Enter data about the relying party manually и нажмите Next.
-
В поле Display name укажите любое название приложения. Нажмите Next.
-
Выберите AD FS profile и нажмите Next.
-
Ничего не меняя, нажмите Next.
-
Нажмите Next.
-
В блоке Relying party trust identifiers укажите значения:
auth-gateway.kontur.ru auth-gateway.kontur.ru/logout/callback*
-
Выберите пункт I do not want to configure multi-factor authentication settings for this relying party trust at this time. Нажмите Next.
-
Выберите Permit all users to access the relying party и нажмите Next.
-
Конфигурация Relying party trust завершена. В этом окне можно просмотреть добавленные настройки. Нажмите Next.
-
Установите галочку Open the Edit Claim Rules dialog for this relying party trust when the wizard closes. Нажмите Close.
-
Откроется окно настройки claims. Если окно не открылось, нажмите правой кнопкой мыши на Relying Party и выберите Edit Claim Rules for Django Application.
На вкладке Issuance Transform Rules нажмите Add Rule... -
В блоке Claim rule template выберите Send LDAP Attributes as Claims и нажмите Next.
-
В поле Claim rule name укажите наименование (можно указать любое).
-
В блоке Attribute store выберите Active Directory.
-
Установите соответствия для claims (атрибутов).
Основные атрибуты:Наименования атрибутов указаны ниже в качестве примера. В вашей базе данных наименования могут отличаться от предложенных.
email — email;
surname — family_name;
firstname — given_name.
Дополнительные атрибуты:
post — title;
phone — phone_number;
picture — picture. Аватар пользователя установится, только если в атрибуте picture передать ссылку на изображение. Передача самого файла не поддерживается.Как посмотреть список атрибутов пользователяЧтобы посмотреть список атрибутов, воспользуйтесь одним из способов:
— В PowerShell выполните команду:
Get-ADUser -Identity <SamAccountName> -Properties *
— В интерфейсе AD FS перейдите в Active Directoty Users and Computers → View → Advanced Features → <domain> → EU → Users → <user> → правой кнопкой мыши нажмите на Properties → Attribute Editor.
Если нужно посмотреть все атрибуты, выберите Filter и снимите галочку Show only attributes that have values. -
Нажмите Finish.
-
В окне Web API Properties нажмите Apply.
-
Добавьте AD FS клиента. Для этого в PowerShell выполните команду
Add-ADFSClient
, указав параметры:-
Name: название приложения.
-
ClientId: идентификатор приложения. Чтобы сгенерировать идентификатор, воспользуйтесь любым ресурсом для генерации GUID (UUID).
-
RedirectUri. Добавьте следующие значения:
https://auth-gateway.testkontur.ru/login/callback https://auth-gateway.kontur.ru/login/callback
Пример командыAdd-AdfsClient -RedirectUri "https://auth-gateway.kontur.ru/login/callback" -ClientId "5d51f771-b86a-419e-ad25-27696aafc02e" -Name "MyADFSClient"
-
Этап 2. Настройка браузеров
Если пользователи работают не в Internet Explorer — включите SSO в браузерах. Для этого:
- В PowerShell выполните команду:
[System.Collections.ArrayList]$UserAgents = Get-AdfsProperties | select -ExpandProperty WIASupportedUserAgents $UserAgents.Add("Mozilla/5.0") Set-ADFSProperties -WIASupportedUserAgents $UserAgents
-
Перезапустите AD FS.
-
Если пользователи работают в Mozilla Firefox, добавьте адрес вашего сервера в network.automatic-ntlm-auth.trusted-uris по инструкции.
Этап 3. Завершение настроек
Если используете серверную версию Толка (On-Premise), настройки AD FS завершены. Подробнее о работе серверной версии, см. в инструкции.
Если используете облачную версию, для завершения настроек сообщите своему специалисту по внедрению следующие данные:
- Название организации.
- Адрес, по которому доступен ваш AD FS. Можно приложить файл конфигурации AD FS (например, /DeferationMetadata/2007-06/FederationMetadata.xml).
Чтобы узнать адрес, в PowerShell выполните команду:Get-AdfsProperties | select HostName | Format-List
- Client_id. Чтобы его узнать, в PowerShell выполните команду:
Get-AdfsClient -Name "<MyADFSClient>"
- Relying party trust identifier, если указан. Чтобы его узнать, в PowerShell выполните команду:
Get-AdfsWebApiApplication | select Identifier | Format-List
- Дискавери-документ, если есть возможность его предоставить (например, .well-known/openid-configuration/).