Esempio: implementazione di SSO con PingFederate come server di autorizzazione centralizzata, AD FS come provider di identificativi, SCIM come metodo di provisioning utente e Windchill come server delle risorse
In questo esempio vengono illustrati i passi dettagliati per la configurazione di un ambiente in cui ThingWorx è configurato per il Single Sign-On con PingFederate come server di autenticazione centralizzata (CAS), Active Directory Federation Services (AD FS) come provider di identificativi (IdP) e Windchill come server delle risorse.
Nella tabella seguente sono visualizzate le applicazioni configurate insieme al relativo ruolo nell'esempio:
Ruolo
|
Applicazione
|
Provider di servizi
|
ThingWorx
|
Server di autenticazione centralizzata
|
PingFederate
|
Provider di identificativi
|
AD FS
|
Server delle risorse
|
Windchill
|
Nel diagramma seguente è visualizzata la configurazione illustrata in questo esempio:
Per una panoramica dell'implementazione di SSO che utilizza questa architettura, vedere il video disponibile nell'articolo
CS271789.
Prima di avviare l'implementazione di SSO, esaminare l'albero delle decisioni riportato di seguito, che evidenzia i punti decisionali chiave nel processo di distribuzione per ThingWorx Navigate e Windchill con PingFederate. Questo grafico illustra i percorsi consigliati in base alle best practice, all'usabilità e ai casi di utilizzo tradizionali.
| Esistono altre combinazioni di IdP e LDAP che non sono indicate in questo grafico. Ad esempio, è possibile utilizzare Microsoft Active Directory in un host Windows in combinazione con ThingWorx e Windchill su host Linux, ma questo scenario non è tipico o preferito. Per utilizzare il provider di servizi Shibboleth SP per semplificare l'SSO per Windchill, occorre installare la versione 11.0 M020 o versioni successive. |
Parte A: prerequisiti
1. Aggiornare i file hosts dei computer utilizzati nell'ambiente come descritto di seguito.
◦ Computer PingFederate - Aggiungere i computer AD FS, ThingWorx e PingFederate.
◦ Computer ThingWorx - Aggiungere i computer AD FS, ThingWorx e PingFederate.
◦ Computer Windchill - Aggiungere i computer ThingWorx e PingFederate.
2. Installare
ThingWorx. Per ulteriori informazioni, vedere la versione di
ThingWorx Help Center appropriata.
Arrestare il server ThingWorx.
| Assicurarsi di aggiornare e configurare Tomcat per consentire a ThingWorx di operare in ambienti tra domini. Per ulteriori informazioni, vedere questo articolo. |
4. Assicurarsi di avere configurato
Windchill. Per ulteriori informazioni, vedere la versione di
Windchill Help Center appropriata.
5. Impostare e configurare AD FS e assicurarsi di disporre dei valori di attributo e dei file riportati di seguito.
◦ uid
◦ email
◦ group
◦ File di metadati
◦ Certificati di firma
Parte B: configurare manualmente l'autenticazione per AD FS
Passo 1: creare il certificato SSL globale di PingFederate
1. Accedere a PingFederate come amministratore. Cercare SSL Server Certificates e aprire i risultati della ricerca.
2. Fare clic su Create New per creare il certificato SSL globale ed eseguire le operazioni descritte di seguito.
a. Nel campo Common Name specificare l'FQDN del computer PingFederate.
b. Immettere altri dettagli nella pagina e fare clic su Next.
c. Assicurarsi che le caselle di controllo riportate di seguito siano selezionate e fare clic su Save.
d. Fare clic su SSL Server Certificates.
e. Per il certificato SSL creato selezionare Activate Default for Runtime Server e Activate Default for Admin Console nell'elenco Select Action. Fare clic su Save.
Questo certificato SSL è contrassegnato come default per la console di amministrazione e il server di runtime.
3. Per il certificato localhost eseguire le operazioni descritte di seguito.
a. Nell'elenco Select Action selezionare Deactivate for Runtime Server e Deactivate for Admin Console.
b. Eliminare il certificato localhost e fare clic su Save.
Passo 2: creare il contratto del provider di servizi
1. In PingFederate, cercare Policy Contract e aprire il risultato della ricerca.
2. Fare clic su Create New Contracts ed eseguire le operazioni descritte di seguito.
a. Nel campo Contract Info immettere il nome di un contratto, ad esempio SPContract, e fare clic su Next.
b. In Contract Attributes fare clic su Add per ciascuno degli attributi seguenti per estenderne il contratto:
▪ uid
▪ email
▪ group
Per default, l'attributo subject è presente.
c. Fare clic su Next e, nella pagina Summary, fare clic su Save.
d. Nella pagina Authentication Policy Contracts fare clic su Save.
Passaggio 3: scaricare il file AD FS FederationMetadata.xml
1. Nel browser del computer AD FS immettere il seguente URL per scaricare il file di metadati dell'ambiente federato:
https://Host_ADSF.Dominio_ADFS/FederationMetadata/2007-06/FederationMetadata.xml
2. Copiare il file scaricato sul computer PingFederate.
Passo 4: creare la connessione IdP di PingFederate
A) Specificare le informazioni generali per creare una connessione IdP
1. In PingFederate, cercare IdP Connections e aprire i risultati della ricerca. Fare clic su Create Connection.
2. Nella scheda Connection Type selezionare la casella di controllo BROWSER SSO Profiles e fare clic su Next.
3. Nella scheda Connection Options selezionare le caselle di controllo BROWSER SSO e OAUTH ATTRIBUTE MAPPING e fare clic su Next.
4. Nella scheda Import Metadata selezionare File, fare clic su Choose File per selezionare il file FederationMetadata.xml, quindi fare clic su Next.
5. Nella scheda Metadata Summary fare clic su Next.
6. La scheda General Info viene precompletata con i dati. Se si desidera, è possibile modificare il nome in CONNECTION NAME. Verificare il resto delle informazioni e fare clic su Next.
7. Nella scheda Browser SSO fare clic su Configure Browser SSO. Viene visualizzata la pagina Browser SSO, in cui è necessario specificare le impostazioni per il Single Sign-On per il browser.
B) Configurare le impostazioni SSO del browser
1. Nella scheda SAML Profiles della pagina Browser SSO selezionare le opzioni riportate di seguito e fare clic su Next:
▪ IDP-INITIATED SSO
▪ SP-INITIATED SSO
2. Nella scheda User-Session Creation fare clic su Configure User-Session Creation. Viene visualizzata la pagina User-Session Creation, in cui è necessario specificare le impostazioni per configurare la creazione di una sessione utente.
C) Configurare le impostazioni per la creazione di una sessione utente
1. Nella scheda Identity Mapping accettare le impostazioni di default e fare clic su Next.
2. Nella scheda Attribute Contract verificare gli attributi inseriti automaticamente e fare clic su Next.
3. Nella scheda Target Session Mapping fare clic su Map New Authentication Policy. Viene visualizzata la pagina Authentication Policy Mapping, in cui è necessario specificare le impostazioni per la mappatura delle regole di autenticazione.
D) Configurare le impostazioni per la mappatura delle regole di autenticazione
1. Nell'elenco
Authentication Policy Contract selezionare il contratto creato in
Parte B - Passo 2, ovvero
SPContract. Verificare che tutti gli attributi siano visualizzati e fare clic su
Next.
2. Nella scheda Attribute Retrieval accettare le impostazioni di default e fare clic su Next.
3. Nella scheda Contract Fulfillment selezionare i valori seguenti per i contratti di regole di autenticazione email, group, subject e uid:
▪ Nell'elenco Source selezionare Assertion.
▪ Nell'elenco Value selezionare la voce corrispondente.
Fare clic su Next.
4. Nella scheda Issuance Criteria fare clic su Next.
5. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina User-Session Creation, in cui è necessario esaminare le impostazioni di configurazione per la creazione di una sessione utente.
E) Esaminare le impostazioni di configurazione per la creazione di una sessione utente
1. Nella scheda Target Session Mapping della pagina User-Session Creation sono visualizzate le informazioni selezionate durante la mappatura di una nuova regola di autenticazione. Fare clic su Next.
2. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Browser SSO.
3. Nella scheda User-Session Creation della pagina Browser SSO sono visualizzate le informazioni immesse durante la configurazione della creazione di una sessione utente. Fare clic su Next.
4. Nella scheda OAuth Attribute Mapping selezionare Map Directly Into Persistent Grant e Configure OAuth Attribute Mapping, quindi eseguire le operazioni descritte di seguito.
a. Nella scheda Data Store fare clic su Next.
b. Nella scheda Contract Fulfilment, per USER_KEY e USER_NAME, selezionare Assertion in Source e in Value specificare l'attributo del nome di ADFS, quindi fare clic su Next.
c. Nella scheda Issuance Criteria fare clic su Next.
5. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Nella pagina OAuth Attribute Mapping Configuration fare clic su Next.
6. Nella scheda Protocol Settings fare clic su Configure Protocol Settings. Viene visualizzata la pagina Protocol Settings, in cui è necessario specificare le impostazioni del protocollo.
F) Configurare ed esaminare le impostazioni del protocollo
1. Nella scheda SSO Service URLs fare clic su Next.
2. Nella scheda Allowable SAML Bindings eseguire le operazioni descritte di seguito e fare clic su Next.
a. Selezionare le caselle di controllo riportate di seguito:
▪ POST
▪ REDIRECT
b. Deselezionare le caselle di controllo riportate di seguito:
▪ ARTIFACT
▪ POST
3. Ignorare le impostazioni nella scheda Overrides e fare clic su Next.
4. Nella scheda Signature Policy fare clic su SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS, selezionare le due caselle di controllo riportate sotto l'opzione, quindi fare clic su Next.
5. Nella scheda Encryption Policy fare clic su ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES, selezionare la casella di controllo THE ENTIRE ASSERTION, quindi fare clic su Next.
6. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Browser SSO.
7. Nella scheda Protocol Settings della pagina Browser SSO sono visualizzate le informazioni selezionate durante la configurazione delle impostazioni del protocollo. Fare clic su Next.
8. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina IdP Connection.
9. Nella scheda Browser SSO della pagina IdP Connection fare clic su Next.
10. Nella scheda Credentials fare clic su Configure Credentials. Viene visualizzata la pagina Credentials, in cui è necessario specificare le impostazioni per la configurazione delle credenziali.
G) Configurare le credenziali
1. Nella scheda Digital Signature Settings fare clic su Manage Certificates.
2. Per creare un certificato di firma, fare clic su Create New, specificare i valori riportati di seguito, quindi fare clic su Next:
▪ COMMON NAME
▪ ORGANIZATION
▪ COUNTRY
▪ VALIDITY (DAYS)—365
▪ KEY ALGORITHM—RSA
▪ KEY SIZE (BITS)—2048
▪ SIGNATURE ALGORITHM—RSA SHA256
3. Esaminare le informazioni nella scheda Summary. Se sono corrette, fare clic su Save, quindi su Done.
4. Nella scheda Digital Signature Settings, per il certificato di firma specificato in SIGNING CERTIFICATE creato, selezionare la casella di controllo INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT, quindi fare clic su Next.
Si tratta del certificato a livello dell'applicazione utilizzato per firmare digitalmente la richiesta di PingFederate all'IdP.
5. Nella scheda Signature Verification Settings fare clic su Manage Signature Verification Settings.
a. Nella scheda Trust Model selezionare UNANCHORED e fare clic su Next.
b. In Signature Verification Certificate verificare che sia visualizzato il certificato di firma dell'IdP e fare clic su Next.
Si tratta del certificato a livello dell'applicazione utilizzato per verificare la firma delle richieste dell'IdP a PingFederate. È stato importato automaticamente in PingFederate quando si è importato il file metadata.xml dall'IdP.
c. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done.
d. Nella scheda Signature Verification Settings fare clic su Next.
e. Nella scheda Select Decryption Keys selezionare il certificato di PingFederate e fare clic su Next.
f. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done.
g. Nella pagina Credentials fare clic su Next.
H) Attivare la connessione IdP
Nella pagina Activation & Summary assicurarsi che l'opzione SSO Application Endpoint sia selezionata e fare clic su Save.
La connessione IdP viene ora creata e attivata.
I) Verificare la connessione IdP
Fare clic sulla connessione IdP creata, copiare l'URL specificato per SSO Application Endpoint, incollarlo in un browser, quindi verificare che venga reindirizzato all'IdP. Questo URL di PingFederate deve essere reindirizzato ad AD FS. Viene visualizzata una pagina simile a quella riportata di seguito, che include un messaggio di errore:
Parte C: configurare il relying party di AD FS
Passo 1: esportare il file XML di metadati di PingFederate
1. In PingFederate selezionare Service Provider e in IDP Connections fare clic su Manage All.
2. Per la connessione IdP fare clic su Export Metadata nell'elenco Select Action.
3. Nella pagina Metadata Signing fare clic su Next.
4. Nella pagina Export & Summary fare clic su Export per scaricare il file di metadati nella cartella Downloads sul computer, quindi fare clic su Done.
5. Copiare il file XML di metadati sul computer AD FS.
Passo 2: aggiungere il relying party in AD FS
1. Accedere al server AD FS e aprire Server Manager.
2. Selezionare > .
3. In AD FS fare clic con il pulsante destro del mouse su Relying Party Trusts e scegliere Add Relying Party Trust. In questo modo AD FS sa che la connessione proviene da PingFederate ed è attendibile.
4. Nella finestra Add Relying Party Trust Wizard eseguire le operazioni descritte di seguito.
a. Fare clic su Start.
b. Nella schermata successiva fare clic su Import data about the relying party from a file.
c. Fare clic su Browse per selezionare il percorso del file Metadata.xml copiato da PingFederate per creare un relying party in AD FS, quindi fare clic su Next.
d. Specificare un nome in Display name e fare clic su Next.
Prendere nota di questo nome in quanto sarà necessario in un secondo momento.
e. Fare clic su Next nelle finestre riportate di seguito fino a visualizzare la schermata Finish. Fare clic su Close.
La voce corrente viene aggiunta all'elenco Relying Party Trusts.
Viene visualizzata anche la finestra riportata di seguito, che potrebbe essere nascosta dietro la finestra corrente:
5. Per mappare gli attributi di AD FS ad Active Directory, attenersi alla procedura descritta di seguito.
a. Nella finestra Edit Claim Issuance Policy for <Nome trust relying party> fare clic su Add Rule e quindi su Next.
b. Specificare un nome in Claim rule name e impostare Attribute store su Active Directory.
c. Nella tabella Mapping of LDAP attributes to outgoing claim types selezionare i valori dagli elenchi per mappare gli attributi di AD FS agli attributi di Active Directory:
| Se non si mappano questi attributi correttamente, il Single Sign-On non funziona. |
Display-Name | Name |
SAM-Account-Name | Name ID |
E-Mail-Addresses | E-Mail Address |
Is-Member-Of-DL | Group |
d. Fare clic su Finish e quindi su OK.
Passo 3: configurare AD FS in modo da crittografare il messaggio completo e l'asserzione
1. Nel computer AD FS, aprire Windows PowerShell come amministratore.
2. Eseguire il comando seguente sul computer AD FS affinché la comunicazione funzioni:
Set-ADFSRelyingPartyTrust -TargetName <Nome trust relying party> -SamlResponseSignature "MessageAndAssertion",
dove <Nome trust relying party> è il nome del trust del relying party creato e annotato al passo 2 riportato sopra.
Questo comando configura la firma di risposta SAML tramite Windows PowerShell.
Parte D: verificare l'URL dell'endpoint della connessione IdP
1. In PingFederate copiare l'URL specificato per SSO Application Endpoint e incollarlo in una finestra in incognito.
2. Accedere utilizzando il nome di dominio e l'utente amministratore creati per AD FS.
Viene visualizzato il messaggio riportato di seguito:
Parte E: creare le connessioni del provider di servizi PingFederate per ThingWorx
Passo 1: creare il certificato di firma di ThingWorx
1. Nella cartella <Cartella installazione ThingWorx>/ThingworxPlatform creare la cartella ssoSecurityConfig.
2. Creare un keystore di tipo JKS e assegnarvi il nome sso-keystore.jks come descritto di seguito.
▪ Generare una coppia di chiavi.
▪ Specificare il nome comune (CN) del certificato come ThingWorx.
3. Esportare thingworx.cer da sso-keystore.jks nella cartella ssoSecurityConfig folder.
Passo 2: configurare la connessione del provider di servizi per ThingWorx
A) Specificare le informazioni generali per creare una connessione del provider di servizi
1. Nella pagina principale di PingFederate, cercare il gruppo SP Connections e fare clic su Create Connection. Viene visualizzata la pagina SP Connection.
2. Nella scheda Connection Template selezionare DO NOT USE A TEMPLATE FOR THIS CONNECTION e fare clic su Next.
3. Nella scheda Connection Type selezionare le caselle di controllo Browser SSO Profiles e SAML 2.0 Protocol e fare clic su Next.
4. Nella scheda Connection Options selezionare la casella di controllo BROWSER SSO e fare clic su Next.
5. Nella scheda Import Metadata selezionare None e fare clic su Next.
6. Nella scheda General Info eseguire le operazioni descritte di seguito.
a. Nel campo Partner's Entity ID (Connection ID) specificare un valore univoco, ad esempio TWX_SP.
Prendere nota di questo valore in quanto sarà necessario per configurare il file sso-settings.json di ThingWorx.
b. Nel campo Connection Name specificare un nome descrittivo, ad esempio TWX_SP.
Si tratta del nome che verrà visualizzato nell'elenco delle connessioni SP di PingFederate.
c. Nel campo Base URL digitare l'URL del server su cui è stato distribuito ThingWorx e fare clic su Next. Ad esempio: https://{ThingWorxHost_FQDN}:8443.
7. Nella scheda Browser SSO fare clic su Configure Browser SSO. Viene visualizzata la pagina Browser SSO, in cui è necessario specificare le impostazioni per il Single Sign-On per il browser.
B) Configurare le impostazioni SSO del browser
1. Nella scheda SAML Profiles della pagina Browser SSO, nella sezione Single Sign-On (SSO) Profiles, selezionare le opzioni riportate di seguito e fare clic su Next:
▪ IDP-INITIATED SSO
▪ SP-INITIATED SSO
Non selezionare alcuna opzione nella colonna Single Logout (SLO) Profiles.
2. Nella scheda Assertion Lifetime impostare Minutes Before su 60 e Minutes After su 480. Fare clic su Next.
3. Nella scheda Assertion Creation fare clic su Configure Assertion Creation. Viene visualizzata la pagina Assertion Creation, in cui è necessario specificare le impostazioni per la creazione di un'asserzione.
C) Configurare le impostazioni per la creazione di un'asserzione
1. Nella scheda Identity Mapping della pagina Assertion Creation fare clic su Standard e quindi su Next.
2. Nella scheda Attribute Contract, in Attribute Contract, digitare SAML_Subject e selezionare il valore in Subject Name Format.
3. Nel campo Extend the Contract della scheda Attribute Contract configurare le impostazioni riportate di seguito e fare clic su Add dopo ogni valore:
Extend the Contract | Formato del nome dell'attributo |
---|
group | urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified |
uid | urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified |
email | urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified |
Fare clic su Next.
4. Nella scheda Authentication Source Mapping fare clic su Map New Authentication Policy. Viene visualizzata la pagina Authentication Policy Mapping, in cui è necessario specificare le impostazioni per la mappatura delle regole di autenticazione.
D) Configurare le impostazioni per la mappatura delle regole di autenticazione
1. Nell'elenco
Authentication Policy Contract della pagina
Authentication Policy Mapping selezionare il contratto di attributi creato in
Parte B - Passo 2, ovvero
SPContract. Fare clic su
Next.
2. Nella scheda Mapping Method fare clic su USE ONLY THE AUTHENTICATION POLICY CONTRACT VALUES IN THE SAML ASSERTION e quindi su Next.
3. Nella scheda Attribute Contract Fulfillment selezionare i valori seguenti per i contratti di regole di autenticazione email, group, SAML_SUBJECT e uid:
▪ Nell'elenco Source selezionare Authentication Policy Contract.
▪ Nell'elenco Value selezionare la voce corrispondente.
Fare clic su Next.
4. Ignorare le impostazioni nella scheda Issuance Criteria e fare clic su Next.
5. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Assertion Creation, in cui è necessario esaminare le impostazioni di configurazione per la creazione di un'asserzione.
E) Esaminare le impostazioni di configurazione per la creazione di un'asserzione
1. Nella scheda Authentication Source Mapping della pagina Assertion Creation sono visualizzate le informazioni selezionate durante la mappatura di una nuova regola di autenticazione. Fare clic su Next.
2. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Browser SSO.
3. Nella scheda Assertion Creation della pagina Browser SSO sono visualizzate le informazioni immesse durante la configurazione della creazione di un'asserzione. Fare clic su Next.
4. Nella scheda Protocol Settings fare clic su Configure Protocol Settings. Viene visualizzata la pagina Protocol Settings, in cui è necessario specificare le impostazioni del protocollo.
F) Configurare ed esaminare le impostazioni del protocollo
1. Nella scheda Assertion Consumer Service URL della pagina Protocol Settings eseguire le operazioni descritte di seguito.
a. Selezionare la casella di controllo Default.
b. Nel campo Index digitare 0.
c. Nell'elenco Binding selezionare POST.
d. Nel campo Endpoint URL digitare /Thingworx/saml/SSO.
e. Fare clic su Add e quindi su Next.
2. Nella scheda Allowable SAML Bindings selezionare la casella di controllo POST e fare clic su Next.
3. Nella scheda Signature Policy selezionare le opzioni riportate di seguito e fare clic su Next:
▪ REQUIRE AUTHN REQUESTS TO BE SIGNED WHEN RECEIVED VIA THE POST OR REDIRECT BINDINGS
▪ ALWAYS SIGN THE SAML ASSERTION
4. Nella scheda Encryption Policy selezionare The Entire Assertion e fare clic su Next.
5. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Browser SSO.
6. Nella scheda Protocol Settings della pagina Browser SSO sono visualizzate le informazioni selezionate durante la configurazione delle impostazioni del protocollo. Fare clic su Next.
7. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina SP Connection.
8. Nella scheda Browser SSO della pagina SP Connection fare clic su Next.
9. Nella scheda Credentials fare clic su Configure Credentials. Viene visualizzata la pagina Credentials, in cui è necessario specificare le impostazioni per la configurazione delle credenziali.
G) Configurare le credenziali
1. Nella scheda Digital Signature Settings eseguire le operazioni descritte di seguito.
a. Nell'elenco SIGNING CERTIFICATE selezionare il certificato.
b. Selezionare la casella di controllo INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT.
Fare clic su Next.
2. Nella scheda Signature Verification Settings fare clic su Save Draft.
3. Fare clic su Manage All e quindi su Save.
H) Configurare le impostazioni per la verifica della firma e importare e crittografare il certificato
1. Per ripristinare la configurazione salvata, fare clic su Identity Provider e in SP Connections fare clic su Manage All.
2. Fare clic sulla connessione SP, TWX_SP, che si è salvata come bozza, quindi fare clic su Manage Signature Verification Settings.
3. Nella scheda Trust Model selezionare UNANCHORED e fare clic su Next.
Nell'elenco della scheda Signature Verification Certificate non è disponibile alcun certificato.
4. Fare clic su Manage Certificates e quindi su Import.
5. Nella scheda
Import Certificate fare clic su
Choose file per selezionare il file di certificato creato in
Parte E - Passo 1, quindi fare clic su
Next.
6. Nella scheda Riepilogo assicurarsi che la casella di controllo MAKE THIS THE ACTIVE CERTIFICATE sia selezionata.
7. Esaminare le informazioni nella pagina Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Certificate Management.
8. Fare clic su Done. Viene visualizzata la pagina Signature Verification.
9. Nella scheda Signature Verification Certificate è visualizzato il certificato importato. Fare clic su Next.
10. Nella pagina Summary fare clic su Done.
11. Nella scheda Signature Verification Settings fare clic su Next.
J) Crittografare il certificato
1. Nella scheda Select XML Encryption Certificate eseguire le operazioni riportate di seguito e fare clic su Next.
a. Selezionare AES-128 per Block Encryption Algorithm.
b. Selezionare RSA-OAEP per Key Transport Algorithm.
c. Selezionare il certificato nell'elenco.
2. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done. Viene visualizzata la pagina Credentials, in cui è necessario esaminare le impostazioni per la verifica della firma.
K) Attivare la connessione SP
1. Nella scheda Credentials della pagina SP Connection sono visualizzate le informazioni selezionate durante la configurazione delle credenziali. Fare clic su Next.
2. Nella pagina Activation & Summary, in Connection Status, assicurarsi che la connessione sia attivata.
3. Fare clic su Save.
La connessione viene visualizzata nel gruppo SP Connections della pagina Identity Provider.
Passo 3: esportare i metadati della connessione del provider di servizi ThingWorx e il certificato pubblico di PingFederate
A) Esportare i metadati da PingFederate per ThingWorx
1. In PingFederate, in SP Connections, fare clic su Manage All.
2. Per la connessione SP creata in
Parte E - Passo 2, ovvero
TWX_SP, nell'elenco
Select Action fare clic su
Export Metadata.
3. Nella scheda Metadata Signing fare clic su Next.
4. Nella scheda Export & Summary fare clic su Export.
Il file viene scaricato.
5. Fare clic su Done.
B) Esportare il certificato pubblico di PingFederate
1. In PingFederate, in SP Connections, fare clic sulla connessione SP selezionata, TWX_SP.
2. Nella sezione Credentials della scheda Activation & Summary fare clic su Digital Signature Settings ed eseguire le operazioni descritte di seguito.
3. Fare clic su Manage Certificates.
4. Per il certificato fare clic su Export nell'elenco Select Action.
5. Selezionare la casella di controllo CERTIFICATE ONLY e fare clic su Export.
Il file viene scaricato. Rinominare il file e assegnarvi un nome appropriato, ad esempio pingfedsigning.crt.
6. Importare il file del certificato pubblico di
PingFederate nel keystore
sso-keystore.jks creato in
Parte E - Passo 1.
Passo 3: esportare i metadati della connessione del provider di servizi ThingWorx e il certificato pubblico di PingFederate
A) Esportare i metadati da PingFederate per ThingWorx
1. In PingFederate, in SP Connections, fare clic su Manage All.
2. Per la connessione SP creata in
Parte E - Passo 2, ovvero
TWX_SP, nell'elenco
Select Action fare clic su
Export Metadata.
3. Nella scheda Metadata Signing fare clic su Next.
4. Nella scheda Export & Summary fare clic su Export.
Il file viene scaricato.
5. Fare clic su Done e quindi su Save.
B) Esportare il certificato pubblico di PingFederate
1. In PingFederate, in SP Connections, fare clic sulla connessione SP selezionata, TWX_SP.
2. Nella sezione Credentials della scheda Activation & Summary fare clic su Digital Signature Settings ed eseguire le operazioni descritte di seguito.
3. Fare clic su Manage Certificates.
4. Per il certificato fare clic su Export nell'elenco Select Action.
5. Selezionare la casella di controllo CERTIFICATE ONLY e fare clic su Export.
Il file viene scaricato. Rinominare il file e assegnarvi un nome appropriato, ad esempio pingfedsigning.crt.
6. Importare il file del certificato pubblico di
PingFederate nel keystore
sso-keystore.jks creato in
Parte E - Passo 1.
Parte F: configurare ThingWorx per il Single Sign-On
1. Arrestare il server ThingWorx.
Al termine della configurazione di ThingWorx per il Single Sign-on, ssoSecurityConfig deve contenere i file seguenti:
Parte G: creare certificati SSL
Passo 1: importare il certificato SSL di ThingWorx nel file Java cacerts di PingFederate
1. Creare una coppia di chiavi (keystore) per ThingWorx. Assicurarsi di utilizzare l'FQDN dell'host ThingWorx come valore CN.
2. Esportare il certificato SSL pubblico di ThingWorx da questa coppia di chiavi.
3. Importare il certificato SSL di ThingWorx (.crt) nel file Java cacerts sul computer PingFederate.
4. Riavviare PingFederate.
Passo 2: importare il certificato SSL di PingFederate nel file Java cacerts di ThingWorx
1. Per esportare il certificato di PingFederate, attenersi alla procedura descritta di seguito.
a. In PingFederate fare clic su > .
b. Per il certificato fare clic su Export nell'elenco Select Action, quindi fare clic su Next.
c. Nella scheda Export Certificate assicurarsi che CERTIFICATE ONLY sia il valore di default, quindi fare clic su Next.
d. Nella scheda Export & Summary fare clic su Export.
Il certificato viene scaricato.
e. Rinominare il certificato e assegnarvi un nome appropriato, ad esempio pingfedssl.cer.
2. Importare il certificato SSL di PingFederate (.crt) nel file Java cacerts sul computer ThingWorx.
Parte H: creare la connessione client OAuth per ThingWorx
| Assicurarsi che nel campo Redirect URIS non vi siano spazi, quindi fare clic su Save al termine della configurazione. |
Parte I: verificare che ThingWorx si avvii prima di procedere con la configurazione di SCIM
1. Avviare ThingWorx.
Verificare che nel file di log non vi siano errori.
2. Accedere a ThingWorx con le credenziali Domain\username create in AD FS.
Parte J: configurare SCIM con ThingWorx
Per ulteriori informazioni, vedere
Provisioning.
Passo 1: attivare il provisioning in uscita
1. Arrestare PingFederate.
2. Arrestare ThingWorx.
3. Nel file run.properties situato in <installazione_pf>/pingfederate/bin, dove <installazione_pf> è il percorso di installazione per PingFederate, aggiornare il valore di pf.provisioner.mode e impostarlo su STANDALONE.
pf.provisioner.mode=STANDALONE
4. Avviare PingFederate.
Passo 2: creare un archivio dati per Active Directory
1. In PingFederate, cercare Data Stores.
2. Fare clic su Add new Data Store.
3. Immettere un nome in NAME, ad esempio LDAP_ADFS. In TYPE selezionare Directory (LDAP) e fare clic su Next.
4. Per HOSTNAME(S) specificare l'FQDN del computer AD FS.
5. Per USER DN specificare cn=Administrator,cn=Users,dc=thingworx,dc=com.
6. Per PASSWORD specificare la stessa password dell'amministratore impostata in Active Directory, quindi fare clic su Next.
7. Nella scheda Summary fare clic su Save.
Passo 3: creare un'istanza di convalida credenziali password
1. In PingFederate, cercare Password Credential Validators.
2. Fare clic su Create New Instance.
3. Specificare i valori per INSTANCE NAME e INSTANCE ID.
4. Nell'elenco TYPE selezionare Simple Username Password Credential Validator e fare clic su Next.
5. Nella scheda Instance Configuration fare clic su Add a new row to 'Users'.
6. In Username e Password specificare, rispettivamente, il nome utente e la password di un utente ThingWorx esistente, ad esempio l'amministratore. Fare clic su Update e quindi su Next.
7. Nella scheda Summary fare clic su Done e quindi su Save.
Passo 4: mappare l'istanza di convalida credenziali password al contratto di concessione persistente
1. In PingFederate, cercare Resource Owner Credentials Grant Mapping.
2. In SOURCE PASSWORD VALIDATOR INSTANCE selezionare la convalida creata sopra e fare clic su Add Mapping.
3. Nella scheda Attribute Sources & User Lookup fare clic su Next.
4. Nella scheda Contract Fulfillment impostare Source su Password Credential Validator e Value su username, quindi fare clic su Next.
5. Nella scheda Issuance Criteria fare clic su Next.
6. Nella scheda Summary fare clic su Save.
Passo 5: creare un client OAuth per SCIM
Il client OAuth è un punto di connessione che consente a PingFederate di fornire i token di accesso a ThingWorx. I provider di servizi utilizzano questi token di accesso per richiedere risorse protette con OAuth a ThingWorx.
1. In PingFederate, cercare Clients e aprire i risultati della ricerca. Fare clic su Add Client.
2. Specificare un valore univoco per CLIENT ID e NAME.
3. Imposta CLIENT AUTHENTICATION su CLIENT SECRET.
4. Per CLIENT SECRET selezionare la casella di controllo CHANGE SECRET e fare clic su Generate Secret.
Prendere nota dei valori di CLIENT ID e CLIENT SECRET in quanto saranno necessari per la configurazione della sezione SCIMAccessTokenServicesSettings nel file sso-settings.json.
5. Nel campo REDIRECT URIS immettere https://{HOST THINGWORX}:8443/Thingworx/SCIMProvider/SCIM e fare clic su Add.
6. Per ALLOWED GRANT TYPES selezionare le caselle di controllo Client Credentials, Resource Owner Password Credentials e Access Token Validation (Client is a Resource Server).
7. Impostare DEFAULT ACCESS TOKEN MANAGER su Default.
8. Assicurarsi di impostare i valori rimanenti in base all'immagine seguente:
9. Fare clic su Save.
Passo 6: configurare SCIM nel file platform-settings.json
Passo 7: verificare se il sottosistema SCIM è in esecuzione
1. Avviare il server ThingWorx.
2. In ThingWorx Composer fare clic su Browse e selezionare Subsystems.
3. Selezionare SCIMSubsystem e verificare che sia in esecuzione.
Passo 8: mappare USERNAME e USER_KEY
1. In PingFederate, cercare Access Token Management.
2. Fare clic su Create New Instance.
3. Specificare un nome di istanza in INSTANCE NAME.
4. Per INSTANCE ID digitare default.
5. Impostare TYPE su Internally Managed Reference Tokens e fare clic su Next.
6. Nella scheda Instance Configuration fare clic su Next.
7. Nella scheda Session Validation fare clic su Next.
8. Nella scheda Access Token Attribute Contract eseguire le operazioni descritte di seguito e fare clic su Next.
a. In Extend the Contract aggiungere Username per Windchill e fare clic su Add.
| Assicurarsi di utilizzare le stesse lettere maiuscole/minuscole specificate di seguito. |
b. In Extend the Contract aggiungere username per SCIM e fare clic su Add.
| Assicurarsi di utilizzare le stesse lettere maiuscole/minuscole specificate di seguito. |
9. Nella scheda Resource URIs fare clic su Next.
10. Nella scheda Access Control fare clic su Next.
11. Nella scheda Summary fare clic su Save.
12. Cercare Access Token Mapping e fare clic su Add Mapping (nel contesto Default).
13. Fare clic su Avanti fino a visualizzare la scheda Contract Fulfillment.
14. Nella scheda Contract Fulfillment, per i contratti Username e username, eseguire le operazioni descritte di seguito.
▪ Impostare Source su Persistent Grant.
▪ Impostare Value su USER_KEY.
15. Nella scheda Issuance Criteria fare clic su Next.
16. Nella scheda Summary fare clic su Save.
Passo 9: definire una connessione del provider di servizi per SCIM
1. In PingFederate, cercare SP CONNECTIONS e creare una nuova connessione.
2. Nella scheda Connection Template selezionare DO NOT USE A TEMPLATE FOR THIS CONNECTION e fare clic su Next.
3. Nella scheda CONNECTION TYPE eseguire le operazioni descritte di seguito e fare clic su Next.
a. Assicurarsi che la casella di controllo BROWSER SSO PROFILES non sia selezionata.
b. Selezionare la casella di controllo OUTBOUND PROVISIONING e impostare TYPE su SCIM 1.1 Service Provider.
4. Nella scheda General Info eseguire le operazioni descritte di seguito e fare clic su Next.
a. Specificare un valore per PARTNER'S ENTITY ID (CONNECTION ID) e CONNECTION NAME, ad esempio SCIM_ADFS_SP.
b. Nel campo BASE URL immettere https://FQDN_ThingWorx:8443/Thingworx/SCIMProvider.
| Assicurarsi che non vi siano spazi alla fine dell'URL quando lo si copia in PingFederate. |
5. Nella scheda Outbound Provisioning fare clic su Configure Provisioning.
6. Nella scheda Custom SCIM Attributes eseguire le operazioni descritte di seguito e fare clic su Next.
a. Nel campo USERS RESOURCE URL immettere https://FQDN_ThingWorx:8443/Thingworx/SCIMProvider/SCIM/Users.
| Assicurarsi che non vi siano spazi alla fine dell'URL quando lo si copia in PingFederate. |
b. Nel campo GROUPS RESOURCE URL immettere https://FQDN_ThingWorx:8443/Thingworx/SCIMProvider/SCIM/Groups.
| Assicurarsi che non vi siano spazi alla fine dell'URL quando lo si copia in PingFederate. |
c. Impostare AUTHENTICATION METHOD su OAUTH 2.0 BEARER TOKEN.
d. Impostare USER su Administrator e immettere la credenziale appropriata in PASSWORD.
e. Specificare i valori di CLIENT ID e CLIENT SECRET del file sso-settings.json.
f. In TOKEN END POINT URL immettere https://Host PingFederate:9031/as/token.oauth2.
| Assicurarsi che non vi siano spazi alla fine dell'URL. |
g. Assicurarsi che le caselle di controllo SCIM SP SUPPORTS PATCH UPDATES e PROVISION GROUPS WITH DISTINGUISHED NAME non siano selezionate.
h. Impostare DEPROVISION METHOD su DELETE USER.
7. Nella scheda Custom SCIM Attributes fare clic su Next.
Passo 10: creare un canale nell'archivio dati
1. Nella scheda Manage Channels fare clic su Create.
2. Specificare un nome di canale in CHANNEL NAME.
3. In ACTIVE DATA STORE selezionare l'archivio dati attivo creato al passo 2, ovvero LDAP_ADFS, e fare clic su Next.
4. Nella scheda Source Settings fare clic su Next.
5. Nella scheda Source Location eseguire le operazioni descritte di seguito e fare clic su Next.
a. Nel campo BASE DN immettere cn=users,dc=thingworx,dc=com.
b. In Users, nel campo FILTER, immettere (&(objectCategory=person)(objectClass=user)(cn=*)).
c. In Groups, nel campo FILTER, immettere (&(objectCategory=group)).
6. Nella scheda Attribute Mapping fare clic su Next.
7. Nella scheda Activation & Summary impostare Channel Status su ACTIVE e fare clic su Done.
8. Nella scheda Manage Channels fare clic su Done.
9. Nella scheda Outbound Provisioning fare clic su Next.
10. Assicurarsi che la connessione SP sia attiva (verde) e fare clic su Save.
La connessione SP è elencata nella pagina delle connessioni SP.
Passo 11: aggiungere un attributo binario LDAP
1. Passare a > > .
2. Fare clic sull'archivio dati LDAP_ADFS e selezionare la scheda LDAP Configuration.
3. Fare clic su Advanced per visualizzare le impostazioni aggiuntive per l'associazione e la configurazione.
4. Fare clic sulla scheda LDAP Binary Attributes e aggiungere un nuovo attributo binario con objectGUID come valore.
5. Fare clic su Save.
Parte K: configurare Windchill come server delle risorse
Passo 1: prerequisiti
◦ Windchill è configurato per SSL/OAuth 2.0.
◦ I certificati SSL di ThingWorx e PingFederate sono stati importati nel file jssecacerts/cacerts sul computer Windchill.
◦ Il certificato SSL di Windchill è stato importato nel file jssecacerts/cacerts sul computer ThingWorx.
◦ Il certificato SSL di Windchill è stato importato nel file jssecacerts/cacerts sul computer PingFederate.
Passo 2: completare la configurazione del file di Windchill OAuth 2.0
Aggiornare il file securityContext.properties disponibile in <radice_installazione_WC>\Windchill\codebase\WEB-INF\security\config:
◦ checkTokenEndpointUrl - FQDN del computer PingFederate.
◦ clientId - ID del client OAuth, ad esempio wnc-rp-client.
◦ clientSecret - Segreto del client OAuth.
◦ resourceScopes - Ambito di Windchill, ad esempio WINDCHILL_READ.
Passo 3: creare una connessione client OAuth per Windchill come server delle risorse
| È possibile recuperare il valore di clientId e clientSecret dal file securityContext.properties. |
Passo 4: creare ambiti di Windchill in PingFederate
1. In PingFederate, nella pagina OAuth Server, fare clic su Scope Management.
2. In Scope Value fare clic su Add per aggiungere gli stessi ambiti, ad esempio WINDCHILL_READ, che si sono aggiunti per il valore resourceScopes nel file securityContext.properties.
3. Fare clic su Save.