Перейти к основному контенту

Подключение AD FS как клиент(Service Provider) для Blitz IDP

Настройка интеграции

Основная настройка интеграции заключается в обмене файлами метаданных с  параметрами подключения между AD FS и Blitz IDP. IDP:


    URL метаданных Blitz IDP: https://login.company.com/blitz/saml/profile/Metadata/SAML
    URL метаданных AD FS: https://adfs.company.com/FederationMetadata/2007-06/FederationMetadata.xml 

    Настройка на стороне AD FS

    1. В оснастке управления AD FS добавьтенеобходимо добавить внешний провайдер, данные для настройки импортируйте из файла метаданных  Blitz IDP. Название на следующем шаге - произвольное, например - Blitz IDP.

    image.png

    2. После создания провайдера в его настройках необходимо изменить алгоритм хэширования на SHA-1 . 

    image.png

    Настройка на стороне Blitz IDP .  

      1.

      В Консоли администратора cоздайте новое приложение с идентификатором http://adfs.company.com/adfs/services/trust (проверить идентификатор можно в метаданных ADFS, значение параметра "entityID") и значением домена adfs.company.com.

      2. После создания приложения  необходимо сконфигурировать протокол SAML:
      Метаданные: в метаданные загрузите данные c метаданными ADFSAD FS - FederationMetadata.xml.xml . 
      SAML профиль: выберите SAML 2.0 Web SSO Profile, и задайте параметры:

        Подписывать утверждения - always,always Шифровать утверждения - never,never Шифровать идентификаторы (NameIds) - never,never активируйте настройку

        3. Отметьте чек-бокс  "Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement". Проверить корректность этих настроек можно в метаданных ADFS FederationMetadata.xml по пути /EntityDescriptor/SPSSODescriptor/
        Атрибуты пользователя: выберите,указать какиеатрибуты, изкоторые настроенныхнеобходимо передавать в AD FS. О настройке самих атрибутов будут- переданыдалее в ADFS. О их настройке ниже.

        стетье.

        Настройка передачи атрибутов Blitz IDP -> ADFS -> КлиентПриложение

        Есть две схемы передачи атрибутов из Blitz IDP в КлиентскуюКлиентское системуприложение через ADFS. Их можно использовать как совместно так и по отдельности:
        -ADFS

          AD FS работает просто как "передатчик" - присланный из Blitz IDP атрибут передает в клиентское приложение с таким же или измененным названием.
          - Blitz передает определенный атрибут (с именем http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname и значением ДОМЕН\пользователь), по которому ADFS может найти пользователя в AD и отправить в клиентское приложение атрибуты из AD этого пользователя. Этот вариант менее затратный, т.к. не потребует настройки передачи всех атрибутов из Blitz, настройки их приёма в ADFS и изменения настроек всех клиентских приложений ADFS на новые атрибуты.

          Ниже рассмотрим как настроить оба способа.

          В Blitz IDP

          1.  В консоли администратора перейтив во вкладкуразделе SAML, в блоке "Атрибуты" нажмитеи  нажать "+ Добавить новый SAML-атрибут", Название - любое,произвольное, Источник - название атрибута пользователя, значение из которого будет отправлено Кодировщик.

            Screenshot 2026-05-04 103354.png


          2. В SAML помимо значения атрибута передается еще и его тип. Для вновь созданного SAML_атрибутSAML нужноатрибута необходимо настроить как минимум один кодировщик, иначе атрибут передан не будет. Для ADFSAD FS нужно выбирать кодировщик SAML2. Для SAML2 есть два кодировщика: String и StringNameID. 
            ВНИМАНИЕ. По спецификации SAML в ответе должен быть один атрибут NameID (не ноль и не два и более), иначе ответ будет считаться ошибочным и принят клиентом не будет. 
            Настройте хотя бы один кодировщик для типа NameID, значение передаваемого в нем атрибута будет смаппленосопоставлено с внутренним атрибутом ADFSAD FS под названием Name (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name). ЛогичнееПравильным будет в NameID передавать атрибут sub из Blitz.Blitz IDP, таким образом будет выполнено сопоставление уникальных идентификаторов в обеих системах. Количество атрибутов с кодировщиком String можетне бытьограничено "любым". 

            image.png

          3. Тип кодировщика выбрали ранее, Название нужно выбрать из Приложения 1 - по нему ADFSAD FS определяет к какому внутреннему атрибуту ADFSAD FS относится входящий атрибут из SAML-Response.Response, который формирует Blitz IDP. Формат имени обычно persistent, проверить можно в метаданных ADFSAD FederationMetadata.xmlFS  по пути /EntityDescriptor/SPSSODescriptor/ - тут перечислены допустимые NameID.image.png

          В ADFSAD FS

          1. Помимо известного для ADFSAD FS названия атрибута нужно настроить его приём в ADFSAD FS для возможности дальнейшей обработки\передачи. В Claim Provider Trusts выберите настроенный ранее провайдер Blitz,Blitz IDP, справа нажмите "Редактировать правила обработки утверждений", добавьте новое правило из имеющихся шаблонов, а также введите дополнительную информацию, нужную для работы правила. Полное описание правил.

            image.png


          2. Для простого приёма атрибута в ADFSAD FS без его изменения выберите правило "Проход через входящие утверждение или его фильтрация": Название - любое понятное, ниже - выбранный ранее шаблон, Тип входящего утверждения должен соответствовать "Имени в ADFS" из Приложения 1

            image.png


          3. Для простой передачи атрибута в клиентское приложение нужно добавить правило "Проход через входящие утверждение или его фильтрация" в политику выдачи утверждений в настройках приложения:

            image.png

             

          Настройка передачи данных из AD при аутентификации 
          через внешний провайдер

          Для этого нужно в Blitz IDP настроить передачу атрибута с названием в кодировщике  http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname и значением NetBIOS-имя-домена\пользователь: CONTOSO\user. В AD атрибута с таким значением у пользователя нет, поэтому будем использовать вычисляемый атрибут в Blitz.Blitz IDP. Создаём вычисляемый атрибут с правилом вычисления CONTOSO\\${sub}:image.png

          Настройте SAML-атрибут и Кодировщик для него:image.png

          В приложении для подключения ADFSAD FS настройте передачу созданного атрибута:image.png

          В ADFSAD FS для провайдера нужно создать кастомное правило обработки утверждений, которое меняет подпись для утверждения http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname из внешнего провайдера на "AD AUTHORITY" - без такой подписи AD поиск пользователя отклонит:image.png
          Правило:
           c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
          => issue(Type = c.Type, Issuer = "AD AUTHORITY", OriginalIssuer = c.OriginalIssuer, Value = c.Value);

          Приложение 1. Атрибуты и названия claim внешнего провайдера для их автоматического маппинга в ADFSAD FS

          Имя в ADFS Описание  Название атрибута для передачи
          E-Mail Address The e-mail address of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
          Given Name The given name of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
          Name The unique name of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
          UPN The user principal name (UPN) of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
          Common Name The common name of the user http://schemas.xmlsoap.org/claims/CommonName
          AD FS 1.x E-Mail Address The e-mail address of the user when interoperating with AD FS 1.1 or AD FS 1.0 http://schemas.xmlsoap.org/claims/EmailAddress
          Group A group that the user is a member of http://schemas.xmlsoap.org/claims/Group
          AD FS 1.x UPN The UPN of the user when interoperating with AD FS 1.1 or AD FS 1.0 http://schemas.xmlsoap.org/claims/UPN
          Role A role that the user has http://schemas.microsoft.com/ws/2008/06/identity/claims/role
          Surname The surname of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
          PPID The private identifier of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
          Name Identifier The SAML name identifier of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
          Authentication Method The method used to authenticate the user http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
          Deny Only Group SID The deny-only group SID of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid
          Deny only primary SID The deny-only primary SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid
          Deny only primary group SID The deny-only primary group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid
          Group SID The group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid
          Primary group SID The primary group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
          Primary SID The primary SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid
          Windows account name The domain account name of the user in the form of <domain>\<user> http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname