|
Выполните шаги, которые связаны с ThingWorx Flow, при работе с версиями, предшествующими ThingWorx Flow 9.2. Шаги выполняются автоматически в ThingWorx Flow 9.2. Если установлено приложение ThingWorx Flow, необходимо остановить все сервисы ThingWorx Foundation и ThingWorx Flow, включая RabbitMQ и Nginx, перед настройкой файла sso-settings.json. После конфигурирования этого файла необходимо сначала перезапустить RabbitMQ, а затем все сервисы ThingWorx Foundation и ThingWorx Flow, включая Nginx.
|
|
Убедитесь, что значение каждого параметра исправлено согласно вашим требованиям. Реализация может варьироваться в зависимости от нескольких факторов, таких как место размещения ThingWorx, политика безопасности организации и сервер авторизации для вашего объединения. Используйте информацию, приведенную в следующих таблицах, в качестве руководства при задании значений различных параметров.
|
Параметр
|
Описание
|
Значение
|
||||
---|---|---|---|---|---|---|
clientBaseUrl
|
Определяет URL-адрес экземпляра сервера ThingWorx.
Задайте полное доменное имя (FQDN) сервера ThingWorx.
Если установлено приложение ThingWorx Flow, необходимо указать имя хост-компьютера ThingWorx Flow Nginx и номер порта ThingWorx Flow Nginx в URL-адресе.
При конфигурировании ThingWorx для работы в среде высокой доступности (HA) укажите хост-компьютер и порт балансировщика нагрузки.
|
http://<Полное доменное имя ThingWorx>:<port-number>/Thingworx
ИЛИ
Для ThingWorx Flow укажите https://<имя хост-компьютера ThingWorx Flow Nginx>:<номер порта ThingWorx Flow Nginx>/Thingworx
ИЛИ
В среде с высокой доступностью укажите https://<имя хост-компьютера балансировщика нагрузки>:<номер порта балансировщика нагрузки>/Thingworx
|
||||
idpMetadataFilePath
|
Определяет абсолютное расположение пути к файлу метаданных IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||||
metadataEntityId
|
Определяет идентификатор сущности соединения поставщика услуг.
• PingFederate в качестве CAS: используйте уникальный идентификатор, который был выбран при конфигурировании соединения с поставщиком сервисов.
• Azure AD в качестве CAS: используйте Identifier (Entitity ID), который был определен при конфигурировании базовых настроек для SAML.
• AD FS в качестве CAS: используйте Relying party trust identifier, определенный при конфигурировании настроек доверия проверяющей стороны.
|
-
|
||||
metadataEntityBaseUrl
|
Определяет полное доменное имя сервера ThingWorx.
Если установлено приложение ThingWorx Flow, укажите URL-адрес ThingWorx Flow Nginx.
При конфигурировании ThingWorx для работы в среде высокой доступности (HA) укажите хост-компьютер и порт балансировщика нагрузки.
|
http://<Полное доменное имя ThingWorx>:<port-number>/Thingworx
ИЛИ
Для ThingWorx Flow укажите https://<имя хост-компьютера ThingWorx Flow Nginx>:<номер порта ThingWorx Flow Nginx>/Thingworx
ИЛИ
В среде с высокой доступностью укажите https://<имя хост-компьютера балансировщика нагрузки>:<номер порта балансировщика нагрузки>/Thingworx
|
||||
webSSOProfileConsumerResponseSkew
|
Определяет допустимое отклонение отклика потребителя по протоколу SAML 2.0 WebSSO.
При задании этого значения необходимо учитывать собственные требования безопасности, а также задержку в корпоративной сети.
Используйте эту настройку, чтобы задать разрешенный интервал времени (в секундах) для возвращения ответа на запрос входа в систему из сервиса CAS в ThingWorx. Если ответ на запрос входа в систему занимает больше времени, чем задано этим значением, то попытка входа приводит к отказу.
Допустимое отклонение - это допустимое отклонение времени ответа, разрешенное получателем из-за предполагаемого различия системных часов. Чтобы минимизировать влияние отклонения, рекомендуется обеспечивать надежную синхронизацию часов во всех включенных системах.
|
300
|
||||
webSSOProfileConsumerReleaseDOM
|
Определяет, следует ли сохранять утверждение SAML платформой безопасности по завершении аутентификации.
Если установлено значение ложь, утверждение SAML сохраняется по завершении аутентификации.
|
истина
|
||||
webSSOProfileResponseSkew
|
Определяет допустимое отклонение для профиля SAML 2.0 Web SSO.
При задании этого значения необходимо учитывать собственные требования безопасности, а также задержку в корпоративной сети.
Допустимое отклонение - это допустимое отклонение времени ответа, разрешенное получателем из-за предполагаемого различия системных часов. Чтобы минимизировать влияние отклонения, рекомендуется обеспечивать надежную синхронизацию часов во всех включенных системах.
|
300
|
||||
retriggerOnScopesRemoval
|
Определяет, изменился ли список требуемых контекстных областей и необходимо ли его обновить.
Если установлено значение истина, контекстная область была добавлена в список требуемых контекстных областей или удалена из него.
Если установлено значение ложь, контекстная область была добавлена в список требуемых контекстных областей.
|
истина
|
||||
samlAssertionUserNameAttributeName
|
Определяет, какой атрибут SAML переносит значение, которое сохраняет имена пользователей ThingWorx при входе в систему. Удостоверьтесь, что значение этого атрибута в поставщике удостоверений соответствует значениям, используемым для имен пользователей ThingWorx.
|
• PingFederate или Azure AD в качестве CAS:
uid
• AD FS в качестве CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||||
samlAssertionMaxAuthenticationAge
|
Определяет максимальный возраст (в секундах) утверждения SAML 2.0 до истечения срока его действия. Также определяет максимальное время сессии для утверждения аутентификации.
Задайте значение, соответствующее значению времени ожидания для сессии, которое определено в поставщике удостоверений. Это значение будет отличаться в зависимости от используемого IdP.
|
• PingFederate в качестве CAS с LDAP IdP (Windchill): 7200 (значение по умолчанию).
• AD FS в качестве IdP (с AD FS или PingFederate в качестве CAS): 28800.
• Azure AD в качестве IdP (с Azure AD или PingFederate в качестве CAS): 86400.
|
||||
authnContextAsPassword
|
Дополнительно. В некоторых редких случаях IdP требует поместить следующее утверждение в запрос SAML.
<saml2p:RequestedAuthnContext Comparison="exact">
<saml2:AuthnContextClassRef xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> urn:oasis:names:tc:SAML:2.0:ac:classes:Password </saml2:AuthnContextClassRef> </saml2p:RequestedAuthnContext> В таких случаях необходимо определить это свойство.
|
false
|
|
Если требуется активировать аутентификатор ключей приложений при включенном SSO, необходимо добавить следующий раздел конфигурации ApplicationKeySettings в настройки sso-settings.json в BasicSettings. Это необходимо делать только в том случае, если требуется использовать Ключи приложений для аутентификации через запросы REST API. Ключи приложений можно продолжать использовать с устройств Edge через WebSocket независимо от того, включена ли эта настройка.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Параметр
|
Описание
|
Значение
|
||
---|---|---|---|---|
dbType
|
Определяет тип базы данных, которая сконфигурирована и используется для установки ThingWorx.
• Чтобы использовать базу данных, которая задана в файле platform-settings.json, укажите тот же тип базы данных и учетные данные, которые заданы в файле platform-settings.json.
• Чтобы использовать выделенную базу данных для лексемы авторизации, укажите значение default. После настройки default создается новая выделенная база данных H2.
|
default
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
Определяет имя класса драйвера, которое используется в файле platform-settings.json.
|
Если для dbType задано значение default, задайте org.h2.Driver.
|
||
Если для dbType задано значение h2, задайте org.h2.Driver.
|
||||
Если для dbType задано значение postgres, задайте org.postgresql.Driver.
|
||||
Если для dbType задано значение mssql, задайте com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||||
Если для dbType задано значение hana, задайте com.sap.db.jdbc.Driver
|
||||
url
|
Определяет URL-адрес расположения базы данных для установки ThingWorx.
|
Если для dbType задано значение default, задайте jdbc:h2:\\<диск>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db.
|
||
Если для dbType задано значение h2, этот параметр не требуется.
|
||||
Если для dbType задано значение postgres, задайте jdbc:postgresql://<имя_хоста>:<порт>/thingworx.
|
||||
Если для dbType задано значение mssql, задайте jdbc:sqlserver://<имя_хоста>:<порт>;databaseName=thingworx;applicationName=Thingworx=Thingworx.
|
||||
Если для dbType задано значение hana, задайте jdbc:sap://<ip_адрес>:39041/?databaseName=thingworx¤tschema=TWADMIN.
|
||||
username
|
Определяет имя пользователя для базы данных, которая используется системой для хранения маркеров доступа. Имя должно соответствовать имени пользователя, указанному в файле platform-settings.json.
|
-
|
||
password
|
Определяет пароль для базы данных, которая используется системой для хранения маркеров доступа. Пароль должен соответствовать паролю, указанному в файле platform-settings.json.
|
-
|
||
encryptTokenInDatabase
|
Установите значение истина, чтобы шифровать маркеры доступа перед сохранением в базе данных.
• Для ThingWorx 9.3 и более поздних версий:
Если для этой опции задано значение true, файл private-keyset.cfg создается автоматически при запуске ThingWorx и сохраняется в папке ssoSecurityConfig. Этот файл набора ключей создается только один раз.
• Для ThingWorx 9.2.x и более ранних версий:
Задайте в keyczarKeyFolderPath допустимое расположение keyCzarKey.
|
истина
|
||
keyczarKeyFolderPath
|
• Для ThingWorx 9.3 и более поздних версий:
Инструмент Keyczar устарел и заменен на Tink. Это свойство больше не требуется для шифрования лексем доступа перед их сохранением в базе данных.
• Для ThingWorx 9.2.x и более ранних версий:
Если для параметра encryptTokenInDatabase установлено значение true, этот путь должен указывать на действительное расположение keyCzarKey. Измените путь, чтобы использовать каталог, в котором находится папка ThingworxPlatform\ssoSecurityConfig\symmetric.
|
• Для ThingWorx 9.3 и более поздних версий:
–
• Для ThingWorx 9.2.x и более ранних версий:
Для Windows: <диск>:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
Здесь <диск> указывает диск, на котором установлено приложение ThingWorx.
Для Linux: <полный путь>/ThingworxPlatform/ssoSecurityConfig/symmetric
|
dbType
|
Расположение в базе данных, в котором хранятся утверждения разрешений
|
---|---|
default
|
Создается база данных поднабора H2, определяемая путем, задаваемым параметром url. По умолчанию база данных размещается в каталоге, который является относительным для каталога Tomcat.
Если для dbType задано значение default, рекомендуется указывать полный путь для URL JDBC, а не только относительный путь.
Пример: jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
War-файлы H2 ThingWorx в файлах базы данных ThingworxStorage/database H2.
|
postgres
|
В таблице oauth_client_token в базе данных PostgreSQL ThingWorx.
|
mssql
|
В таблице oauth_client_token в базе данных MS SQL ThingWorx.
|
hana
|
В таблице oauth_client_token в базе данных SAP HANA ThingWorx.
|
Параметр
|
Описание
|
Значение
|
||
---|---|---|---|---|
keyStoreFilePath
|
Определяет абсолютное расположение пути к файлу KeyStore. В зависимости от среды, измените путь так, чтобы использовался каталог, в котором сохранен файл KeyStore.
|
Для Windows: <диск>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
Здесь <диск> указывает диск, на котором установлено приложение ThingWorx.
Для Linux: <полный путь>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
Заданный пароль KeyStore.
|
-
|
||
keyStoreKey
|
Определяет ключ по умолчанию.
|
-
|
||
keyStoreKeyPass
|
Определяет пароль для доступа к закрытым ключам.
|
-
|
|
Настройки AuthorizationServersSettings могут содержать информацию для нескольких серверов авторизации. Каждый сервер определяется уникальным идентификатором в файле sso-settings.json.
|
Параметр
|
Описание
|
Значение
|
||
---|---|---|---|---|
<AuthorizationServerId1>.clientId
|
Указывает идентификатор клиента, используемый при получении лексем доступа от сервера авторизации.
|
-
|
||
<AuthorizationServerId1>.clientSecret
|
Определяет идентификационные данные клиента, которые используются для аутентификации на сервере авторизации.
Задайте полностью определенное значение URL-адреса DNS-сервера в сети.
|
-
|
||
<AuthorizationServerId1>.authorizeUri
|
Определяет URI, по которому должен перенаправляться пользователь для авторизации лексемы доступа.
|
• PingFederate в качестве CAS:
https://<Наименование хост-компьютера PingFederate>:<номер-порта-PingFederate>/as/authorization.oauth2
• Azure AD в качестве CAS: см. раздел Update the ThingWorx Configuration Files (Обновление файлов конфигурации ThingWorx) в документации по авторизации AD Azure (на английском языке).
• AD FS в качестве CAS: см. раздел Update the ThingWorx Configuration Files (Обновление файлов конфигурации ThingWorx) в документации по авторизации AD FS (на английском языке).
|
||
<AuthorizationServerId1>.tokenUri
|
Определяет URI, используемый для получения лексемы доступа OAuth2.
Задайте полностью определенное значение URL-адреса DNS-сервера в сети.
|
https://<Наименование хост-компьютера PingFederate>:<номер-порта-PingFederate>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
Определяет схему, используемую для аутентификации клиента. Допустимые значения:
• form
• header
• query
• нет
|
form
|