Вы находитесь здесь:
Настройка единого входа в Salesforce посредством Microsoft AD FS в качестве поставщика удостоверений
Пользователи могут выполнять вход из среды Microsoft в организацию Salesforce посредством Microsoft Active Directory Federation Services (AD FS) 2.0. Microsoft AD FS функционирует в качестве поставщика удостоверений для проверки подлинности единой регистрации.
Требуемые версии
| Доступно в версиях: Lightning Experience и Salesforce Classic |
| Доступно в версиях: Enterprise Edition, Performance Edition, Unlimited Edition и Developer Edition |
Microsoft AD FS 2.0 поддерживает протокол SAML 2.0. Если AD FS 2.0 настроен в качестве поставщика удостоверений Salesforce, пользователи могут войти в Salesforce посредством единой регистрации (SSO).
Конечная точка сведений о пользователе AD FS возвращает только утверждение темы, указанное в стандартах OpenID. Он не предоставляет дополнительных претензий, запрошенных посредством конечной точки UserInfo. Если вам нужны дополнительные требования в маркере кода, используйте настраиваемый маркер кода.
При настройке AD FS 2.0 для использования в Salesforce рекомендуется выбрать «Переадресация HTTP» в параметрах единой регистрации Salesforce в разделе «Связывание запросов, инициированных поставщиком услуг». Этот параметр улучшает совместимость с устройствами на основе iOS.Предварительные требования
Чтобы настроить AD FS 2.0 в качестве поставщика удостоверений Salesforce, необходимо следующее:
- Microsoft Windows Server 2008 R2 Enterprise or Datacenter edition. Если вы настраиваете среду для оценки, можно загрузить пробную версию из Центра загрузки Microsoft.
- Microsoft Active Directory Federation Services 2.0.
Примечание Windows Server 2008 R2 содержит AD FS 1.0, который не поддерживает SAML 2.0. Поэтому загрузите пакет AD FS 2.0 « release to web» (RTW). - Организация Salesforce. Вы можете попробовать его в среде Developer Edition.
Общие сведения
SAML 2.0 определяет роли сторон, участвующих в SSO. Пользователь проходит проверку подлинности у поставщика удостоверений (IdP), в данном случае AD FS 2.0. Затем пользователь может получить доступ к ресурсу у одного или нескольких поставщиков услуг (SP) без входа в каждого поставщика услуг. SP (также известная как «надежная сторона») в данном случае является организацией Salesforce.
Данная диаграмма отображает процесс входа в Salesforce, инициированного поставщиком удостоверений.
- Пользователь проходит проверку подлинности на сервере AD FS посредством интегрированной проверки подлинности Windows (маркеры Kerberos по HTTP) и запрашивает вход в Salesforce. (1)
- AD FS возвращает утверждение SAML в обозреватель пользователя. (2)
- Обозреватель отправляет утверждение в Salesforce. Пользователь входит в систему. (3)
Ниже указаны общие шаги по созданию тестового развертывания.
- Установите Microsoft AD FS 2.0.
- Настройте AD FS и среду Salesforce.
- Протестируйте конфигурацию.
- При необходимости устраните неполадки внедрения.
Установка программного обеспечения
- Начните с установки Windows Server 2008 R2.
Примечание Сервер AD FS должен быть участником домена Active Directory. Если вы создаете лабораторную настройку для оценки, сервер AD FS может быть контроллером домена. Однако, данная конфигурация не является рекомендуемой производственной конфигурацией. - Создайте дружественное имя DNS для AD FS, например adfs.testzone.local, и укажите его на сервер AD FS 2.0.
- Загрузите и установите AD FS 2.0. На этом этапе устанавливаются другие предварительные компоненты Windows, например, IIS.
- В менеджере IIS создайте сертификат SSL для удобного имени DNS. При наличии комплекта ресурсов IIS 6.0 можно использовать SelfSSL для создания сертификата, подписываемого самостоятельно.
- Запустите мастер конфигурации сервера AD FS.
- Создайте службу федерации.
- Выберите «Автономный сервер».
- Выберите сертификат, созданный для дружественного имени DNS.
- При возникновении ошибки при регистрации установщиком основного имени службы (SPN) вручную создайте Kerberos SPN для имени DNS. SPN позволяет корректно работать интегрированной проверке подлинности Windows между обозревателем и экземпляром AD FS IIS:
1 setspn -a HOST/adfs.testzone.local testzone\ADFSSVR012 setspn -a HOST/adfs testzone\ADFSSVR01Дополнительные сведения о Kerberos SPN см. в разделе «Активный каталог и упрощенные Kerberos SPN».
Настройка Salesforce
Чтобы построить федерацию между двумя сторонами, необходимо установить отношения Trust путем обмена метаданными. Метаданные экземпляра AD FS 2.0 вводятся в конфигурацию Salesforce. Метаданные Salesforce загружаются в виде XML-файла, который может использовать AD FS 2.0.
Настройка SAML 2.0
В Snap AD FS 2.0 MMC выберите узел сертификатов и дважды щелкните сертификат подписи маркера для просмотра. Откройте вкладку «Сведения» и выберите пункт «Копировать в файл». Сохраните сертификат в формате DER.
На сервере AD FS перейдите к URL-адресу метаданных федерации, расположенному в AD FS MMC в Услуга | Конечные точки | Метаданные | Тип:Метаданные федерации . В примере URL-адресом является https://adfs.testzone.local/FederationMetadata/2007-06/FederationMetadata.xml.
Скопируйте значение атрибута entityID. В примере это http://adfs.testzone.local.
В Salesforce введите строку «Единая регистрация» в поле «Быстрый поиск» в меню «Настройка» и выберите пункт «Параметры единой регистрации». Выберите «SAML включен» и нажмите на параметр создания конфигурации единого входа SAML.
Настройте параметры.
- Имя: введите имя для параметров единого входа SAML.
- Версия SAML: этот параметр установлен на 2.0.
- Отправитель: вставьте код объекта сюда.
- Сертификат поставщика удостоверений: найдите и выберите сертификат подписи маркера, экспортированный ранее.
- Запрос сертификата подписи: выберите сертификат, созданный ранее. (См. процедуру создания самостоятельно подписываемого сертификата.)
- Метод подписи запроса: задайте этому параметру значение RSA-SHA-1.
- SAML Identity Type: чтобы пользователь мог войти, сопоставьте с именем пользователя Salesforce или с кодом интегрирования. При сопоставлении с кодом интегрирования этот параметр должен быть заполнен в профиле каждого пользователя. Для целей тестирования выберите код интегрирования. Если пользователи используют свои адреса электронной почты в качестве имени пользователя Salesforce, в производственном развертывании можно переключиться на сопоставление по имени пользователя.
- SAML Identity Location—Чтобы войти в систему пользователя, используйте NameID в утверждении SAML или другой атрибут. NameID можно использовать, поскольку AD FS заполняет NameID в утверждении SAML.
- Связывание инициированных поставщиком услуг запросов: рекомендуется выбрать переадресацию HTTP.
- URL-адрес входа поставщика удостоверений: введите URL-адрес конечной точки AD FS SAML, на которую Salesforce отправляет запросы SAML для входа, инициированного поставщиком удостоверений.
Примечание Добавьте косую черту в конце URL-адреса.URL-адрес можно найти в AD FS MMC в Конечные точки | Выпуск маркера | Тип:SAML 2.0/WS-Federation . В примере URL-адресом является https://adfs.testzone.local/adfs/ls/.
- Настраиваемый URL-адрес выхода: можно настроить URL-адрес для отправки пользователя после выхода (например, http://intranet.mycompany.com/).
- Код объекта: данный параметр определяет способ идентификации Salesforce SP кодом AD FS. Чтобы включить единый вход, инициированный поставщиком услуг, введите код объекта из настроенного «Моего домена».
Сохраните параметры и загрузите XML-файл метаданных.
Конфигурация AD FS 2.0
Теперь, когда у вас есть метаданные Salesforce, создайте AD FS взаимосвязи Trust. Откройте Snap AD FS 2.0 MMC и добавьте новое Trust проверяющей стороны.
- Выбор источника данных: импорт данных о проверяющей стороне из файла. Перейдите в XML-файл, загруженный из Salesforce.
- Укажите отображаемое имя: задайте Trust отображаемое имя (например, Salesforce Test).
- Выбрать правила авторизации выдачи: разрешить всем пользователям доступ к проверяющей стороне.
- Открыть диалоговое окно редактирования правил претензии: выберите.
В редакторе правил претензии нажмите вкладку «Правила трансформации проблемы». Добавьте правило посредством шаблона правила претензии, установленного на значение «Отправка атрибутов LDAP в качестве претензий».
- Имя правила претензии: для тестирования задайте атрибуту User-Principal-Name значение NameID и вызовите правило Send UPN as NameID. В производственной среде обычно выполняется отправка адреса электронной почты пользователя или ID сотрудника. Важно использовать атрибут со значением, которое, скорее всего, не будет меняться со времени, поскольку любые изменения делают SSO недействительным для этого пользователя.
- Атрибут LDAP: выберите «Основное имя пользователя».
- Тип исходящей заявки-претензии: выберите «Код имени».
Вход, инициированный поставщиком услуг
С помощью процесса входа, инициированного поставщиком удостоверений, вы обычно настраиваете ссылку во внутрикорпоративной сети, на которую пользователи нажимают, чтобы получить доступ к Salesforce. Вход, инициированный поставщиком услуг, происходит, когда пользователь переходит по прямой ссылке на Salesforce.
Если вы настроили код объекта «Мой домен» в параметрах Salesforce SAML (например, https://testinfo-developer-edition.my.salesforce.com), пользователи могут перейти по URL-адресам в этом домене. Потом они перенаправляются в AD FS для проверки подлинности.
Если код объекта «Мой домен» настроен в параметрах Salesforce SAML (например, https://testinfo-developer-edition.my.salesforce.com), пользователи могут перейти по URL-адресам в этом домене. Потом они перенаправляются в AD FS для проверки подлинности.
Для работы инициированного СП входа задайте параметру безопасного хэш-алгоритма AD FS значение SHA-1. Salesforce использует SHA-1 при подписании запросов SAML, а AD FS по умолчанию — SHA-256.
Параметр SHA задан в свойствах AD FS Trust для проверяющей стороны Salesforce на вкладке «Дополнительно».
Если вы не установите этот параметр, вы получите сообщение в журнале событий AD FS.
Event ID: 378SAML request is not signed with expected signature algorithm. SAML request is signed with signature algorithm http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 . Expected signature algorithm is http://www.w3.org/2000/09/xmldsig#rsa-sha1Тестирование
Теперь можно установить код интегрирования пользователя Salesforce на UPN организации пользователя AD и протестировать процесс входа.

Для входа, инициированного поставщиком услуг, при условии, что вы настроили код объекта «Мой домен», перейдите напрямую на URL-адрес, например, https://testinfo-developer-edition.my.salesforce.com.
Для входа, инициированного поставщиком удостоверений, используйте URL-адрес входа AD FS и укажите параметр loginToRp в качестве кода объекта Salesforce SAML, например, https://adfs.testzone.local/adfs/ls/idpinitiatedsignon.aspx?loginToRp=https://saml.salesforce.com.
В любом случае, обозреватель выполняет цепочку переадресаций, в конечном итоге выполняя вход в приложение в Salesforce. При возникновении ошибки входа Salesforce используйте инструмент проверки утверждения SAML на странице конфигурации единого входа Salesforce. Она отображает результаты последнего неудачного входа SAML.

Ï
Если вы получите ошибку от AD FS, проверьте журналы AD FS в Server Manager\Diagnostics\Applications and Services Logs\AD FS 2.0\Admin. Также есть хорошая запись в блоге MSDN по диагностике AD FS 2.0.
Если вы настроили код объекта «Мой домен», вход, инициированный SP, работает для глубоких ссылок. Создайте закладки ссылки из глубины Salesforce и выйдите из системы. Перегрузите обозреватель и выберите закладку. Вы будете перенаправлены на IdP, авторизованы, а потом перенаправлены обратно на ссылку в закладке.
Распространенные проблемы и устранение неполадок
- Код интегрирования чувствителен к регистру.
Если интегрированное удостоверение является адресом эл. почты вашей организации, введите его точно так, как его отправляет AD FS. В противном случае Salesforce не сможет найти соответствующего пользователя.
Настраиваемое правило утверждения не может быть написано для нормализации обращения атрибута LDAP перед отправкой, поскольку язык утверждений заменяет только базовое регулярное выражение.
- Срок действия утверждения истек.
Утверждения с отметкой времени более 5 минут назад отклоняются.
Примечание Salesforce предоставляет 3 минуты на перекос часов. Таким образом, утверждение может превышать время отметки времени на 8 минут или на 3 минуты. Кроме того, срок действия утверждения истекает в соответствии с периодом действия, который может составлять менее 5 минут.Убедитесь, что системные часы сервера AD FS синхронизированы с хорошим источником времени в Интернете посредством Network Time Protocol (NTP).
- Не удается войти в Salesforce.
Если ошибка не позволяет выполнить вход в систему Salesforce посредством единого входа, вы можете выполнить вход с помощью имени пользователя и пароля. Добавьте ?login к URL-адресу входа, например, https://login.salesforce.com/?login. После входа можно отключить единый вход, при необходимости, во время устранения неполадок.

