|
Completare i passi correlati ad ThingWorx Flow se si utilizzano versioni precedenti di ThingWorx Flow 9.2. In ThingWorx Flow 9.2 i passi sono automatizzati. Se è installato ThingWorx Flow, è necessario arrestare tutti i servizi ThingWorx Foundation e ThingWorx Flow, compresi RabbitMQ e Nginx, prima di configurare il file sso-settings.json. Dopo avere configurato questo file, è necessario riavviare prima RabbitMQ e quindi tutti i servizi di ThingWorx Foundation e ThingWorx Flow, compreso Nginx.
|
|
Assicurarsi di modificare il valore di ogni parametro in base al requisito specifico. L'implementazione può variare e dipende da diversi fattori, ad esempio dalla posizione in cui è ospitato ThingWorx, dai criteri di protezione dell'organizzazione e dal CAS per l'ambiente federato in uso. Utilizzare le informazioni nelle tabelle riportate di seguito come guida per impostare i valori dei diversi parametri.
|
Parametro
|
Descrizione
|
Valore
|
||||
---|---|---|---|---|---|---|
clientBaseUrl
|
Specifica l'URL dell'istanza del server ThingWorx.
Impostare questo valore sul nome di dominio completo (FQDN) del server ThingWorx.
Se è installato ThingWorx Flow, è necessario specificare il nome host Nginx di ThingWorx Flow e il numero della porta Nginx di ThingWorx Flow nell'URL.
Se è stato configurato ThingWorx per operare in un ambiente a disponibilità elevata, specificare l'host e la porta del bilanciamento del carico.
|
http://<FQDN- ThingWorx>:<port-number>/Thingworx
OPPURE
Per ThingWorx Flow, https://<nome-host Nginx ThingWorx Flow>:<numero-porta Nginx ThingWorx Flow>/Thingworx
OPPURE
In un ambiente a disponibilità elevata https://<nome-host bilanciamento del carico>:<numero-porta bilanciamento del carico>/Thingworx
|
||||
idpMetadataFilePath
|
Specifica la posizione assoluta del percorso del file di metadati IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||||
metadataEntityId
|
Specifica l'ID dell'entità della connessione del provider di servizi.
• PingFederate come CAS: utilizzare l'ID univoco scelto durante la configurazione della connessione del provider di servizi.
• AD Azure AD come CAS: utilizzare il valore Identifier (Entitity ID) definito durante la configurazione delle impostazioni SAML di base.
• AD FS come CAS: utilizzare il valore Relying party trust identifier definito durante la configurazione delle impostazioni di attendibilità del componente
|
—
|
||||
metadataEntityBaseUrl
|
Specifica il nome di dominio completo del server ThingWorx.
Se è installato ThingWorx Flow, specificare l'URL Nginx di ThingWorx Flow.
Se è stato configurato ThingWorx per operare in un ambiente a disponibilità elevata, specificare l'host e la porta del bilanciamento del carico.
|
http://<FQDN- ThingWorx>:<port-number>/Thingworx
OPPURE
Per ThingWorx Flow, https://<nome-host Nginx ThingWorx Flow>:<numero-porta Nginx ThingWorx Flow>/Thingworx
OPPURE
In un ambiente a disponibilità elevata https://<nome-host bilanciamento del carico>:<numero-porta bilanciamento del carico>/Thingworx
|
||||
webSSOProfileConsumerResponseSkew
|
Specifica la tolleranza di deviazione della risposta degli utenti alla condizione SSO Web SAML 2.0.
Quando si imposta questo valore, considerare i propri requisiti di protezione, nonché la latenza nella rete aziendale.
Utilizzare questa impostazione per specificare la quantità di tempo (espressa in secondi) concessa per la restituzione di una risposta alla richiesta di accesso dal CAS ad ThingWorx. Se la risposta alla richiesta di accesso impiega più tempo di questo valore, il tentativo di accesso non riesce.
La tolleranza di deviazione è la deviazione in termini di validità di risposta che il destinatario consente tenendo conto delle differenze presunte tra gli orologi di sistema. La best practice prevede di ridurre al minimo gli effetti della deviazione assicurandosi che gli orologi di ciascun sistema coinvolto sia sincronizzato in modo preciso.
|
300
|
||||
webSSOProfileConsumerReleaseDOM
|
Determina se il framework di protezione mantiene la condizione SAML dopo il completamento dell'autenticazione.
Se il valore è impostato su false, la condizione SAML viene mantenuta dopo il completamento dell'autenticazione.
|
true
|
||||
webSSOProfileResponseSkew
|
Specifica la tolleranza di deviazione della risposta del profilo SSO Web SAML 2.0.
Quando si imposta questo valore, considerare i propri requisiti di protezione, nonché la latenza nella rete aziendale.
La tolleranza di deviazione è la deviazione in termini di validità di risposta che il destinatario consente tenendo conto delle differenze presunte tra gli orologi di sistema. La best practice prevede di ridurre al minimo gli effetti della deviazione assicurandosi che gli orologi di ciascun sistema coinvolto sia sincronizzato in modo preciso.
|
300
|
||||
retriggerOnScopesRemoval
|
Specifica se l'elenco degli ambiti richiesti è cambiato e deve essere aggiornato.
Se il valore è impostato su true, un ambito è stato aggiunto o rimosso dall'elenco degli ambiti richiesti.
Se il valore è impostato su false, un ambito è stato aggiunto all'elenco degli ambiti richiesti.
|
true
|
||||
samlAssertionUserNameAttributeName
|
Specifica quale attributo SAML contiene il valore che memorizza i nomi utente degli utenti ThingWorx quando eseguono l'accesso. Assicurarsi che il valore di questo attributo nel provider di identificativi sia allineato ai valori di nome utente che si utilizzerebbero per i nomi utente ThingWorx.
|
• PingFederate o Azure AD come CAS:
uid
• AD FS come CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||||
samlAssertionMaxAuthenticationAge
|
Specifica la durata massima (in secondi) della condizione SAML 2.0 prima della scadenza. Specifica inoltre la durata di sessione massima per una condizione di autenticazione.
Impostare il valore in modo che corrisponda al valore di timeout di sessione specificato nel provider di identificativi. Questo valore differisce in base al tipo di IdP in uso.
|
• PingFederate come CAS con IdP LDAP (Windchill): 7200 (valore di default)
• AD FS come IdP (con AD FS o PingFederate come CAS): 28800
• Azure AD come IdP (con Azure AD o PingFederate come CAS): 86400
|
||||
authnContextAsPassword
|
Facoltativo. In alcuni casi rari, l'IdP richiede di inserire la condizione successiva nella richiesta 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> In questi casi è necessario definire questa proprietà.
|
false
|
|
Se si desidera attivare l'autenticatore delle chiavi di accesso quando l'SSO è attivato, è necessario aggiungere la seguente sezione di configurazione ApplicationKeySettings alle impostazioni di sso-settings.json in BasicSettings. Questa operazione è necessaria solo se si desidera utilizzare le chiavi di accesso per l'autenticazione tramite richieste API REST. Le chiavi di accesso possono comunque essere utilizzate dai dispositivi edge tramite WebSocket, indipendentemente dal fatto che questa impostazione sia attivata o disattivata.
{
"BasicSettings": { ... }, "ApplicationKeySettings": { "enabled": true }, ... } |
Parametro
|
Descrizione
|
Valore
|
||
---|---|---|---|---|
dbType
|
Specifica il tipo di database configurato e utilizzato per l'installazione di ThingWorx.
• Per utilizzare lo stesso database impostato nel file platform-settings.json, specificare lo stesso tipo di database e le credenziali impostate in platform-settings.json.
• Per utilizzare un database dedicato per il token di autorizzazione, specificare il valore "default". Una volta configurato come "default", viene creato un nuovo database H2 dedicato.
|
default
|
||
H2
|
||||
postgres
|
||||
mssql
|
||||
hana
|
||||
driverClassName
|
Specifica il nome di classe driver utilizzato nel file platform-settings.json.
|
Per dbType impostato come default, impostare su org.h2.Driver.
|
||
Per dbType impostato come h2, impostare su org.h2.Driver.
|
||||
Per dbType impostato come postgres, impostare su org.postgresql.Driver.
|
||||
Per dbType impostato come mssql, impostare su com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||||
Per dbType impostato come hana, impostare su com.sap.db.jdbc.Driver
|
||||
url
|
Specifica l'URL della posizione del database dell'installazione di ThingWorx.
|
Per dbType impostato come default, impostare su jdbc:h2:\\<unità>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-oauth2-client-db.
|
||
Per dbType impostato come h2, questo parametro non è necessario.
|
||||
Per dbType impostato come postgres, impostare su jdbc:postgresql://<nomehost>:<porta>/thingworx.
|
||||
Per dbType impostato come mssql, impostare su jdbc:sqlserver://<nomehost>:<porta>;databaseName=thingworx;applicationName=Thingworx.
|
||||
Per dbType impostato come hana, impostare su jdbc:sap://<indirizzo_ip>:39041/?databaseName=thingworx¤tschema=TWADMIN.
|
||||
username
|
Specifica il nome utente per il database utilizzato dal sistema per memorizzare i token di accesso. Questo valore deve corrispondere al nome utente specificato nel file platform-settings.json.
|
—
|
||
password
|
Specifica la password per il database utilizzato dal sistema per memorizzare i token di accesso. Questo valore deve corrispondere alla password specificata nel file platform-settings.json.
|
—
|
||
encryptTokenInDatabase
|
Impostare su true per crittografare il token di accesso prima che venga reso persistente nel database.
• Per ThingWorx 9.3 e versioni successive:
Se questo valore è impostato su true, viene creato automaticamente un file private-keyset.cfg quando ThingWorx viene avviato e memorizzato nella cartella ssoSecurityConfig. Il file keyset viene creato una sola volta.
• Per ThingWorx 9.2.x e versioni precedenti:
Impostare keyczarKeyFolderPath su una posizione keyCzarKey valida.
|
true
|
||
keyczarKeyFolderPath
|
• Per ThingWorx 9.3 e versioni successive:
Lo strumento Keyczar è obsoleto ed è stato sostituito da Tink. Questa proprietà non è più necessaria per crittografare i token di accesso prima che vengano resi persistenti nel database.
• Per ThingWorx 9.2.x e versioni precedenti:
Se il valore del parametro encryptTokenInDatabase è impostato su true, questo percorso deve indirizzare a una posizione keyCzarKey valida. Modificare il percorso per utilizzare la directory in cui si trova la cartella ThingworxPlatform\ssoSecurityConfig\symmetric.
|
• Per ThingWorx 9.3 e versioni successive:
-
• Per ThingWorx 9.2.x e versioni precedenti:
In ambiente Windows: <unità>:\\ThingworxPlatform\\ssoSecurityConfig\\symmetric
dove <unità> specifica l'unità in cui è stato installato ThingWorx.
Per Linux: <percorso completo>/ThingworxPlatform/ssoSecurityConfig/symmetric
|
dbType
|
Posizione nel database in cui sono memorizzate le approvazioni delle concessioni
|
---|---|
default
|
Un database H2 di sottoinsieme viene creato come specificato dal percorso del parametro url. Per default, il database viene posizionato in una directory relativa alla directory Tomcat.
Se si imposta dbType come default, è consigliabile specificare il percorso completo dell'URL JDBC, non solo il percorso relativo.
Ad esempio: jdbc:h2:./ThingworxPlatform/ssoSecurityConfig/sso-oauth2-client-db
|
H2
|
File war H2 ThingWorx nei file di database H2 ThingworxStorage/database.
|
postgres
|
Nella tabella oauth_client_token nel database PostgreSQL di ThingWorx.
|
mssql
|
Nella tabella oauth_client_token nel database MS SQL di ThingWorx.
|
hana
|
Nella tabella oauth_client_token nel database SAP HANA di ThingWorx.
|
Parametro
|
Descrizione
|
Valore
|
||
---|---|---|---|---|
keyStoreFilePath
|
Specifica la posizione assoluta del percorso del file keystore. In base all'ambiente in uso modificare il percorso per utilizzare la directory in cui viene salvato il file keystore.
|
Per Windows: <unità>:\\ThingworxPlatform\\ssoSecurityConfig\\sso-keystore.jks
dove <unità> specifica l'unità in cui è stato installato ThingWorx.
Per Linux: <percorso completo>/ThingworxPlatform/ssoSecurityConfig/sso-keystore.jks
|
||
keyStoreStorePass
|
Specifica la password del file keystore.
|
—
|
||
keyStoreKey
|
Specifica la chiave di default.
|
—
|
||
keyStoreKeyPass
|
Specifica la password utilizzata per accedere alle chiavi private.
|
—
|
|
Le impostazioni AuthorizationServersSettings potrebbero includere informazioni relative a più di un server di autorizzazione. Ogni server è identificato da un identificatore univoco nel file sso-settings.json.
|
Parametro
|
Descrizione
|
Valore
|
||
---|---|---|---|---|
<AuthorizationServerId1>.clientId
|
Specifica l'identificatore client da utilizzare quando si ottengono i token di accesso dal server di autorizzazione.
|
—
|
||
<AuthorizationServerId1>.clientSecret
|
Specifica le credenziali del client utilizzate per l'autenticazione con il server di autorizzazione.
Impostare questo valore sull'URL del server DNS completo nella rete.
|
—
|
||
<AuthorizationServerId1>.authorizeUri
|
Specifica l'URI a cui l'utente deve essere reindirizzato per autorizzare un token di accesso.
|
• PingFederate come CAS:
https://<nome-host-PingFederate>:<numero-porta-PingFederate>/as/authorization.oauth2
• Azure AD come CAS: vedere l'argomento relativo all'aggiornamento dei file di configurazione ThingWorx nella documentazione di autorizzazione di Azure AD.
• AD FS come CAS: vedere l'argomento relativo all'aggiornamento dei file di configurazione ThingWorx nella documentazione di autorizzazione di AD FS.
|
||
<AuthorizationServerId1>.tokenUri
|
Specifica l'URI da utilizzare per ottenere un token di accesso OAuth2.
Impostare questo valore sull'URL del server DNS completo nella rete.
|
https://<nome-host-PingFederate>:<numero-porta-PingFederate>/as/token.oauth2
|
||
<AuthorizationServerId1>.clientAuthScheme
|
Specifica lo schema da utilizzare per autenticare il client. Di seguito sono riportati i valori consentiti.
• form
• header
• query
• none
|
form
|