|
|
Убедитесь, что значение каждого параметра исправлено согласно вашим требованиям. Реализация может варьироваться в зависимости от нескольких факторов, таких как место размещения ThingWorx, политика безопасности организации и сервер авторизации для вашего объединения. Используйте информацию, приведенную в следующих таблицах, в качестве руководства при задании значений различных параметров.
|
|
Параметр
|
Описание
|
Значение
|
||
|---|---|---|---|---|
|
clientBaseUrl
|
Определяет URL-адрес экземпляра сервера ThingWorx.
Задайте полное доменное имя (FQDN) сервера ThingWorx.
При конфигурировании 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 для работы в среде высокой доступности (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.
|
||
|
ptcOperatorsGroupName
|
Необязательный.
Задайте этот параметр для автоматического конфигурирования группы (как определено в IDP) в составе группы администраторов ThingWorx
|
|||
|
administratorAlias
|
Необязательный.
Имя администратора в том виде, в котором оно сконфигурировано в CAS[IDP].
|
|||
|
administratorInternalName
|
Требуется, если определена опция administratorAlias.
Имя администратора в том виде, в котором оно сконфигурировано в ThingWorx.
|
Например, Administrator.
|
||
|
samlGroupClaimName
|
Необязательный.
Этот параметр применим только тогда, когда определено ptcOperatorsGroupName.
Введите значение IDP SAML Group Claim Name, сконфигурированное в CAS, для завершения автоматизации для этой группы в аутентификаторе SSO Thingworx. Дополнительные сведения см. в разделе ThingworxSSOAuthenticator.
|
Примеры:
Для PingFederate CAS: группа
Для ADFS CAS: http://schemas.xmlsoap.org/claims/Group
Для AzureAD CAS: http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
|
||
|
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.
|
postgres
|
|
mssql
|
||
|
driverClassName
|
Определяет имя класса драйвера, которое используется в файле platform-settings.json.
|
Если для dbType задано значение postgres, задайте org.postgresql.Driver.
|
|
Если для dbType задано значение mssql, задайте com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||
|
url
|
Определяет URL-адрес расположения базы данных для установки ThingWorx.
|
Если для dbType задано значение postgres, задайте jdbc:postgresql://<имя_хоста>:<порт>/thingworx.
|
|
Если для dbType задано значение mssql, задайте jdbc:sqlserver://<имя_хоста>:<порт>;databaseName=thingworx;applicationName=Thingworx=Thingworx.
|
||
|
username
|
Определяет имя пользователя для базы данных, которая используется системой для хранения маркеров доступа. Имя должно соответствовать имени пользователя, указанному в файле platform-settings.json.
|
-
|
|
password
|
Определяет пароль для базы данных, которая используется системой для хранения маркеров доступа. Пароль должен соответствовать паролю, указанному в файле platform-settings.json.
|
-
|
|
encryptTokenInDatabase
|
Установите значение истина, чтобы шифровать маркеры доступа перед сохранением в базе данных.
Если для этой опции задано значение true, файл private-keyset.cfg создается автоматически при запуске ThingWorx и сохраняется в папке ssoSecurityConfig. Этот файл набора ключей создается только один раз.
|
истина
|
|
dbType
|
Расположение в базе данных, в котором хранятся утверждения разрешений
|
|---|---|
|
postgres
|
В таблице oauth_client_token в базе данных PostgreSQL ThingWorx.
|
|
mssql
|
В таблице oauth_client_token в базе данных MS SQL 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
|
||
|
<AuthorizationServerId1>.mandatoryScopes
|
Необязательно для CAS, отличного от AzureAD и ADFS. Эта контекстная область будет автоматически добавлена к запрашиваемому значению accessToken при определении этого параметра.
|
Требуется для AzureAD в качестве CAS. Обязательное значение - "offline_access".
Требуется для ADFS - это может быть любое значение, которое не определено в списке контекстных областей на сервере ADFS.
|