PingFederate come server di autenticazione centralizzata > Esempi di configurazioni SSO > Esempio: implementazione di SCIM con PingFederate come server di autenticazione centralizzata, ADFS come provider di identificativi e Windchill come provider di risorse
Esempio: implementazione di SCIM con PingFederate come server di autenticazione centralizzata, ADFS come provider di identificativi e Windchill come provider di 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 (ADFS) come provider di identificativi (IdP) e Windchill come provider di 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
ADFS
Provider di 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 ADFS, ThingWorx e PingFederate.
Computer ThingWorx - Aggiungere i computer ADFS, 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.
3. Installare PingFederate o eseguirne l'aggiornamento alla patch più recente supportata da ThingWorx.
4. Assicurarsi di avere configurato Windchill. Per ulteriori informazioni, vedere la versione di Windchill Help Center appropriata.
5. Impostare e configurare ADFS 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 ADFS 
Passo 1: creare il certificato SSL globale di PingFederate
1. Accedere a PingFederate come amministratore e selezionare Security > SSL Server Certificates.
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. Fare clic su Done e quindi 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 accedere alla pagina Identity Provider e selezionare Authentication Policies > Policy Contract.
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 Done.
d. Nella pagina Authentication Policy Contracts fare clic su Save.
Passo 3: scaricare il file FederationMetadata.xml di ADFS
1. Nel browser del computer ADFS 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 selezionare Service Provider > IdP Connections e fare clic su Create New.
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 ALGORITHMRSA
KEY SIZE (BITS)2048
SIGNATURE ALGORITHMRSA SHA256
3. Esaminare le informazioni nella scheda Summary. Se le informazioni sono corrette, fare clic su Done e quindi su Save.
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 ADFS. Viene visualizzata una pagina simile a quella riportata di seguito, che include un messaggio di errore:
Parte C: configurare il relying party di ADFS 
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 ADFS.
Passo 2: aggiungere il relying party in ADFS
1. Accedere al server ADFS e aprire Server Manager.
2. Selezionare Tools > AD FS Management.
3. In ADFS fare clic con il pulsante destro del mouse su Relying Party Trusts e selezionare Add Relying Party Trust. In questo modo ADFS 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 ADFS, 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 ADFS ad Active Directory, attenersi alla procedura descritta di seguito.
a. Nella finestra Edit Claim Issuance Policy for <Nome relazione di 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 ADFS agli attributi di Active Directory:
Display-Name
Name
SAM-Account-Name
Name ID
E-Mail-Addresses
E-Mail Address
Is-Member-Of-DL
Group
* 
Se non si mappano questi attributi correttamente, il Single Sign-On non funziona.
d. Fare clic su Finish e quindi su OK.
Passo 3: configurare ADFS in modo da crittografare il messaggio completo e l'asserzione
1. Sul computer ADFS aprire Windows PowerShell come amministratore.
2. Eseguire il comando seguente sul computer ADFS affinché la comunicazione funzioni:
Set-ADFSRelyingPartyTrust -TargetName <Nome relazione di trust relying party> -SamlResponseSignature "MessageAndAssertion",
dove <Nome relazione di trust relying party> è il nome della relazione di 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 ADFS.
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 fare clic su Identity Provider e nel gruppo SP Connections fare clic su Create New. 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 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.
2. Attenersi alla procedura descritta in Configurare ThingWorx per il Single Sign-On.
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 Security > SSL Server Certificates.
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.
Passo 3: importare il certificato SSL di PingFederate nel file Java cacerts di PingFederate
1. Per esportare il certificato di PingFederate, attenersi alla procedura descritta di seguito.
a. Nel browser di PingFederate, a sinistra dell'indirizzo, fare clic su Not Secure.
b. Nella finestra Certificate fare clic su Copy to File.
c. In Certificate Export Wizard fare clic su Next, selezionare DER encoded binary X.509 (.CER), quindi fare clic su Next.
d. Nel campo File Name della pagina File to Export fare clic su Browse per specificare il percorso e un nome appropriato per il file del certificato.
e. Fare clic su Finish.
2. Importare il certificato SSL di PingFederate nel file Java cacerts sul computer PingFederate.
Parte H: creare la connessione client OAuth per ThingWorx 
Completare la procedura descritta in Creazione della 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 ADFS.
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.
5. Per attivare il provisioning in uscita in PingFederate, selezionare System > Protocol Settings e nella scheda Roles & Protocols selezionare la casella di controllo OUTBOUND PROVISIONING. Fare clic su Save.
Passo 2: creare un archivio dati per Active Directory
1. In PingFederate fare clic su System e in EXTERNAL SYSTEMS fare clic su 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 ADFS.
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 Done e quindi su Save.
Per ulteriori informazioni, fare riferimento ad Aggiungere il protocollo LDAP come archivio dati
Passo 3: creare un'istanza di convalida credenziali password
1. In PingFederate fare clic su System e in EXTERNAL SYSTEMS fare clic su 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.
Per ulteriori informazioni, fare riferimento a Configurare un'istanza di convalida credenziali password.
Passo 4: mappare l'istanza di convalida credenziali password al contratto di concessione persistente
1. In PingFederate selezionare OAuth Server > Resource Owner Credentials 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 Done e quindi su Save.
Per ulteriori informazioni, fare riferimento a Configurare un'istanza di convalida credenziali password.
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 selezionare OAuth Server e in CLIENTS fare clic su Create New.
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.
Per ulteriori informazioni, fare riferimento a Creare un client OAuth per SCIM.
Passo 6: configurare SCIM nel file platform-settings.json
Passo 7: verificare che SCIMSubsytem sia 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 selezionare OAuth Server e in TOKEN MAPPING fare clic su 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 Done e quindi su Save.
Access Token Mapping è ora disponibile in TOKEN MAPPING nella pagina principale di PingFederate.
12. Fare clic su Access Token Mapping e quindi su Add Mapping (per aggiungere la mappatura al 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 Done e quindi su Save.
Passo 9: definire una connessione del provider di servizi per SCIM
1. In PingFederate fare clic su Identity Provider e in SP CONNECTIONS fare clic su Create New.
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.
Per ulteriori informazioni, fare riferimento a Definire una connessione SP per SCIM.
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.
Per ulteriori informazioni, fare riferimento a Creare un canale nell'archivio dati.
Parte K: configurare Windchill come provider di 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.
Integration Runtime è configurato nell'istanza di ThingWorx.
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 provider di risorse
Completare la procedura descritta in Creazione di connessioni client OAuth per Windchill.
* 
È 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.
È stato utile?