PingFederate в качестве центрального сервера аутентификации > Примеры конфигураций SSO > Пример. Реализация SSO с PingFederate в качестве центрального сервера аутентификации, AD FS в качестве поставщика удостоверений, SCIM в качестве метода подготовки учетных записей пользователей и Windchill в качестве сервера ресурсов
Пример. Реализация SSO с PingFederate в качестве центрального сервера аутентификации, AD FS в качестве поставщика удостоверений, SCIM в качестве метода подготовки учетных записей пользователей и Windchill в качестве сервера ресурсов
Этот пример содержит подробные пошаговые инструкции по настройке среды, которая сконфигурирована в ThingWorx для единого входа с PingFederate в качестве центрального сервера аутентификации (CAS), Active Directory Federation Services (AD FS) в качестве поставщика удостоверений (IdP) и Windchill в качестве сервера ресурсов (RS).
В следующей таблице показаны сконфигурированные приложения и их роль в этом примере:
Роль
Приложение
Поставщик сервисов
ThingWorx
Центральный сервер аутентификации
PingFederate
Поставщик удостоверений
AD FS
Сервер ресурсов
Windchill
На следующей схеме показана конфигурация, рассматриваемая в этом примере.
Обзор реализации SSO с использованием этой архитектуры см. в видео статьи CS271789.
Перед началом реализации SSO ознакомьтесь со следующим деревом решений, в котором подсвечены ключевые точки решения в процессе развертывания для ThingWorx Navigate и Windchill с PingFederate. На этой диаграмме представлены рекомендуемые пути, основанные на оптимальных методиках, удобстве использования и типичных вариантах использования.
* 
Существуют другие сочетания IdP и LDAP, не представленные на этой диаграмме. Например, можно использовать Microsoft Active Directory на компьютере Windows в сочетании с ThingWorx и Windchill на компьютерах Linux, но этот сценарий не является типичным или предпочтительным.
Для использования Shibboleth SP для упрощения SSO для Windchill требуется версия 11.0 M020 или более поздняя.
Дерево решений SSO
Часть A. Предварительные требования 
1. Обновите файлы hosts компьютеров, используемых в вашей среде, следующим образом.
Компьютер PingFederate - добавьте компьютеры AD FS, ThingWorx и PingFederate.
Компьютер ThingWorx - добавьте компьютеры AD FS, ThingWorx и PingFederate.
Компьютер Windchill - добавьте компьютеры ThingWorx и PingFederate.
2. Установите ThingWorx. Дополнительные сведения см. в соответствующем справочном центре ThingWorx.
Остановите сервер ThingWorx.
* 
Убедитесь, что Tomcat обновлен и сконфигурирован для работы ThingWorx в междоменных средах. Дополнительные сведения см. в этой статье.
3. Установите PingFederate или обновите его до последнего исправления, поддерживаемого ThingWorx.
4. Убедитесь, что выполнена настройка Windchill. Дополнительные сведения см. в соответствующем справочном центре Windchill.
5. Настройте и сконфигурируйте AD FS и убедитесь в наличии следующих значений атрибутов и существовании файлов:
uid
email
group
Файл метаданных
Сертификаты подписи
Часть B. Конфигурирование аутентификации для AD FS вручную 
Шаг 1. Создание глобального сертификата SSL для PingFederate
1. Войдите в систему PingFederate как администратор. Выполните поиск SSL Server Certificates и откройте результаты поиска.
2. Щелкните Create New, чтобы создать глобальный сертификат SSL, и выполните следующие действия.
a. В поле Common Name укажите полное доменное имя компьютера PingFederate.
b. Укажите другие сведения на этой странице и нажмите кнопку Next.
c. Убедитесь, что следующие флажки отмечены, и щелкните Save.
d. Щелкните SSL Server Certificates.
e. Для созданного сертификата SSL в списке Select Action выберите Activate Default for Runtime Server, а затем выберите Activate Default for Admin Console. Щелкните Save
Этот сертификат SSL помечен как значение по умолчанию для консоли администратора и сервера времени выполнения.
3. Для сертификата localhost выполните следующие действия.
a. В списке Select Action выберите действие Deactivate for Runtime Server, а затем выберите Deactivate for Admin Console.
b. Удалите сертификат localhost и щелкните Save.
Шаг 2. Создание контракта поставщика сервиса
1. В PingFederate выполните поиск Policy Contract и откройте результат поиска.
2. Щелкните Create New Contracts и выполните следующие действия.
a. В поле Contract Info введите наименование контракта, например SPContract, и щелкните Next.
b. Чтобы продлить контракт для следующих атрибутов, в разделе Contract Attributes щелкните для каждого атрибута Add.
uid
email
group
По умолчанию атрибут subject существует.
c. Нажмите кнопку Next и на странице Summary щелкните Save.
d. На странице Authentication Policy Contracts щелкните Save.
Шаг 3. Загрузка файла FederationMetadata.xml AD FS
1. В браузере компьютера AD FS введите следующий URL-адрес для загрузки файла метаданных федерации:
https://Хост_ADSF.домен_ADFS/FederationMetadata/2007-06/FederationMetadata.xml
2. Скопируйте загруженный файл в компьютер PingFederate.
Шаг 4. Создание соединения IdP для PingFederate
A) Укажите общую информацию для создания соединения IDP
1. В PingFederate выполните поиск IdP Connections и откройте результаты поиска. Щелкните Create Connection.
2. На вкладке Connection Type установите флажок BROWSER SSO Profiles и нажмите кнопку Next.
3. На вкладке Connection Options установите флажок BROWSER SSO и флажок OAUTH ATTRIBUTE MAPPING и нажмите кнопку Next.
4. На вкладке Import Metadata выберите File и щелкните Choose File, чтобы перейти к файлу FederationMetadata.xml, затем щелкните Next.
5. На вкладке Metadata Summary нажмите кнопку Next.
6. Вкладка General Info предварительно заполняется данными. Можно изменить CONNECTION NAME, если нужно. Проверьте оставшуюся информацию и нажмите кнопку Next.
7. На вкладке Browser SSO щелкните Configure Browser SSO. Откроется страница Browser SSO, в которой необходимо задать настройки для единого входа в браузере.
B) Конфигурирование настроек единого входа в браузере
1. На вкладке SAML Profiles на странице Browser SSO выберите следующие опции и нажмите кнопку Next.
IDP-INITIATED SSO
SP-INITIATED SSO
2. На вкладке User-Session Creation щелкните Configure User-Session Creation. Откроется страница User-Session Creation, на которой необходимо указать настройки для конфигурирования создания пользователя.
C) Конфигурирование настроек создания сессии пользователя
1. На вкладке Identity Mapping примите настройки по умолчанию и нажмите кнопку Next.
2. На вкладке Attribute Contract Проверьте атрибуты автозаполнения и нажмите кнопку Next.
3. На вкладке Target Session Mapping щелкните Map New Authentication Policy. Откроется страница Authentication Policy Mapping, на которой необходимо указать настройки сопоставления политики аутентификации.
D) конфигурирование настроек сопоставления политики аутентификации
1. В списке Authentication Policy Contract выберите контракт, который был создан на этапе Часть B. Шаг 2, т. е. SPContract. Убедитесь, что все атрибуты отображаются, и нажмите кнопку Next.
2. На вкладке Attribute Retrieval примите настройки по умолчанию и нажмите кнопку Next.
3. На вкладке Contract Fulfillment выберите значения для следующих параметров контрактов политики аутентификации: email, group, subject и uid
В списке Source выберите Assertion.
Выберите соответствующую запись в списке Value.
Нажмите кнопку Next.
4. На вкладке Issuance Criteria щелкните Next.
5. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница User-Session Creation, на которой необходимо просмотреть настройки конфигурации для создания сессии пользователя.
E) Просмотр настроек конфигурации создания сессии пользователя
1. На вкладке Target Session Mapping страницы User-Session Creation отображается информация, которая была выбрана при сопоставлении новой политики аутентификации. Нажмите кнопку Next.
2. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Browser SSO.
3. На вкладке User-Session Creation страницы Browser SSO отображается информация, которая была введена при конфигурировании создания сессии пользователя. Нажмите кнопку Next.
4. На вкладке OAuth Attribute Mapping щелкните Map Directly Into Persistent Grant и выберите Configure OAuth Attribute Mapping, а затем выполните следующие действия.
a. На вкладке Data Store нажмите кнопку Next.
b. На вкладке Contract Fulfilment для каждой из переменных USER_KEY и USER_NAME выберите в столбце Source значение Assertion, а в столбце Value выберите Атрибут наименования в ADFS, затем щелкните Next.
c. На вкладке Issuance Criteria щелкните Next.
5. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Нажмите кнопку Next на странице OAuth Attribute Mapping Configuration.
6. На вкладке Protocol Settings щелкните Configure Protocol Settings. Откроется страница Protocol Settings, на которой необходимо указать настройки журнала.
F) конфигурирование и просмотр настроек журнала
1. На вкладке SSO Service URLs нажмите кнопку Next.
2. На вкладке Allowable SAML Bindings выполните следующие действия и нажмите кнопку Next.
a. Установите следующие флажки:
POST
REDIRECT
b. Снимите следующие флажки:
ARTIFACT
POST
3. Пропустите настройки на вкладке Overrides и нажмите кнопку Next.
4. На вкладке Signature Policy щелкните SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS, установите два флажка в этом разделе и нажмите кнопку Next.
5. На вкладке Encryption Policy щелкните ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES, установите флажок THE ENTIRE ASSERTION и нажмите кнопку Next.
6. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Browser SSO.
7. На вкладке Protocol Settings на странице Browser SSO отображается информация, которая была выбрана при конфигурировании настроек журнала. Нажмите кнопку Next.
8. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница IdP Connection.
9. На вкладке Browser SSO страницы IdP Connection нажмите кнопку Next.
10. На вкладке Credentials щелкните Configure Credentials. Откроется страница Credentials, на которой необходимо указать настройки для конфигурирования учетных данных.
G) конфигурирование учетных данных
1. На вкладке Digital Signature Settings щелкните Manage Certificates.
2. Чтобы создать сертификат подписи, щелкните Create New, укажите следующие значения и нажмите кнопку Next:
COMMON NAME
ORGANIZATION
COUNTRY
VALIDITY (DAYS): 365
KEY ALGORITHM: RSA
KEY SIZE (BITS): 2048
SIGNATURE ALGORITHM: RSA SHA256
3. Просмотрите информацию на вкладке Summary. Если информация правильная, щелкните Save, затем щелкните Done.
4. На вкладке Digital Signature Settings для сертификата SIGNING CERTIFICATE, который был создан, установите флажок INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT и нажмите кнопку Next.
Это сертификат уровня приложения, используемый для цифровой подписи запроса из PingFederate в IdP.
5. На вкладке Signature Verification Settings щелкните Manage Signature Verification Settings.
a. На вкладке Trust Model выберите UNANCHORED и нажмите кнопку Next.
b. Убедитесь, что на вкладке Signature Verification Certificate отображается сертификат подписи IdP, и нажмите кнопку Next.
Это сертификат уровня приложения, используемый для проверки подписи запросов из IdP в PingFederate. Он был автоматически импортирован в PingFederate при импорте файла metadata.xml из IdP.
c. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done.
d. На вкладке Signature Verification Settings нажмите кнопку Next.
e. На панели Select Decryption Keys выберите сертификат PingFederate и нажмите кнопку Next.
f. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done.
g. На странице Credentials щелкните Next.
H) Активация соединения IdP
Убедитесь, что на странице Activation & Summary активирована конечная точка SSO Application Endpoint, и щелкните Save.
Теперь соединение IdP создано и активировано.
I) Проверка соединения IdP
Щелкните созданное соединение IdP, скопируйте URL-адрес SSO Application Endpoint, вставьте его в браузер и убедитесь, что выполняется перенаправление в IdP. Таким образом, этот URL-адрес из PingFederate должен быть перенаправлен в AD FS. Вы увидите страницу, аналогичную приведенной ниже, которая будет содержать сообщение об ошибке.
Часть C. Конфигурирование проверяющей стороны AD FS 
Шаг 1. Экспорт файла XML метаданных из PingFederate
1. В PingFederate перейдите к пункту Поставщик сервисов и в разделе IDP Connections щелкните Manage All.
2. Для соединения IdP в списке Select Action щелкните Export Metadata.
3. На странице Metadata Signing нажмите кнопку Next.
4. На странице Export & Summary щелкните Export чтобы загрузить файл метаданных в папку Downloads на вашем компьютере, и нажмите кнопку Done .
5. Скопируйте XML-файл метаданных на компьютер AD FS.
Шаг 2. Добавление проверяющей стороны в AD FS
1. Войдите на сервер AD FS и откройте Server Manager.
2. Перейдите в Tools > AD FS Management.
3. В разделе AD FS щелкните правой кнопкой мыши Relying Party Trusts и выберите Add Relying Party Trust. Это необходимо, чтобы обеспечить доверие AD FS к соединению с PingFederate.
4. В окне Add Relying Party Trust Wizard выполните следующие действия.
a. Щелкните Начать.
b. На следующем экране щелкните Import data about the relying party from a file.
c. Щелкните Browse и перейдите в расположение файла Metadata.xml, скопированного из PingFederate, чтобы создать проверяющую сторону в AD FS, и нажмите кнопку Next.
d. Укажите отображаемое имя в поле Display name и нажмите кнопку Next.
Запишите это имя, поскольку оно потребуется позже.
e. Нажимайте кнопку Next в следующих окнах, пока не достигните экрана Done. Затем щелкните Close.
Текущая запись будет добавлена в список Relying Part Trusts.
Также должно отображаться следующее окно (оно может быть скрыто за текущим окном):
5. Чтобы сопоставить атрибуты AD FS с Active Directory, выполните следующие действия.
a. В окне Edit Claim Issuance Policy for <Доверенное имя проверяющей стороны> щелкните Add Rule и нажмите кнопку Next.
b. Укажите имя в поле Claim rule name и задайте для Attribute store значение Active Directory.
c. В таблице Mapping of LDAP attributes to outgoing claim types выберите значения из списков, чтобы сопоставить атрибуты AD FS с атрибутами Active Directory:
* 
Если эти атрибуты не сопоставлены правильно, единый вход не будет работать.
Display-Name
Name
SAM-Account-Name
Name ID
E-Mail-Addresses
E-Mail Address
Is-Member-Of-DL
Group
d. Щелкните Done и нажмите кнопку ОК.
Шаг 3. Настройка AD FS для шифрования полного сообщения и утверждения
1. На компьютере AD FS откройте Windows PowerShell от имени администратора.
2. Выполните следующую команду на компьютере AD FS, чтобы осуществлялось взаимодействие:
Set-ADFSRelyingPartyTrust -TargetName <Доверенное имя проверяющей стороны> -SamlResponseSignature "MessageAndAssertion"
где <Доверенное имя проверяющей стороны> - это доверенное имя проверяющей стороны, которое было создано и записано на шаге 2 ранее.
Эта команда конфигурирует подпись отклика SAML с помощью Windows PowerShell.
Часть D. Проверка URL-адреса конечной точки соединения IdP 
1. Из PingFederateскопируйте URL-адрес для SSO Application Endpoint и вставьте его в окно инкогнито.
2. Войдите в систему, используя имя домена и пользователя администратора, которые были созданы для AD FS.
Вы должны увидеть следующее сообщение:
Часть E. Создание соединений поставщика сервисов PingFederate для ThingWorx 
Шаг 1. Создание сертификата подписи ThingWorx
1. В папке <Папка установки ThingWorx>/ThingworxPlatform создайте папку ssoSecurityConfig.
2. Создайте файл хранилища ключей с типом JKS и именем sso-keystore.jks следующим образом:
Сгенерируйте пару ключей.
Укажите следующее общее имя (CN) сертификата: ThingWorx.
3. Экспортируйте thingworx.cer из sso-keystore.jks в папку ssoSecurityConfig.
Шаг 2. Конфигурирование соединения с поставщиком сервисов для ThingWorx
A) Задание общей информации для создания соединения с поставщиком сервисов
1. На главной странице PingFederate найдите группу SP Connections и щелкните Create Connection. Откроется страница SP Connection.
2. На вкладке Connection Template выберите DO NOT USE A TEMPLATE FOR THIS CONNECTION и щелкните Next.
3. На вкладке Connection Type установите флажки Browser SSO Profiles и SAML 2.0 Protocol и нажмите кнопку Next.
4. На вкладке Connection Options установите флажок BROWSER SSO и нажмите кнопку Next.
5. На вкладке Import Metadata выберите Нет и нажмите кнопку Next.
6. На вкладке General Info выполните следующие задания.
a. В поле Partner’s Entity ID (Connection ID) укажите уникальное значение, например TWX_SP.
Запомните это значение, так как оно будет использоваться при конфигурировании файла ThingWorx sso-settings.json.
b. В поле Connection Name укажите описательное имя, например TWX_SP.
Это имя будет отображаться в списке соединений поставщиков сервисов PingFederate.
c. В поле Connection Type введите URL-адрес сервера, на котором развернуто ThingWorx, и нажмите кнопку Next. Например: https://{ThingWorxHost_FQDN}:8443
7. На вкладке Browser SSO щелкните Configure Browser SSO. Откроется страница Browser SSO, в которой необходимо задать настройки для единого входа в браузере.
B) Конфигурирование настроек единого входа в браузере
1. На вкладке SAML Profiles страницы Browser SSO в разделе Single Sign-On (SSO) Profiles выберите следующие опции и нажмите кнопку Next:
IDP-INITIATED SSO
SP-INITIATED SSO
Не выбирайте никакие опции в столбце Single Logout (SLO) Profiles.
2. На вкладке Assertion Lifetime задайте для Minutes Before значение 60 и для Minutes After значение 480. Нажмите кнопку Next.
3. На вкладке Assertion Creation щелкните Configure Assertion Creation. Откроется страница Assertion Creation, на которой необходимо задать настройки для создания утверждения.
C) Конфигурирование настроек создания утверждения
1. На вкладке Identity Mapping на странице Assertion Creation щелкните Standard и нажмите кнопку Next.
2. На вкладке Attribute Contract в разделе Attribute Contract введите SAML_Subject и выберите значение в поле Subject Name Format.
3. На вкладке Attribute Contract в поле Extend the Contract сконфигурируйте следующие настройки и щелкните Add после каждого значения:
Extend the Contract
Attribute Name Format
group
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
uid
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
email
urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified
Нажмите кнопку Next.
4. На вкладке Authentication Source Mapping щелкните Map New Authentication Policy. Откроется страница Authentication Policy Mapping, на которой необходимо указать настройки сопоставления политики аутентификации.
D) конфигурирование настроек сопоставления политики аутентификации
1. В списке Authentication Policy Contract на странице Authentication Policy Mapping выберите контракт атрибута, созданный в разделе Часть B. Шаг 2, т. е. SPContract. Нажмите кнопку Next.
2. На вкладке Mapping Method щелкните USE ONLY THE AUTHENTICATION POLICY CONTRACT VALUES IN THE SAML ASSERTION и нажмите кнопку Next.
3. На вкладке Attribute Contract Fulfillment выберите значения для следующих параметров контрактов политики аутентификации: email, group, SAML_SUBJECT и uid:
В списке Source выберите Authentication Policy Contract.
В списке Value выберите соответствующую запись в списке.
Нажмите кнопку Next.
4. Пропустите настройки на вкладке Issuance Criteria и нажмите кнопку Next.
5. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Assertion Creation, на которой необходимо просмотреть настройки конфигурации для создания утверждения.
E) Проверка настроек конфигурации создания утверждения
1. На вкладке Authentication Source Mapping страницы Assertion Creation отображается информация, которая была выбрана при сопоставлении новой политики аутентификации. Нажмите кнопку Next.
2. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Browser SSO.
3. На вкладке Assertion Creation страницы Browser SSO отображается информация, которая была введена при конфигурировании создания утверждения. Нажмите кнопку Next.
4. На вкладке Protocol Settings щелкните Configure Protocol Settings. Откроется страница Protocol Settings, на которой необходимо указать настройки журнала.
F) конфигурирование и просмотр настроек журнала
1. На вкладке Assertion Consumer Service URL на странице Protocol Settings выполните следующие действия.
a. Установите флажок Default.
b. В поле Index введите 0.
c. В списке Binding выберите пункт POST.
d. В поле Endpoint URL введите /Thingworx/saml/SSO.
e. Щелкните Add и нажмите кнопку Next.
2. На вкладке Allowable SAML Bindings установите флажок POST и нажмите кнопку Next.
3. На вкладке Signature Policy выберите следующие опции и нажмите кнопку Next.
REQUIRE AUTHN REQUESTS TO BE SIGNED WHEN RECEIVED VIA THE POST OR REDIRECT BINDINGS
ALWAYS SIGN THE SAML ASSERTION
4. На вкладке Encryption Policy выберите The Entire Assertion и нажмите кнопку Next.
5. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Browser SSO.
6. На вкладке Protocol Settings на странице Browser SSO отображается информация, которая была выбрана при конфигурировании настроек журнала. Нажмите кнопку Next.
7. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница SP Connection.
8. На вкладке Browser SSO страницы SP Connection нажмите кнопку Next.
9. На вкладке Credentials щелкните Configure Credentials. Откроется страница Credentials, на которой необходимо указать настройки для конфигурирования учетных данных.
G) конфигурирование учетных данных
1. На вкладке Digital Signature Settings выполните следующие действия.
a. В списке SIGNING CERTIFICATE выберите сертификат из списка.
b. Установите флажок INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT.
Нажмите кнопку Next.
2. На вкладке Signature Verification Settings щелкните Save Draft.
3. Щелкните Manage All и щелкните Save.
H) Конфигурирование настроек проверки подписи, а также импорт и шифрование сертификата
1. Чтобы восстановить сохраненную конфигурацию, щелкните Identity Provider и в окне SP Connections щелкните Manage All.
2. Щелкните соединение SP: TWX_SP, которое было сохранено как черновик, и щелкните Manage Signature Verification Settings.
3. На вкладке Trust Model выберите UNANCHORED и нажмите кнопку Next.
На вкладке Signature Verification Certificateнет доступных сертификатов в списке.
4. Щелкните Manage Certificates, а затем щелкните Импорт.
5. На вкладке Import Certificate щелкните Choose file, чтобы перейти к файлу сертификата, созданному на этапе Часть E. Шаг 1, и нажмите кнопку Next.
6. Убедитесь, что на вкладке Summary установлен флажок MAKE THIS THE ACTIVE CERTIFICATE.
7. Просмотрите информацию на странице Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Certificate Management.
8. Нажмите кнопку Готово. Откроется страница Signature Verification.
9. На вкладке Signature Verification Certificate должен отображаться сертификат, который был импортирован. Нажмите кнопку Next.
10. На странице Summary щелкните Done.
11. На вкладке Signature Verification Settings нажмите кнопку Next.
J) Шифрование сертификата
1. На вкладке Select XML Encryption Certificate выполните следующие действия и нажмите кнопку Next.
a. Выберите AES-128 в поле Block Encryption Algorithm.
b. Выберите RSA-OAEP в поле Key Transport Algorithm.
c. Выберите сертификат из списка.
2. Просмотрите информацию на вкладке Summary. Если информация правильная, нажмите кнопку Done. Откроется страница Credentials, на которой необходимо просмотреть настройки проверки подписи.
K) Активирование соединения SP
1. На вкладке Credentials на странице SP Connection отображается информация, которая была выбрана при конфигурировании учетных данных. Нажмите кнопку Next.
2. На странице Activation & Summary в разделе Статус соединения убедитесь, что соединение включено.
3. Щелкните Save
Соединение отображается в группе SP Connections на странице Identity Provider.
Шаг 3. Экспорт метаданных соединения поставщика сервисов ThingWorx и общедоступного сертификата PingFederate
A) Экспорт метаданных из PingFederate для ThingWorx
1. В PingFederate в разделе SP Connections щелкните Manage All.
2. Для соединения SP, которое было создано в разделе Часть E. Шаг 2, т. е TWX_SP, в списке Select Action щелкните Export Metadata.
3. На вкладке Metadata Signing нажмите кнопку Next.
4. На вкладке Export & Summary щелкните Экспорт.
Файл будет загружен.
5. Нажмите кнопку Готово.
B) Экспорт общедоступного сертификата PingFederate
1. В PingFederate в разделе SP Connections щелкните соединение SP TWX_SP, которое вы выбрали.
2. На вкладке Activation & Summary в разделе Credentials щелкните Digital Signature Settings и выполните следующие действия.
3. Щелкните Manage Certificates.
4. Для вашего сертификата в списке Select Action щелкните Export.
5. Установите флажок CERTIFICATE ONLY и щелкните Export.
Файл будет загружен. Переименуйте этот файл соответствующим образом. Например: pingfedsigning.crt
6. Импортируйте этот файл общедоступного сертификата PingFederate в хранилище ключей sso-keystore.jks, которое было создано в разделе Часть E. Шаг 1.
Шаг 3. Экспорт метаданных соединения поставщика сервисов ThingWorx и общедоступного сертификата PingFederate
A) Экспорт метаданных из PingFederate для ThingWorx
1. В PingFederate в разделе SP Connections щелкните Manage All.
2. Для соединения SP, которое было создано в разделе Часть E. Шаг 2, т. е TWX_SP, в списке Select Action щелкните Export Metadata.
3. На вкладке Metadata Signing нажмите кнопку Next.
4. На вкладке Export & Summary щелкните Экспорт.
Файл будет загружен.
5. Щелкните Done, а затем Save.
B) Экспорт общедоступного сертификата PingFederate
1. В PingFederate в разделе SP Connections щелкните соединение SP TWX_SP, которое вы выбрали.
2. На вкладке Activation & Summary в разделе Credentials щелкните Digital Signature Settings и выполните следующие действия.
3. Щелкните Manage Certificates.
4. Для вашего сертификата в списке Select Action щелкните Export.
5. Установите флажок CERTIFICATE ONLY и щелкните Export.
Файл будет загружен. Переименуйте этот файл соответствующим образом. Например: pingfedsigning.crt
6. Импортируйте этот файл общедоступного сертификата PingFederate в хранилище ключей sso-keystore.jks, которое было создано в разделе Часть E. Шаг 1.
Часть F. Конфигурирование ThingWorx для единого входа 
1. Остановите сервер ThingWorx.
2. Выполните шаги, подробно описанные в разделе Конфигурирование ThingWorx для единого входа.
После завершения конфигурирования ThingWorx для единого входа в ssoSecurityConfig должны присутствовать следующие файлы:
Часть G. Создание сертификатов SSL 
Шаг 1. Импорт сертификата SSL ThingWorx в PingFederate файл Java cacerts
1. Создайте пару ключей (хранилище ключей) для ThingWorx. Убедитесь, что в качестве значения CN используется полное доменное имя хост-компьютера ThingWorx.
2. Экспортируйте общедоступный сертификат SSL ThingWorx из этой пары ключей.
3. Импортируйте сертификат SSL ThingWorx (.crt) в файл Java cacerts на компьютере PingFederate.
4. Перезапустите PingFederate.
Шаг 2. Импорт сертификата SSL PingFederate в файл Java cacerts в ThingWorx
1. Чтобы экспортировать сертификат PingFederate, выполните следующие действия.
a. В PingFederate щелкните Security > SSL Server Certificates.
b. Для вашего сертификата в списке Select Action щелкните Export и нажмите кнопку Next.
c. На вкладке Export Certificate убедитесь, что CERTIFCATE ONLY задано как значение по умолчанию, и нажмите кнопку Next.
d. На вкладке Export & Summary щелкните Export.
Сертификат будет загружен.
e. Переименуйте сертификат соответствующим образом. Например: pingfedssl.cer.
2. Импортируйте сертификат SSL PingFederate (.crt) в файл Java cacerts на компьютере ThingWorx.
Часть H. Создание клиентского соединения OAuth для ThingWorx 
Выполните шаги, описанные в разделе Создание клиентского соединения OAuth для ThingWorx.
* 
Убедитесь, что в поле Redirect URIS нет пробелов, и щелкните Save, чтобы завершить конфигурирование.
Часть I. Убедитесь, что ThingWorx работает, прежде чем перейти к конфигурации SCIM 
1. Запустите ThingWorx.
Проверьте файл журнала, чтобы убедиться в отсутствии ошибок.
2. Войдите в ThingWorx, используя имя Domain\username, созданное в AD FS.
Часть J. Конфигурирование SCIM для работы с ThingWorx 
Дополнительные сведения см. в разделе Подготовка.
Шаг 1. Включение подготовки исходящих данных
1. Остановите PingFederate.
2. Остановите ThingWorx.
3. В файле run.properties, расположенном в папке <pf_install>/pingfederate/bin, где <pf_install> - это расположение установки для PingFederate, измените значение pf.provisioner.mode на STANDALONE.
pf.provisioner.mode=STANDALONE
4. Запустите PingFederate.
Шаг 2. Создание хранилища данных для Active Directory
1. В разделе PingFederate выполните поиск Data Stores.
2. Щелкните Add New Data Store.
3. Введите в поле NAME имя, например LDAP_ADFS, в поле TYPE выберите значение Directory (LDAP), а затем щелкните Next.
4. В поле HOSTNAME(S) укажите полное доменное имя (FQDN) компьютера AD FS.
5. В поле USER DN укажите cn=Administrator,cn=Users,dc=thingworx,dc=com
6. Для PASSWORD укажите пароль администратора, который вы задали в Active Directory, и щелкните Next.
7. На вкладке Summary щелкните Save.
Дополнительные сведения см. в разделе Добавление LDAP в качестве хранилища данных.
Шаг 3. Создание экземпляра валидатора учетных данных пароля
1. В PingFederate выполните поиск Password Credential Validators.
2. Щелкните Create New Instance.
3. Укажите значения в полях имени INSTANCE NAME и идентификатора INSTANCE ID экземпляра.
4. В списке TYPE выберите Simple Username Password Credential Validator и щелкните Next.
5. На вкладке Instance Configuration щелкните Add a new row to 'Users'.
6. Укажите имя Username и пароль Password существующего пользователя ThingWorx, например администратора. Щелкните Update и нажмите кнопку Next.
7. На вкладке Summary щелкните Done и Save.
Шаг 4. Сопоставление экземпляра валидатора учетных данных пароля с контрактом, имеющим постоянное предоставление
1. В PingFederate выполните поиск Resource Owner Credentials Grant Mapping.
2. В разделе SOURCE PASSWORD VALIDATOR INSTANCE выберите валидатор, который был создан ранее, и щелкните Add Mapping.
3. На вкладке Attribute Sources & User Lookup щелкните Next.
4. На вкладке Contract Fulfillment задайте для поля Source значение Password Credential Validator, а для поля Value - username и нажмите кнопку Next.
5. На вкладке Issuance Criteria щелкните Next.
6. На вкладке Summary щелкните Save.
Шаг 5. Создание клиента OAuth для SCIM
Клиент OAuth - это точка подключения для PingFederate, предоставляющая лексемы доступа к ThingWorx. Поставщики сервисов используют эти лексемы доступа для запроса ресурсов, защищенных с помощью OAuth, из ThingWorx.
1. В PingFederate выполните поиск Clients и откройте результаты поиска. Щелкните Add Client.
2. Укажите уникальные значения для полей CLIENT ID и NAME.
3. Задайте для параметра CLIENT AUTHENTICATION значение CLIENT SECRET.
4. Для параметра CLIENT SECRET выберите CHANGE SECRET, а затем щелкните Generate Secret.
Запомните значения CLIENT ID и CLIENT SECRET, которые потребуются при конфигурировании раздела SCIMAccessTokenServicesSettings в файле sso-settings.json.
5. В поле REDIRECT URIS введите https://{THINGWORX HOST}:8443/Thingworx/SCIMProvider/SCIM и щелкните Add.
6. Для параметра ALLOWED GRANT TYPES установите флажки Client Credentials, Resource Owner Password Credentials и Access Token Validation (Client is a Resource Server).
7. Задайте для параметра DEFAULT ACCESS TOKEN MANAGER значение Default.
8. Задайте оставшиеся значения, как на следующем изображении:
9. Щелкните Save
Дополнительные сведения см. в разделе Создание клиента OAuth для SCIM.
Шаг 6. Конфигурирование SCIM в файле platform-settings.json
Шаг 7. Проверка выполнения подсистемы SCIM
1. Запустите сервер ThingWorx.
2. В ThingWorx Composer щелкните Browse и выберите Subsystems.
3. Выберите SCIMSubsystem и убедитесь, что эта подсистема работает.
Шаг 8. Сопоставление USERNAME и USER_KEY
1. В PingFederate выполните поиск Access Token Management.
2. Щелкните Create New Instance.
3. Укажите имя экземпляра в поле INSTANCE NAME.
4. В поле INSTANCE ID введите default.
5. Задайте для параметра TYPE значение Internally Managed Reference Tokens и щелкните Next.
6. На вкладке Instance Configuration щелкните Next.
7. На вкладке Session Validation щелкните Next.
8. На вкладке Access Token Attribute Contract выполните следующие действия и щелкните Next.
a. В разделе Extend the Contract добавьте Username для Windchill, а затем щелкните Add.
* 
Убедитесь, что вы указали тот же самый вариант, который приведен здесь.
b. В разделе Extend the Contract добавьте username для SCIM, а затем щелкните Add.
* 
Убедитесь, что вы указали тот же самый вариант, который приведен здесь.
9. На вкладке Resource URIs щелкните Next.
10. На вкладке Access Control щелкните Next.
11. На вкладке Summary щелкните Save.
12. Щелкните Access Token Mapping, а затем щелкните Add Mapping (для контекста Default).
13. Нажимайте кнопку Next до тех пор, пока не откроется вкладка Contract Fulfillment.
14. На вкладке Contract Fulfillment для контрактов Username и username выполните следующие действия.
Задайте для параметра Source значение Persistent Grant.
Задайте для поля Value значение USER_KEY.
15. На вкладке Issuance Criteria щелкните Next.
16. На вкладке Summary щелкните Save.
Шаг 9. Определение соединения с поставщиком сервисов для SCIM
1. В PingFederate выполните поиск SP CONNECTIONS и создайте новое соединение.
2. На вкладке Connection Template выберите DO NOT USE A TEMPLATE FOR THIS CONNECTION и щелкните Next.
3. На вкладке CONNECTION TYPE выполните следующие действия и щелкните Next.
a. Убедитесь, что флажок BROWSER SSO PROFILES не установлен.
b. Установите флажок OUTBOUND PROVISIONING и задайте для поля TYPE значение SCIM 1.1 Service Provider.
4. На вкладке General Info выполните следующие действия и щелкните Next.
a. Укажите значения для PARTNER'S ENTITY ID (CONNECTION ID) и CONNECTION NAME. Например: SCIM_ADFS_SP
b. В поле BASE URL введите https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider.
* 
Убедитесь в отсутствии пробелов в конце URL-адреса при его копировании в PingFederate.
5. На вкладке Outbound Provisioning щелкните Configure Provisioning.
6. На вкладке Custom SCIM Attributes выполните следующие действия и нажмите кнопку Next.
a. В поле USERS RESOURCE URL введите https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider/SCIM/Users
* 
Убедитесь в отсутствии пробелов в конце URL-адреса при его копировании в PingFederate.
b. В поле GROUPS RESOURCE URL ведите https://ThingWorx_FQDN:8443/Thingworx/SCIMProvider/SCIM/Groups
* 
Убедитесь в отсутствии пробелов в конце URL-адреса при его копировании в PingFederate.
c. Задайте для параметра AUTHENTICATION METHOD значение OAUTH 2.0 BEARER TOKEN.
d. Укажите для параметра USER значение Administrator и введите PASSWORD.
e. Укажите значения параметров CLIENT ID и CLIENT SECRET из файла sso-settings.json.
f. В поле TOKEN END POINT URL введите https://PingFederate Host:9031/as/token.oauth2
* 
Убедитесь в отсутствии пробелов в конце URL-адреса.
g. Убедитесь, что не установлены флажки SCIM SP SUPPORTS PATCH UPDATES и PROVISION GROUPS WITH DISTINGUISHED NAME.
h. Задайте для DEPROVISION METHOD значение DELETE USER.
7. На вкладке Custom SCIM Attributes щелкните Next.
Дополнительные сведения см. в разделе Определение соединения SP для SCIM.
Шаг 10. Создание канала для хранилища данных
1. На вкладке Manage Channels щелкните Create.
2. Укажите CHANNEL NAME.
3. Выберите для ACTIVE DATA STORE хранилище, которое было создано на шаге 2, т. е. LDAP_ADFS, и нажмите кнопку Next.
4. На вкладке Source Settings щелкните Next.
5. На вкладке Source Location выполните следующие действия и щелкните Next.
a. В поле BASE DN введите cn=users,dc=thingworx,dc=com
b. В разделе Users в поле FILTER введите (&(objectCategory=person)(objectClass=user)(cn=*))
c. В разделе Groups в поле FILTER введите (&(objectCategory=group))
6. На вкладке Attribute Mapping нажмите кнопку Next.
7. На вкладке Activation & Summary задайте для Channel Status значение ACTIVE и щелкните Done.
8. На вкладке Manage Channels щелкните Done.
9. На вкладке Outbound Provisioning щелкните Next.
10. Убедитесь, что соединение SP активно (зеленого цвета), и щелкните Save.
Соединение SP появится в списке на странице соединений SP.
Дополнительные сведения см. в разделе Создание канала для хранилища данных.
Шаг 11. Добавление двоичного атрибута LDAP
1. Перейдите в раздел SYSTEM > Data & Credential Stores > Data Stores.
2. Щелкните LDAP_ADFS и выберите вкладку LDAP Configuration.
3. Щелкните Advanced, чтобы увидеть дополнительные настройки привязки и конфигурации.
4. Перейдите на вкладку LDAP Binary Attributes и добавьте новый двоичный атрибут с objectGUID в качестве значения.
5. Щелкните Save
Часть K. Конфигурирование Windchill в качестве сервера ресурсов 
Шаг 1. Предварительные требования
Windchill сконфигурировано для SSL/OAuth 2.0.
Сертификаты SSL для ThingWorx и PingFederate импортированы в файл jssecacerts/ cacerts на компьютере Windchill.
Integration Runtime конфигурируется для экземпляра ThingWorx. Дополнительные сведения см. в разделе Начальная настройка сервиса Integration Runtime для соединителей интеграции.
Сертификат SSL Windchill импортирован в файл jssecacerts / cacerts на компьютере ThingWorx.
Сертификат SSL Windchill импортирован в файл jssecacerts / cacerts на компьютере PingFederate.
Шаг 2. Завершение конфигурации файла OAuth 2.0 Windchill
Измените файл securityContext.properties, доступный в папке <корн_папка_установки_WC>\Windchill\codebase\WEB-INF\security\config, следующим образом:
checkTokenEndpointUrl - полное доменное имя компьютера PingFederate.
clientId - идентификатор клиента OAuth, например wnc-rp-client.
clientSecret - ключ клиента OAuth.
resourceScopes - контекстная область Windchill, например WINDCHILL_READ.
Шаг 3. Создание клиентского соединения OAuth для Windchill в качестве сервера ресурсов
Выполните шаги, описанные в разделе Создание клиентских соединений OAuth для Windchill.
* 
Можно загрузить значения clientId и clientSecret из файла securityContext.properties.
Шаг 4. Создание контекстных областей Windchill в PingFederate
1. В PingFederate на странице OAuth Settings щелкните Scope Management.
2. В разделе Scope Value щелкните Add, чтобы добавить те же самые контекстные области, например WINDCHILL_READ, которые были добавлены для значения resourceScopes в файле securityContext.properties.
3. Щелкните Save
Было ли это полезно?