Интеграция Indeed AM IDP и DIrectum 4.4
Автор Insaf Fatkhullin, Last modified by Insaf Fatkhullin на 22 октября 2024 02:55 PM

Предварительные требования

  • Установленный и настроенный Indeed AM 8.2.2 и выше
  • Установленный и настроенный Indeed AM IDP https://docs.indeed-company.ru/access-manager/8.2/integration-modules-install/idp-install/
  • Установленный Directum 4.4

Настройка на стороне Indeed AM IDP

В строке LoginFormats указывается адрес сервера Directum в формате ‘http(s)://directum.indeed.local/Client/’ и поле по умолчанию, возвращаемое в целевое приложение в виде  "InLoginFormat": "Name", "OutLoginFormat": "PrincipalName"

"LoginFormats": [

  {

    "ServiceProvider": "https://directum.indeed.local/Client/",

    "InLoginFormat": "Name",

    "OutLoginFormat": "PrincipalName"

  }

],

Зададим атрибуты, передаваемые  AM IDP в directum. Ниже, приведен пример настройки, в котором требуется заменить "ServiceProvider": "https://directum.indeed.local/Client/" на действующий адрес сервера Directum 

"CustomAttributes": [

  {

    "ServiceProvider": "https://directum.indeed.local/Client/",

    "Attributes": [

      {

        "Name": "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",

        "UserNameFormat": "SamCompatibleName"

      },

      {

        "Name": "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid",

        "UserNameFormat": "Sid"

      }

    ]

  }

],

В раздел "PartnerServiceProviderConfigurations" нужно добавить следующие строки с параметрами соответствующими примеру:

  {

        "Name": "https://directum.indeed.local/Client/",

        "Description": "Directum",

        "WantAuthnRequestSigned": true,

        "SignSamlResponse": true,

        "EncryptAssertion": true,

        "SignLogoutRequest": false,

        "SignLogoutResponse": false,

        "SignAssertion": true,

        "WantLogoutRequestSigned": false,

        "WantLogoutResponseSigned": false,

        "DisableInboundLogout": false,

        "DisableOutboundLogout": false,

        "DisableInResponseToCheck": false,

        "DisableDestinationCheck": false,

        "DisablePendingLogoutCheck": false,

        "LogoutRequestLifeTime": "00:03:00",

        "AssertionConsumerServiceUrl": "https://directum.indeed.local/Client/saml",

        "ValidAssertionConsumerServiceUrls": [

          "https://directum.indeed.local/Client/saml"

        ],

        "SingleLogoutServiceUrl": "https://localhost:44360/SAML/SingleLogoutService",

        "ArtifactResolutionServiceUrl": "https://localhost:44360/SAML/ArtifactResolutionService",

        "DigestAlgorithm": "http://www.w3.org/2001/04/xmlenc#sha256",

        "SignatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",

        "KeyEncryptionAlgorithm": "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p",

        "DataEncryptionAlgorithm": "http://www.w3.org/2001/04/xmlenc#aes256-cbc",

        "UseEmbeddedCertificate": false,

        "PartnerCertificates": [

          {

            "Thumbprint": "<Сертификат IDP>"

          }

        ]

      }

Отпечаток сертификата должен совпадать в разделах "PartnerServiceProviderConfigurations" (подраздел приложения Directum "PartnerCertificates" ), "LocalIdentityProviderConfiguration", "IDP" и в разделах Directum ADFS_SAML_RELYING_PARTY_SIGNING_CERTIFICATE_THUMBPRINT ; ADFS_SAML_RELYING_PARTY_ENCRYPTION_CERTIFICATE_THUMBPRINT

    "LocalIdentityProviderConfiguration": {

      "Name": "urn:indeedid:saml_idp",

      "SingleSignOnServiceUrl": "https://indeedam.indeed.local/am/idp/Account/SsoService",

      "LocalCertificates": [

        {

          "Thumbprint": "<Сертификат IDP>"

        }

      ]

"IDP": {

"CertificateThumbprint": "<Сертификат IDP>"

},

Настройки на стороне Directum

Откройте конфигурационный файл DirectumLauncher\etc\config.yml. (пример конфигурационного файла во вложении)

ВАЖНО. В файле config.yml используется кодировка UTF-8 (без BOM). При редактировании файла не изменяйте кодировку. Чтобы настройки корректно применялись, используйте текстовые редакторы, поддерживающие указанную кодировку: Visual Studio Code, Notepad++ и т.п.

В секции common_config добавьте параметры:

EXTERNAL_AUTHENTICATION_TYPE – тип аутентификации. Укажите значение Saml2;

ADFS_SAML_AUTHORITY – адрес сервера Indeed AM IDP.

ADFS_SAML_RELYING_PARTY_ADDRESS – адрес веб-клиента Directum RX;

ADFS_SAML_RELYING_PARTY_ID – идентификатор веб-клиента Directum RX в формате URL-адреса;

ADFS_SAML_RELYING_PARTY_SIGNING_CERTIFICATE_THUMBPRINT – отпечаток сертификата, которым веб-клиент будет подписывать отправляемые на сервер IDP сообщения;

ADFS_SAML_RELYING_PARTY_ENCRYPTION_CERTIFICATE_THUMBPRINT – отпечаток сертификата, открытым ключом которого IDP будет шифровать отправляемые в веб-клиент сообщения. Как правило, сертификат для подписания и шифрования – это один и тот же сертификат;

ADFS_SAML_RELYING_PARTY_SIGNING_ALGORITHM – алгоритм SHA256 или SHA1, с помощью которого веб-клиент будет подписывать отправляемые на сервер ADFS сообщения. Рекомендуется использовать алгоритм SHA256;

ADFS_SAML_FEDERATION_METADATA_PATH – локальный путь до файла метаданных ADFS, либо URL-адрес, по которому можно скачать метаданные IDP (экспортировать metadata.xml нужно по инструкции по ссылке https://support.indeed-company.ru/Knowledgebase/Article/View/eksportirovanie-metadata-iz-idp-v-formate-xml ) При изменении каких-либо параметров в IDP нужно выгрузить заново metadata.xml/внести изменения в данный файл, так как в Directum информация используется в первую очередь из файла metadata.

Пример настройки:

EXTERNAL_AUTHENTICATION_TYPE: 'Saml2'

ADFS_SAML_AUTHORITY: 'https://indeedam.local/am/idp/Account/SsoService'

ADFS_SAML_RELYING_PARTY_ADDRESS: 'https://directum.indeed.local/Client/'

ADFS_SAML_RELYING_PARTY_ID: 'https://directum.indeed.local/Client/'

ADFS_SAML_RELYING_PARTY_SIGNING_CERTIFICATE_THUMBPRINT: '<Сертификат IDP>'

ADFS_SAML_RELYING_PARTY_ENCRYPTION_CERTIFICATE_THUMBPRINT: '<Сертификат IDP>'

ADFS_SAML_RELYING_PARTY_SIGNING_ALGORITHM: 'SHA256'

ADFS_SAML_FEDERATION_METADATA_PATH: 'C:\inetpub\wwwroot\Client\IDP_Metadata.xml'

После этого запустите cmd.exe от имени администратора, перейдите в папку с DirectumLauncher, запустите консольную программу DirectumLauncher и с помощью данных команд перезагрузите Directum для применения изменений. Если после этого Directum не открывается/не работает корректно - перезагрузите полностью сервер и повторно выполните команды.

cd C:\DirectumLauncher 

DirectumLauncher 

do all down 

do all up





Вложения 
 
 directum + indeed config.txt (8.70 кБ)
(2 голос(а))
Эта статья полезна
Эта статья бесполезна

Комментарии (0)
Портал технической поддержки компании Индид