|
Complete los pasos relacionados con ThingWorx Flow si se utilizan versiones anteriores a ThingWorx Flow 9.2. Los pasos se automatizan en ThingWorx Flow 9.2. Si se ha instalado ThingWorx Flow, se deben detener todos los servicios de ThingWorx Foundation y ThingWorx Flow, incluidos RabbitMQ y Nginx, antes de configurar el fichero sso-settings.json. Después de configurar este fichero, primero se debe reiniciar RabbitMQ y, a continuación, todos los servicios de ThingWorx Foundation y ThingWorx Flow, incluido Nginx.
|
|
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 instalado ThingWorx Flow, se debe especificar el nombre de host de Nginx de ThingWorx Flow y el número de puerto de Nginx de ThingWorx Flow en el URL.
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 instalado ThingWorx Flow, se debe especificar el URL de Nginx de ThingWorx Flow.
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
|
||||
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.
• Para utilizar una base de datos dedicada para el token de autorización, especifique el valor "por defecto". Una vez que se haya configurado el valor "por defecto", se crea una nueva base de datos H2 dedicada.
|
por defecto
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
Permite especificar el nombre de clase del controlador que se utiliza en el fichero platform-settings.json.
|
Para dbType definido en por defecto, defina el parámetro en org.h2.Driver.
|
||
Para dbType definido en h2, defina el parámetro en org.h2.Driver.
|
||||
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.
|
||||
Para dbType definido en hana, defina el parámetro en com.sap.db.jdbc.Driver.
|
||||
url
|
Permite especificar la URL a la ubicación de la base de datos para la instalación de ThingWorx.
|
Para dbType definido en por defecto, defina el parámetro en jdbc:h2:\\<unidad>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db.
|
||
Para dbType definido en h2, este parámetro no es obligatorio.
|
||||
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.
|
||||
Para dbType definido en hana, defina el parámetro en jdbc:sap://<dirección IP>:39041/?databaseName=thingworx¤tschema=TWADMIN.
|
||||
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.
• Para ThingWorx 9.3 y versiones posteriores:
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.
• Para ThingWorx 9.2. x y versiones anteriores:
Defina keyczarKeyFolderPath en una ubicación válida de keyCzarKey.
|
verdadero
|
||
keyczarKeyFolderPath
|
• Para ThingWorx 9.3 y versiones posteriores:
La herramienta Keyczar ha quedado obsoleta y se ha reemplazado por Tink. Esta propiedad ya no es necesaria para cifrar los tokens de acceso antes de que se conserven en la base de datos.
• Para ThingWorx 9.2. x y versiones anteriores:
Si el valor del parámetro encryptTokenInDatabase se define en verdadero, esta ruta debe señalar a una ubicación de keyCzarKey válida. Modifique la ruta para utilizar el directorio donde se encuentra la carpeta ThingworxPlatform\ssoSecurityConfig\symmetric.
|
• Para ThingWorx 9.3 y versiones posteriores:
–
• Para ThingWorx 9.2. x y versiones anteriores:
En Windows: <unidad>:\\ThingWorxPlatform\\ssoSecurityConfig\\symmetric
donde <unidad> indica la unidad en la que se ha instalado ThingWorx.
Para Linux: <ruta completa>/ThingworxPlatform/ssoSecurityConfig/symmetric
|
dbType
|
Ubicación en la base de datos donde se almacenarán las aprobaciones de concesiones.
|
---|---|
por defecto
|
Se crea una base de datos H2 de subconjunto, tal como se especifica en la ruta del parámetro url. Por defecto, la base de datos se coloca en un directorio relativo al directorio Tomcat.
Si dbType se define en por defecto, se recomienda especificar la ruta completa de la URL de JDBC y no solamente la ruta relativa.
Por ejemplo: jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
Ficheros WAR de H2 de ThingWorx en los ficheros de base de datos H2 ThingworxStorage/database.
|
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.
|
hana
|
En la tabla oauth_client_token de la base de datos SAP HANA 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
|