|
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 è 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
In un ambiente a disponibilità elevata https://<nome-host bilanciamento del carico>:<numero-porta bilanciamento del carico>/Thingworx
|
||
idpMetadataFilePath
|
Obbligatorio solo per l'autenticazione SAML. Specifica la posizione assoluta del percorso del file di metadati IdP.
|
/ThingworxPlatform/ssoSecurityConfig/sso-idp-metadata.xml
|
||
metadataEntityId
|
Obbligatorio solo per l'autenticazione SAML. 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.
• Microsoft Entra ID 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
|
Obbligatorio solo per l'autenticazione SAML. Specifica il nome di dominio completo del server ThingWorx.
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
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
|
Obbligatorio solo per l'autenticazione SAML. 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 Microsoft Entra ID come CAS:
uid
• AD FS come CAS:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
|
||
samlAssertionMaxAuthenticationAge
|
Obbligatorio solo per l'autenticazione SAML. 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
• Microsoft Entra ID come IdP (con Microsoft Entra ID o PingFederate come CAS): 86400
|
||
ptcOperatorsGroupName
|
Facoltativo.
Impostare questo parametro per configurare automaticamente un gruppo (in base alla definizione in IDP) come parte del gruppo di amministratori ThingWorx
|
|||
administratorAlias
|
Obbligatorio per l'autenticazione OIDC.
|
Nome utente dell'amministratore configurato in CAS[IDP].
|
||
administratorInternalName
|
Obbligatorio se administratorAlias è definito.
|
Nome utente dell'amministratore configurato in ThingWorx. Ad esempio, Amministratore.
|
||
samlGroupClaimName
|
Facoltativo, ma obbligatorio solo per l'autenticazione SAML.
Questo parametro è rilevante solo quando ptcOperatorsGroupName è definito.
Immettere il valore IDP SAML Group Claim Name configurato in CAS per completare l'automazione per tale gruppo nell'autenticatore SSO ThingWorx. Per ulteriori informazioni, vedere ThingworxSSOAuthenticator.
|
Esempi:
Per il CAS PingFederate: gruppo
Per il CAS ADFS: http://schemas.xmlsoap.org/claims/Group
Per il CAS Microsoft Entra ID: http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
|
||
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
|
||
authenticationType
|
Facoltativo. Il tipo di autenticazione: oidc/saml. Valore di default = saml
|
Non obbligatorio per PingFederate e ADFS (saml è l'impostazione di default)
Per Microsoft Entra ID-saml/oidc
Per Azure AD B2C e Atlas IAM - oidc
|
|
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.
|
postgres
|
mssql
|
||
driverClassName
|
Specifica il nome di classe driver utilizzato nel file platform-settings.json.
|
Per dbType impostato come postgres, impostare su org.postgresql.Driver.
|
Per dbType impostato come mssql, impostare su com.microsoft.sqlserver.jdbc.SQLServerDriver.
|
||
url
|
Specifica l'URL della posizione del database dell'installazione di ThingWorx.
|
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.
|
||
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.
|
true
|
dbType
|
Posizione nel database in cui sono memorizzate le approvazioni delle concessioni
|
---|---|
postgres
|
Nella tabella oauth_client_token nel database PostgreSQL di ThingWorx.
|
mssql
|
Nella tabella oauth_client_token nel database MS SQL 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
• Microsoft Entra ID come CAS: vedere l'argomento relativo all' aggiornamento dei file di configurazione ThingWorx nella documentazione di autorizzazione di Microsoft Entra ID.
• 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
|
||
<AuthorizationServerId1>.mandatoryScopes
|
Facoltativo per CAS diverso da Microsoft Entra ID e ADFS. Questo ambito viene aggiunto automaticamente ai token di accesso richiesti quando viene definito questo parametro.
|
Obbligatorio per Microsoft Entra ID come CAS. Il valore richiesto è "offline_access".
Obbligatorio per ADFS: può corrispondere a qualsiasi valore non definito nell'elenco degli ambiti sul server ADFS.
|
Parametro
|
Descrizione
|
Valore
|
---|---|---|
openIdConfigurationUri
|
Obbligatorio
Si tratta dell'URI per i metadati del server OpenID.
Viene generalmente pubblicato su un URL noto.
|
|
clientId
|
Specifica l'identificatore client da utilizzare quando si ottengono i token di accesso dal server di autorizzazione.
|
|
clientSecret
|
Specifica le credenziali del client utilizzate per l'autenticazione con il server di autorizzazione.
|
|
additionalScopes
|
Facoltativo
Stringa separata da virgole con ambiti aggiuntivi per l'autorizzazione oidc
|
|
assertionUserNameAttributeName
|
Specifica quale richiesta openId 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.
Per Azure AD B2C - Assicurarsi che il valore di questo attributo sia univoco tra tutti i provider di identificativi.
|
|
accessTokenClaimsValidation
|
Facoltativo
Specifica l'esistenza delle attestazioni per i token di accesso e la convalida del valore delle attestazioni.
L'input è una semplice stringa JSON in cui ogni proprietà è un nome di attestazione obbligatorio e il valore è il valore richiesto. Se non viene fornito alcun valore (stringa vuota), viene convalidata solo l'esistenza del nome di attestazione.
|
|
useAccessTokenClaims
|
Facoltativo
Specifica se recuperare le attestazioni dei token di accesso per la mappatura delle estensioni utente.
Impostare questa proprietà su true solo se:
• Il token di accesso contiene attestazioni necessarie per l'estensione utente che non sono presenti nel token openid.
• Per Azure AD B2C - Se si desidera recuperare le informazioni sui gruppi di utenti utilizzando AzureSettings.apiEndPoint.
|
True/False
|
authorizeUriAdditionalParameters
|
Facoltativo
Parametri aggiuntivi per l'autenticazione OIDC.
|
Parametro
|
Descrizione
|
Valore
|
||
---|---|---|---|---|
apiEndPoint
|
Facoltativo
Endpoint di Azure Graph
Obbligatorio solo per il recupero delle informazioni sui gruppi (se il token openid/di accesso non contiene attestazioni di gruppo)
|