|
El usuario debe asegurarse de editar el valor de cada parámetro según sus requisitos. La implementación puede variar en función de varios factores, como la ubicación donde se aloja ThingWorx, las directivas de seguridad de la organización y el CAS de la federación. Utilice la información de las siguientes tablas como guía para definir los valores de los distintos parámetros.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
clientBaseUrl
|
Permite especificar la URL de la instancia de servidor de ThingWorx.
Defínalo en el nombre de dominio completo (FQDN) del servidor de ThingWorx.
Si se ha configurado ThingWorx para que funcione en un entorno de alta disponibilidad (HA), especifique el host y el puerto del equilibrador de carga.
|
http://<FQDN-ThingWorx>:<port-number>/Thingworx
O bien
Para ThingWorx Flow, https://<nombre de host de Nginx de ThingWorx Flow>:<número de puerto de Nginx de ThingWorx Flow>/Thingworx
O bien
En un entorno de alta disponibilidad, https://<nombre de host del equilibrador de carga>:<número de puerto del equilibrador de carga>/Thingworx
|
||
idpMetadataFilePath
|
Permite especificar la ubicación de la ruta de fichero absoluta del fichero de metadatos de IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
Permite especificar el ID de entidad de la conexión del proveedor de servicios.
• PingFederate como CAS: utilice el ID exclusivo elegido al configurar la conexión del proveedor de servicios.
• Azure AD como CAS: utilice Identifier (Entitity ID) que se ha definido al configurar las opciones de configuración básicas de SAML.
• AD FS como CAS: utilice el valor de Relying party trust identifier que se ha definido al configurar las opciones de terceros de confianza.
|
—
|
||
metadataEntityBaseUrl
|
Permite especificar el nombre de dominio completo del servidor de ThingWorx.
Si se ha configurado ThingWorx para que funcione en un entorno de alta disponibilidad (HA), especifique el host y el puerto del equilibrador de carga.
|
http://<FQDN-ThingWorx>:<port-number>/Thingworx
O bien
Para ThingWorx Flow, https://<nombre de host de Nginx de ThingWorx Flow>:<número de puerto de Nginx de ThingWorx Flow>/Thingworx
O bien
En un entorno de alta disponibilidad, https://<nombre de host del equilibrador de carga>:<número de puerto del equilibrador de carga>/Thingworx
|
||
webSSOProfileConsumerResponseSkew
|
Permite especificar la tolerancia de desfase de respuesta del consumidor de aserción de SAML 2.0 Web SSO.
Al definir este valor, se debe tener en cuenta los requisitos de seguridad del usuario, así como la latencia de la red empresarial.
Esta configuración se utiliza para establecer la cantidad de tiempo (en segundos) de que dispone el servicio de autenticación centralizada (CAS) para devolver a ThingWorx una respuesta de solicitud de conexión. Si la respuesta de solicitud de conexión tarda más de lo definido en este valor, el intento de conexión falla.
La tolerancia de desfase es la desviación en la validez de respuesta que el destinatario permite debido a las supuestas diferencias entre los relojes de los sistemas. Se recomienda minimizar los efectos del desfase asegurándose de que los relojes de cada sistema estén sincronizados correctamente.
|
300
|
||
webSSOProfileConsumerReleaseDOM
|
Permite determinar si la estructura de seguridad mantiene la aserción de SAML después de completarse la autenticación.
Si se define en falso, la aserción de SAML se mantiene después de completarse la autenticación.
|
verdadero
|
||
webSSOProfileResponseSkew
|
Permite especificar la tolerancia de desfase de respuesta del perfil de SAML 2.0 Web SSO.
Al definir este valor, se debe tener en cuenta los requisitos de seguridad del usuario, así como la latencia de la red empresarial.
La tolerancia de desfase es la desviación en la validez de respuesta que el destinatario permite debido a las supuestas diferencias entre los relojes de los sistemas. Se recomienda minimizar los efectos del desfase asegurándose de que los relojes de cada sistema estén sincronizados correctamente.
|
300
|
||
retriggerOnScopesRemoval
|
Permite especificar si la lista de ámbitos obligatorios ha cambiado y debe actualizarse.
Si el valor se define en verdadero, indica que se ha añadido un ámbito a la lista de ámbitos obligatorios o se ha quitado de ella.
Si el valor se define en falso, indica que se ha añadido un ámbito a la lista de ámbitos obligatorios.
|
verdadero
|
||
samlAssertionUserNameAttributeName
|
Permite especificar qué atributo de SAML tiene el valor en el que se almacenan los nombres de usuario de los usuarios de ThingWorx cuando estos inician sesión. Asegúrese de que el valor de este atributo en el proveedor de identidad esté en consonancia con los valores de nombre de usuario que se utilizarían para nombres de usuario de ThingWorx.
|
• PingFederate o Azure AD como CAS:
uid
• AD FS como CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||
samlAssertionMaxAuthenticationAge
|
Permite especificar la duración máxima (en segundos) de la aserción de SAML 2.0 antes de que venza. También permite especificar el tiempo de sesión máximo para una aserción de autenticación.
Defina el valor para que coincida con el valor del tiempo de espera de la sesión especificado en el proveedor de identidad. Este valor será diferente en función del IdP que se esté utilizando.
|
• PingFederate como CAS con IdP de LDAP (Windchill): 7200 (este es el valor por defecto)
• AD FS como IdP (con AD FS o PingFederate como CAS): 28800
• Azure AD como IdP (con Azure AD o PingFederate como CAS): 86400
|
||
ptcOperatorsGroupName
|
Opcional.
Defina este parámetro para configurar un grupo (tal como se define en IDP) para que forme parte del grupo de administradores ThingWorx automáticamente.
|
|||
administratorAlias
|
Opcional.
El nombre de usuario de administrador, tal como está configurado en CAS[IDP].
|
|||
administratorInternalName
|
Obligatorio si administratorAlias está definido.
El nombre de usuario del administrador tal como está configurado en ThingWorx.
|
Por ejemplo, Administrador.
|
||
samlGroupClaimName
|
Opcional.
Este parámetro solo es pertinente cuando se haya definido ptcOperatorsGroupName.
Introduzca el objeto IDP SAML Group Claim Name configurado en el CAS para completar la automatización de ese grupo en el autenticador de SSO de ThingWorx. Para obtener más información, consulte ThingworxSSOAuthenticator.
|
Ejemplos:
Para PingFederate CAS: grupo
Para CAS de ADFS: http://schemas.xmlsoap.org/claims/Group
Para CAS de AzureAD: http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
|
||
authnContextAsPassword
|
Opcional. En algunos casos poco frecuentes, IdP requiere que se coloque la siguiente aserción en la solicitud de 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> En esos casos, se debe definir esta propiedad.
|
falso
|
|
Si desea activar el autenticador de claves de aplicación cuando SSO está activado, se debe añadir la siguiente sección de configuración ApplicationKeySettings a la configuración de sso-settings.json en BasicSettings. Solo es obligatorio si desea utilizar caves de aplicación para la autenticación a través de solicitudes de API de REST. Las claves de aplicación pueden seguir utilizándose desde dispositivos Edge a través de WebSockets, independientemente de si se activa o desactiva esta configuración.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Parámetro
|
Descripción
|
Value
|
---|---|---|
dbType
|
Permite especificar el tipo de base de datos que se configura y se utiliza para la instalación de ThingWorx.
• Para utilizar la misma base de datos que se ha definido en el fichero platform-settings.json, se debe especificar el mismo tipo de base de datos y las mismas credenciales que se han definido en platform-settings.json.
|
postgres
|
mssql
|
||
driverClassName
|
Permite especificar el nombre de clase del controlador que se utiliza en el fichero platform-settings.json.
|
Para dbType definido en postgres, defina el parámetro en org.postgresql.Driver.
|
Para dbType definido en mssql, defina el parámetro en com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||
url
|
Permite especificar la URL a la ubicación de la base de datos para la instalación de ThingWorx.
|
Para dbType definido en postgres, defina el parámetro en jdbc:postgresql://<nombre de host>:<puerto>/thingworx.
|
Para dbType definido en mssql, defina el parámetro en jdbc:sqlserver://<nombre de host>:<puerto>;databaseName=thingworx;applicationName=Thingworx.
|
||
username
|
Permite especificar el nombre de usuario de la base de datos que el sistema utiliza para almacenar tokens de acceso. Debe coincidir con el nombre de usuario especificado en el fichero platform-settings.json.
|
—
|
password
|
Permite especificar la contraseña de la base de datos que el sistema utiliza para almacenar tokens de acceso. Debe coincidir con la contraseña especificada en el fichero platform-settings.json.
|
—
|
encryptTokenInDatabase
|
Se define en verdadero para cifrar el token de acceso antes de almacenarlo en la base de datos.
Si este valor se define en verdadero, se crea automáticamente un fichero private-keyset.cfg cuando se inicia ThingWorx y se almacena en la carpeta ssoSecurityConfig. Este fichero de conjunto de claves solo se crea una vez.
|
verdadero
|
dbType
|
Ubicación en la base de datos donde se almacenarán las aprobaciones de concesiones.
|
---|---|
postgres
|
En la tabla oauth_client_token de la base de datos PostgreSQL de ThingWorx.
|
mssql
|
En la tabla oauth_client_token de la base de datos MS SQL de ThingWorx.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
keyStoreFilePath
|
Permite especificar la ubicación de la ruta de fichero absoluta del keystore. Según el entorno, se debe modificar la ruta para utilizar el directorio donde se guarda el fichero del keystore.
|
Para Windows: <unidad>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
donde <unidad> indica la unidad en la que se ha instalado ThingWorx.
Para Linux: <ruta completa>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
Permite especificar la contraseña de keystore.
|
—
|
||
keyStoreKey
|
Permite especificar la clave por defecto.
|
—
|
||
keyStoreKeyPass
|
Permite especificar la contraseña que se utiliza para acceder a las claves privadas.
|
—
|
|
En la configuración de AuthorizationServersSettings se puede incluir información para más de un servidor de autorización. Cada servidor se identifica mediante un identificador exclusivo en el fichero sso-settings.json.
|
Parámetro
|
Descripción
|
Value
|
||
---|---|---|---|---|
<IDAutorizaciónServidor1>.clientId
|
Permite especificar el identificador de cliente que se debe utilizar al obtener tokens de acceso del servidor de autorización.
|
—
|
||
<IDAutorizaciónServidor1>.clientSecret
|
Permite especificar las credenciales de cliente que se utilizan para autenticar con el servidor de autorización.
Se debe definir en la URL de servidor de nombres de dominio completos en la red.
|
—
|
||
<IDAutorizaciónServidor1>.authorizeUri
|
Permite especificar el URI al que se redirigirá al usuario para autorizar un token de acceso.
|
• PingFederate como CAS:
https://<nombre-host-PingFederate>:<número-puerto-PingFederate>/as/authorization.oauth2
• Azure AD como CAS: consulte la sección Actualización de los ficheros de configuración de ThingWorx en la documentación de autorización de Azure AD.
• AD FS como CAS: consulte la sección Actualización de los ficheros de configuración de ThingWorx en la documentación de autorización de AD FS.
|
||
<IDAutorizaciónServidor1>.tokenUri
|
Permite especificar el URI que se debe utilizar para obtener un token de acceso de OAuth2.
Se debe definir en la URL de servidor de nombres de dominio completos en la red.
|
https://<nombre-host-PingFederate>:<número-puerto-PingFederate>/as/token.oauth2
|
||
<IDAutorizaciónServidor1>.clientAuthScheme
|
Permite especificar el esquema que se debe utilizar para autenticar el cliente. Los valores permitidos son los siguientes:
• formulario
• cabecera
• query
• ninguno
|
formulario
|
||
<IDAutorizaciónServidor1>.mandatoryScopes
|
Opcional para CAS que no sean AzureAD y ADFS. Este ámbito se añadirá automáticamente a cualquier objeto accessToken solicitado cuando se haya definido este parámetro.
|
Obligatorio para AzureAD como CAS. El valor obligatorio es "offline_access".
Obligatorio para ADFS: puede ser cualquier valor que no esté definido en la lista de ámbitos del servidor ADFS.
|