Exemple : implémentation de SSO avec PingFederate en tant que serveur d'authentification centralisée, AD FS en tant que fournisseur d'identité, SCIM comme méthode de provisionnement utilisateur et Windchill en tant que serveur de ressources
Cet exemple décrit en détail la procédure de configuration d'un environnement SSO pour lequel ThingWorx est configuré pour l'authentification unique avec PingFederate comme serveur d'authentification centralisée (CAS), AD FS (Active Directory Federation Services) en tant que fournisseur d'identité (IdP) et Windchill comme serveur de ressources.
La table suivante contient les applications configurées et leur rôle dans cet exemple :
Rôle
|
Application
|
Fournisseur de services
|
ThingWorx
|
Serveur d'authentification centralisée
|
PingFederate
|
Fournisseur d'identité
|
AD FS
|
Serveur de ressources
|
Windchill
|
Le diagramme suivant illustre la configuration décrite dans cet exemple.
Pour obtenir une présentation de l'implémentation SSO avec cette architecture, consultez la vidéo fournie dans l'article
CS271789.
Avant de commencer l'implémentation SSO, consultez l'arbre de décision ci-après qui met en surbrillance les points de décision clés du processus de déploiement de ThingWorx Navigate et de Windchill avec PingFederate. Ce graphique présente les choix recommandés en fonction des bonnes pratiques, de la convivialité et des cas d'utilisation typiques.
| Il existe d'autres combinaisons d'IdP et de LDAP qui ne sont pas présentées dans ce graphique. Par exemple, vous pouvez utiliser Microsoft Active Directory sur un hôte Windows en association avec ThingWorx et Windchill sur des hôtes Linux, mais ce scénario n'est ni courant, ni recommandé. L'utilisation de Shibboleth SP pour mettre en place le SSO pour Windchill nécessite 11.0 M020 ou une version ultérieure. |
Partie A : Prérequis
1. Mettez à jour les fichiers hosts des machines utilisées dans votre environnement avec les éléments suivants :
◦ Machine PingFederate : ajoutez les machines AD FS, ThingWorx et PingFederate.
◦ Machine ThingWorx : ajoutez les machines AD FS, ThingWorx et PingFederate.
◦ Machine Windchill : ajoutez les machines ThingWorx et PingFederate.
Arrêtez le serveur ThingWorx.
| Assurez-vous de mettre à jour et configurer Tomcat pour autoriser ThingWorx à fonctionner dans des environnements inter-domaines. Pour plus d'informations, consultez cet article. |
4. Assurez-vous que vous avez configuré
Windchill. Pour plus d'informations, consultez le
Centre d'aide Windchill approprié.
5. Configurez AD FS et assurez-vous que vous disposez des valeurs d'attribut et des fichiers suivants :
◦ uid
◦ email
◦ group
◦ Fichier de métadonnées
◦ Signature de certificats
Partie B : Configuration manuelle de l'authentification pour AD FS
Etape 1 : Création du certificat SSL global PingFederate
1. Connectez-vous à PingFederate en tant qu'administrateur. Lancez une recherche sur SSL Server Certificates et ouvrez les résultats de la recherche.
2. Cliquez sur Create New pour créer le certificat SSL global, puis procédez comme suit :
a. Dans le champ Common Name, spécifiez le nom de domaine complet de la machine PingFederate.
b. Spécifiez d'autres informations sur la page, puis cliquez sur Next.
c. Assurez-vous que les cases suivantes sont cochées, puis cliquez sur Save.
d. Cliquez sur SSL Server Certificates.
e. Pour le certificat SSL créé, dans la liste Select Action, sélectionnez Activate Default for Runtime Server, puis Activate Default for Admin Console. Cliquez sur Save.
Ce certificat SSL est marqué comme certificat par défaut (default) pour la console d'administration et le serveur d'exécution.
3. Pour le certificat localhost, procédez comme suit :
a. Dans la liste Select Action, sélectionnez Deactivate for Runtime Server, puis Deactivate for Admin Console.
b. Supprimez le certificat localhost, puis cliquez sur Save.
Etape 2 : Création du contrat du fournisseur de services
1. Dans PingFederate, lancez une recherche sur Policy Contract et ouvrez le résultat de la recherche.
2. Cliquez sur Create New Contracts, puis effectuez les opérations suivantes :
a. Dans le champ Contract Info, spécifiez un nom de contrat, par exemple, SPContract, puis cliquez sur Next.
b. Sous Contract Attributes, afin de prolonger le contrat pour les attributs suivants, cliquez sur Add pour chaque attribut :
▪ uid
▪ email
▪ group
Par défaut, l'attribut subject est présent.
c. Cliquez sur Next, puis, dans la page Summary, cliquez sur Save.
d. Sur la page Authentication Policy Contracts, cliquez sur Save.
Etape 3 : Téléchargement du fichier AD FS FederationMetadata.xml
1. Dans le navigateur de votre machine AD FS, saisissez l'URL suivante pour télécharger le fichier FederationMetadata :
https://Hôte_ADSF.Domaine_ADFS/FederationMetadata/2007-06/FederationMetadata.xml
2. Copiez le fichier téléchargé sur la machine PingFederate.
Etape 4 : Création de la connexion IdP PingFederate
A) Spécification des informations générales pour créer une connexion IdP
1. Dans PingFederate, lancez une recherche sur IdP Connections et ouvrez les résultats de la recherche. Cliquez sur Create Connection.
2. Dans l'onglet Connection Type, cochez la case BROWSER SSO Profiles, puis cliquez sur Next.
3. Dans l'onglet Connection Options, cochez les cases BROWSER SSO et OAUTH ATTRIBUTE MAPPING, puis cliquez sur Next.
4. Dans l'onglet Import Metadata, sélectionnez File, puis cliquez sur Choose File pour accéder au fichier FederationMetadata.xml, puis cliquez sur Next.
5. Dans l'onglet Metadata Summary, cliquez sur Next.
6. L'onglet General Info est prérempli avec des données. Si vous le souhaitez, vous pouvez modifier le champ CONNECTION NAME. Vérifiez le reste des informations, puis cliquez sur Next.
7. Dans l'onglet Browser SSO, cliquez sur Configure Browser SSO. La page Browser SSO s'ouvre, dans laquelle vous devez spécifier les paramètres d'authentification unique pour votre navigateur.
B) Configuration des paramètres SSO du navigateur
1. Dans l'onglet SAML Profiles de la page Browser SSO, sélectionnez les options suivantes, puis cliquez sur Next :
▪ IDP-INITIATED SSO
▪ SP-INITIATED SSO
2. Dans l'onglet User-Session Creation, cliquez sur Configure User-Session Creation. La page User-Session Creation s'ouvre, dans laquelle vous devez spécifier les paramètres pour configurer la création de l'utilisateur.
C) Configuration des paramètres de création de session utilisateur
1. Dans l'onglet Identity Mapping, acceptez les paramètres par défaut, puis cliquez sur Next.
2. Dans l'onglet Attribute Contract, vérifiez les attributs remplis automatiquement, puis cliquez sur Next.
3. Dans l'onglet Target Session Mapping, cliquez sur Map New Authentication Policy. La page Authentication Policy Mapping s'ouvre, dans laquelle vous devez spécifier les paramètres du mappage des stratégies d'authentification.
D) Configuration des paramètres de mappage des stratégies d'authentification
1. Dans la liste
Authentication Policy Contract, sélectionnez le contrat que vous avez créé dans l'
Etape 2 de la Partie B, c'est-à-dire
SPContract. Vérifiez que tous les attributs sont affichés, puis cliquez sur
Next.
2. Dans l'onglet Attribute Retrieval, acceptez les paramètres par défaut, puis cliquez sur Next.
3. Dans l'onglet Contract Fulfillment, sélectionnez les valeurs suivantes pour les contrats de stratégie d'authentification email, group, subject et uid :
▪ Dans la liste Source, sélectionnez Assertion.
▪ Dans la liste Value, sélectionnez l'entrée correspondante dans la liste.
Cliquez sur Next.
4. Dans l'onglet Issuance Criteria, cliquez sur Next.
5. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page User-Session Creation s'ouvre, dans laquelle vous devez passer en revue les paramètres de configuration pour la création d'une session utilisateur.
E) Passage en revue des paramètres de configuration de création de session utilisateur
1. L'onglet Target Session Mapping de la page User-Session Creation affiche les informations que vous avez sélectionnées lors du mappage d'une nouvelle stratégie d'authentification. Cliquez sur Next.
2. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Browser SSO s'ouvre.
3. L'onglet User-Session Creation de la page Browser SSO affiche les informations que vous avez saisies lors de la configuration de la création de session utilisateur. Cliquez sur Next.
4. Dans l'onglet OAuth Attribute Mapping, sélectionnez l'option Map Directly Into Persistent Grant, puis sélectionnez Configure OAuth Attribute Mapping, puis procédez comme suit :
a. Dans l'onglet Data Store, cliquez sur Next.
b. Dans l'onglet Contract Fulfilment, pour USER_KEY et USER_NAME, sélectionnez Source comme Assertion et Value comme attribut de nom dans ADFS, puis cliquez sur Next.
c. Dans l'onglet Issuance Criteria, cliquez sur Next.
5. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. Cliquez sur Next sur la page OAuth Attribute Mapping Configuration.
6. Dans l'onglet Protocol Settings, cliquez sur Configure Protocol Settings. La page Protocol Settings s'ouvre, dans laquelle vous devez spécifier les paramètres de protocole.
F) Configuration et passage en revue des paramètres de protocole
1. Dans l'onglet SSO Service URLs, cliquez sur Next.
2. Dans l'onglet Allowable SAML Bindings, effectuez les opérations suivantes, puis cliquez sur Next :
a. Cochez les cases suivantes :
▪ POST
▪ REDIRECT
b. Décochez les cases suivantes :
▪ ARTIFACT
▪ POST
3. Ignorez les paramètres de l'onglet Overrides, puis cliquez sur Next.
4. Dans l'onglet Signature Policy, cliquez sur SPECIFY ADDITIONAL SIGNATURE REQUIREMENTS, cochez les deux cases situées sous celle-ci, puis cliquez sur Next.
5. Dans l'onglet Encryption Policy, cliquez sur ALLOW ENCRYPTED SAML ASSERTIONS AND SLO MESSAGES, cochez la case THE ENTIRE ASSERTION, puis cliquez sur Next.
6. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Browser SSO s'ouvre.
7. L'onglet Protocol Settings de la page Browser SSO affiche les informations que vous avez sélectionnées lors de la configuration des paramètres de protocole. Cliquez sur Next.
8. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page IdP Connection s'ouvre.
9. Dans l'onglet Browser SSO de la page IdP Connection, cliquez sur Next.
10. Dans l'onglet Credentials, cliquez sur Configure Credentials. La page Credentials s'ouvre, dans laquelle vous devez spécifier les paramètres pour configurer les informations d'identification.
G) Configuration des informations d'identification
1. Dans l'onglet Digital Signature Settings, cliquez sur Manage Certificates.
2. Pour créer un certificat de signature, cliquez sur Create New, spécifiez les valeurs suivantes, puis cliquez sur Next :
▪ COMMON NAME
▪ ORGANIZATION
▪ COUNTRY
▪ VALIDITY (DAYS) : 365
▪ KEY ALGORITHM : RSA
▪ KEY SIZE (BITS) : 2048
▪ SIGNATURE ALGORITHM : RSA SHA256
3. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Save, puis sur Done.
4. Dans l'onglet Digital Signature Settings, pour le certificat de signature (SIGNING CERTIFICATE) que vous avez créé, cochez la case INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT, puis cliquez sur Next.
Il s'agit du certificat de couche d'application utilisé pour signer numériquement la demande de PingFederate auprès de l'IdP.
5. Dans l'onglet Signature Verification Settings, cliquez sur Manage Signature Verification Settings.
a. Dans l'onglet Trust Model, sélectionnez UNANCHORED, puis cliquez sur Next.
b. Sur le certificat de vérification de la signature (Signature Verification Certificate), vérifiez que le certificat de signature de l'IdP s'affiche, puis cliquez sur Next.
Il s'agit du certificat de couche d'application utilisé pour la vérification de la signature pour les requêtes de l'IdP adressées à PingFederate. Il a été automatiquement importé dans PingFederate lors de l'importation du fichier metadata.xml à partir de l'IdP.
c. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done.
d. Dans l'onglet Signature Verification Settings, cliquez sur Next.
e. Dans Select Decryption Keys, sélectionnez le certificat PingFederate, puis cliquez sur Next.
f. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done.
g. Sur la page Credentials, cliquez sur Next.
H) Activation de la connexion IdP
Sur la page Activation & Summary, assurez-vous que l'option SSO Application Endpoint est activée, puis cliquez sur Save.
La connexion IdP est désormais créée et activée.
I) Vérification de la connexion IdP
Cliquez sur la connexion IdP que vous avez créée, copiez l'URL SSO Application Endpoint, collez-la dans un navigateur et vérifiez qu'elle redirige vers l'IdP. Par conséquent, cette URL de PingFederate doit être redirigée vers AD FS. Une page semblable à la suivante s'affiche. Elle comprend un message d'erreur.
Partie C : Configuration de la partie de confiance AD FS
Etape 1 : Exportation du fichier XML de métadonnées à partir de PingFederate
1. Dans PingFederate, accédez à Service Provider, puis sous IDP Connections, cliquez sur Manage All.
2. Pour votre connexion IdP, dans la liste Select Action, cliquez sur Export Metadata.
3. Sur la page Metadata Signing, cliquez sur Next.
4. Sur la page Export & Summary, cliquez sur Export pour télécharger le fichier de métadonnées dans le dossier Téléchargements de votre machine, puis cliquez sur Done.
5. Copiez le fichier XML de métadonnées sur la machine AD FS.
Etape 2 : Ajout de la partie de confiance dans AD FS
1. Connectez-vous au serveur AD FS et ouvrez le gestionnaire de serveur (Server Manager).
2. Accédez à > .
3. Sous AD FS, cliquez avec le bouton droit sur Relying Party Trusts, puis sélectionnez Add Relying Party Trust. Cela permet de s'assurer qu'AD FS approuve le fait que la connexion provienne de PingFederate.
4. Dans la fenêtre Add Relying Party Trust Wizard, procédez comme suit :
a. Cliquez sur Start.
b. Dans l'écran suivant, cliquez sur Import data about the relying party from a file.
c. Cliquez sur Browse pour accéder à l'emplacement du fichier Metadata.xml que vous avez copié depuis PingFederate pour créer une partie de confiance dans AD FS, puis cliquez sur Next.
d. Spécifiez un nom affiché (Display name), puis cliquez sur Next.
Prenez note de ce nom, car il sera nécessaire ultérieurement.
e. Cliquez sur Next dans les fenêtres suivantes jusqu'à ce que vous atteigniez l'écran Finish. Cliquez ensuite sur Close.
Votre entrée actuelle est ajoutée à la liste Relying Part Trusts.
La fenêtre suivante doit également s'afficher (elle est peut-être cachée derrière la fenêtre active) :
5. Pour mapper les attributs AD FS à Active Directory, procédez comme suit :
a. Dans la fenêtre Edit Claim Issuance Policy for <Nom d'approbation de la partie de confiance>, cliquez sur Add Rule, puis sur Next.
b. Renseignez le champ Claim rule name, puis définissez Attribute store sur Active Directory.
c. Dans la table Mapping of LDAP attributes to outgoing claim types, sélectionnez les valeurs dans les listes pour mapper les attributs AD FS aux attributs Active Directory :
| Si vous ne mappez pas correctement ces attributs, l'authentification unique ne fonctionnera pas. |
Display-Name | Nom |
SAM-Account-Name | Name ID |
E-Mail-Addresses | E-Mail Address |
Is-Member-Of-DL | Groupe |
d. Cliquez sur Finish, puis sur OK.
Etape 3 : Configuration d'AD FS pour chiffrer le message complet et l'assertion
1. Sur la machine AD FS, ouvrez Windows PowerShell en tant qu'administrateur.
2. Exécutez la commande suivante sur la machine AD FS pour que la communication fonctionne :
Set-ADFSRelyingPartyTrust -TargetName <Nom d'approbation de la partie de confiance> -SamlResponseSignature "MessageAndAssertion"
où <Nom de la partie de confiance> est le nom d'approbation de la partie de confiance que vous avez créé et noté à l'Etape 2 ci-dessus.
Cette commande permet de configurer la signature de réponse SAML via Windows PowerShell.
Partie D : Vérification de l'URL du point d'extrémité de la connexion IdP
1. Dans PingFederate, copiez l'URL SSO Application Endpoint et collez-la dans une fenêtre de navigation privée.
2. Connectez-vous à l'aide du nom de domaine et de l'administrateur que vous avez créés pour AD FS.
Vous devez obtenir le message suivant :
Partie E : Création des connexions du fournisseur de service PingFederate pour ThingWorx
Etape 1 : Création du certificat de signature ThingWorx
1. Dans le dossier <Dossier d'installation de ThingWorx>/ThingworxPlatform, créez le dossier ssoSecurityConfig.
2. Créez un KeyStore de type JKS et nommez-le sso-keystore.jks comme suit :
▪ Générez une paire de clés.
▪ Spécifiez le nom commun du certificat comme suit : ThingWorx.
3. Exportez thingworx.cer depuis sso-keystore.jks vers le dossier ssoSecurityConfig.
Etape 2 : Configuration de la connexion de fournisseur de services pour ThingWorx
A) Spécification des informations générales pour créer une connexion de fournisseur de services
1. Sur la page principale de PingFederate, recherchez le groupe SP Connections, puis cliquez sur Create Connection. La page SP Connection s'ouvre.
2. Dans l'onglet Connection Template, sélectionnez DO NOT USE A TEMPLATE FOR THIS CONNECTION, puis cliquez sur Next.
3. Dans l'onglet Connection Type, cochez les cases Browser SSO Profiles et SAML 2.0 Protocol, puis cliquez sur Next.
4. Dans l'onglet Connection Options, cochez la case BROWSER SSO, puis cliquez sur Next.
5. Dans l'onglet Import Metadata, sélectionnez None, puis cliquez sur Next.
6. Dans l'onglet General Info, effectuez les tâches suivantes :
a. Dans le champ Partner's Entity ID (Connection ID), spécifiez une valeur unique, par exemple TWX_SP.
Notez cette valeur, car vous l'utiliserez lors de la configuration du fichier sso-settings.json ThingWorx.
b. Dans le champ Connection Name, spécifiez un nom descriptif, par exemple TWX_SP.
Il s'agit du nom qui sera affiché dans la liste des connexions de type fournisseur de services de PingFederate.
c. Dans le champ Base URL, saisissez l'URL du serveur sur lequel ThingWorx est déployé, puis cliquez sur Next. Par exemple : https://{ThingWorxHost_FQDN}:8443.
7. Dans l'onglet Browser SSO, cliquez sur Configure Browser SSO. La page Browser SSO s'ouvre, dans laquelle vous devez spécifier les paramètres d'authentification unique pour votre navigateur.
B) Configuration des paramètres SSO du navigateur
1. Dans l'onglet SAML Profiles de la page Browser SSO, sous la section Single Sign-On (SSO) Profiles, sélectionnez les options suivantes, puis cliquez sur Next :
▪ IDP-INITIATED SSO
▪ SP-INITIATED SSO
Ne sélectionnez aucune option dans la colonne Single Logout (SLO) Profiles.
2. Dans l'onglet Assertion Lifetime, définissez Minutes Before sur 60 et Minutes After sur 480. Cliquez sur Next.
3. Dans l'onglet Assertion Creation, cliquez sur Configure Assertion Creation. La page Assertion Creation s'ouvre, dans laquelle vous devez spécifier les paramètres de création d'assertion.
C) Configuration des paramètres de création d'assertion
1. Dans l'onglet Identity Mapping de la page Assertion Creation, cliquez sur Standard, puis sur Next.
2. Dans l'onglet Attribute Contract, sous Attribute Contract, saisissez SAML_Subject, puis sélectionnez la valeur sous Subject Name Format.
3. Dans l'onglet Attribute Contract, dans le champ Extend the Contract, configurez les paramètres suivants, puis cliquez sur Add après chaque valeur :
Extend the Contract | Attribute Name Format |
---|
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 |
Cliquez sur Next.
4. Dans l'onglet Authentication Source Mapping, cliquez sur Map New Authentication Policy. La page Authentication Policy Mapping s'ouvre, dans laquelle vous devez spécifier les paramètres du mappage des stratégies d'authentification.
D) Configuration des paramètres de mappage des stratégies d'authentification
1. Dans la liste
Authentication Policy Contract de la page
Authentication Policy Mapping, sélectionnez le contrat d'attribut que vous avez créé à l'
Etape 2 de la Partie B, c'est-à-dire
SPContract. Cliquez sur
Next.
2. Dans l'onglet Mapping Method, cliquez sur USE ONLY THE AUTHENTICATION POLICY CONTRACT VALUES IN THE SAML ASSERTION, puis sur Next.
3. Dans l'onglet Attribute Contract Fulfillment, sélectionnez les valeurs suivantes pour les contrats de stratégie d'authentification email, group, SAML_SUBJECT et uid :
▪ Dans la liste Source, sélectionnez Authentication Policy Contract.
▪ Dans la liste Value, sélectionnez l'entrée correspondante dans la liste.
Cliquez sur Next.
4. Ignorez les paramètres de l'onglet Issuance Criteria, puis cliquez sur Next.
5. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Assertion Creation s'ouvre, dans laquelle vous devez passer en revue les paramètres de configuration pour la création d'assertion.
E) Passage en revue des paramètres de configuration de création d'assertion
1. L'onglet Authentication Source Mapping de la page Assertion Creation affiche les informations que vous avez sélectionnées lors du mappage d'une nouvelle stratégie d'authentification. Cliquez sur Next.
2. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Browser SSO s'ouvre.
3. L'onglet Assertion Creation de la page Browser SSO affiche les informations que vous avez saisies lors de la configuration de la création d'assertion. Cliquez sur Next.
4. Dans l'onglet Protocol Settings, cliquez sur Configure Protocol Settings. La page Protocol Settings s'ouvre, dans laquelle vous devez spécifier les paramètres de protocole.
F) Configuration et passage en revue des paramètres de protocole
1. Dans l'onglet Assertion Consumer Service URL de la page Protocol Settings, procédez comme suit :
a. Cochez la case Default.
b. Dans le champ Index, saisissez 0.
c. Dans la liste Binding, sélectionnez POST.
d. Dans le champ Endpoint URL, saisissez /Thingworx/saml/SSO.
e. Cliquez sur Add, puis sur Next.
2. Dans l'onglet Allowable SAML Bindings, cochez la case POST, puis cliquez sur Next.
3. Dans l'onglet Signature Policy, sélectionnez les options suivantes, puis cliquez sur Next :
▪ REQUIRE AUTHN REQUESTS TO BE SIGNED WHEN RECEIVED VIA THE POST OR REDIRECT BINDINGS
▪ ALWAYS SIGN THE SAML ASSERTION
4. Dans l'onglet Encryption Policy, sélectionnez The Entire Assertion, puis cliquez sur Next.
5. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Browser SSO s'ouvre.
6. L'onglet Protocol Settings de la page Browser SSO affiche les informations que vous avez sélectionnées lors de la configuration des paramètres de protocole. Cliquez sur Next.
7. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page SP Connection s'ouvre.
8. Dans l'onglet Browser SSO de la page SP Connection, cliquez sur Next.
9. Dans l'onglet Credentials, cliquez sur Configure Credentials. La page Credentials s'ouvre, dans laquelle vous devez spécifier les paramètres pour configurer les informations d'identification.
G) Configuration des informations d'identification
1. Dans l'onglet Digital Signature Settings, effectuez les tâches suivantes :
a. Dans la liste SIGNING CERTIFICATE, sélectionnez le certificat.
b. Cochez la case INCLUDE THE CERTIFICATE IN THE SIGNATURE <KEYINFO> ELEMENT.
Cliquez sur Next.
2. Dans l'onglet Signature Verification Settings, cliquez sur Save Draft.
3. Cliquez sur Manage All, puis sur Save.
H) Configuration des paramètres de vérification de signature et importation et chiffrement du certificat
1. Pour restaurer la configuration enregistrée, cliquez sur Identity Provider et, dans SP Connections, cliquez sur Manage All.
2. Cliquez sur la connexion de fournisseur de services, TWX_SP, que vous avez enregistrée en tant que brouillon, puis cliquez sur Manage Signature Verification Settings.
3. Dans l'onglet Trust Model, sélectionnez UNANCHORED, puis cliquez sur Next.
Sur le certificat de vérification de la signature (Signature Verification Certificate), aucun certificat n'est disponible dans la liste.
4. Cliquez sur Manage Certificates, puis sur Import.
5. Dans l'onglet
Import Certificate, cliquez sur
Choose file pour accéder au fichier de certificat que vous avez créé à l'
Etape 1 de la Partie E, puis cliquez sur
Next.
6. Dans l'onglet Summary, assurez-vous que la case MAKE THIS THE ACTIVE CERTIFICATE est cochée.
7. Examinez les informations de la page Summary. Si les informations sont correctes, cliquez sur Done. La page Certificate Management s'ouvre.
8. Cliquez sur Terminé. La page Signature Verification s'ouvre.
9. Dans l'onglet Signature Verification Certificate, vous devez voir le certificat que vous avez importé. Cliquez sur Next.
10. Sur la page Summary, cliquez sur Done.
11. Dans l'onglet Signature Verification Settings, cliquez sur Next.
J) Chiffrement du certificat
1. Dans l'onglet Select XML Encryption Certificate, effectuez les opérations suivantes, puis cliquez sur Next :
a. Sélectionnez AES-128 pour Block Encryption Algorithm.
b. Sélectionnez RSA-OAEP pour Key Transport Algorithm.
c. Sélectionnez le certificat dans la liste.
2. Examinez les informations de l'onglet Summary. Si les informations sont correctes, cliquez sur Done. La page Credentials s'ouvre, dans laquelle vous devez passer en revue les paramètres de vérification de la signature.
K) Activation de la connexion de fournisseur de services
1. L'onglet Credentials de la page SP Connection affiche les informations que vous avez sélectionnées lors de la configuration des informations d'identification. Cliquez sur Next.
2. Sur la page Activation & Summary, sous Connection Status, assurez-vous que la connexion est activée.
3. Cliquez sur Save.
La connexion s'affiche sous le groupe SP Connections de la page Identity Provider.
Etape 3 : Exportation des métadonnées de connexion du fournisseur de service ThingWorx et du certificat public PingFederate
A) Exportation des métadonnées depuis PingFederate pour ThingWorx
1. Dans PingFederate, sous SP Connections, cliquez sur Manage All.
2. Pour la connexion de fournisseur de services que vous avez créée à l'
Etape 2 de la Partie E, c'est-à-dire,
TWX_SP dans la liste
Select Action, cliquez sur
Export Metadata.
3. Dans l'onglet Metadata Signing, cliquez sur Next.
4. Dans l'onglet Export & Summary, cliquez sur Export.
Le ficher est téléchargé.
5. Cliquez sur Done.
B) Exportation du certificat public PingFederate
1. Dans PingFederate, sous SP Connections, cliquez sur la connexion de fournisseur de services que vous avez sélectionnée, TWX_SP.
2. Dans l'onglet Activation & Summary, sous la section Credentials, cliquez sur Digital Signature Settings, puis procédez comme suit :
3. Cliquez sur Manage Certificates.
4. Pour votre certificat, dans la liste Select Action, cliquez sur Export.
5. Cochez la case CERTIFICATE ONLY, puis cliquez sur Export.
Le ficher est téléchargé. Renommez ce fichier en lui donnant un nom approprié. Par exemple : pingfedsigning.crt
6. Importez ce fichier de certificat public
PingFederate dans le KeyStore
sso-keystore.jks que vous avez créé à l'
Etape 1 de la Partie E.
Etape 3 : Exportation des métadonnées de connexion du fournisseur de service ThingWorx et du certificat public PingFederate
A) Exportation des métadonnées depuis PingFederate pour ThingWorx
1. Dans PingFederate, sous SP Connections, cliquez sur Manage All.
2. Pour la connexion de fournisseur de services que vous avez créée à l'
Etape 2 de la Partie E, c'est-à-dire,
TWX_SP dans la liste
Select Action, cliquez sur
Export Metadata.
3. Dans l'onglet Metadata Signing, cliquez sur Next.
4. Dans l'onglet Export & Summary, cliquez sur Export.
Le ficher est téléchargé.
5. Cliquez sur Done, puis sur Save.
B) Exportation du certificat public PingFederate
1. Dans PingFederate, sous SP Connections, cliquez sur la connexion de fournisseur de services que vous avez sélectionnée, TWX_SP.
2. Dans l'onglet Activation & Summary, sous la section Credentials, cliquez sur Digital Signature Settings, puis procédez comme suit :
3. Cliquez sur Manage Certificates.
4. Pour votre certificat, dans la liste Select Action, cliquez sur Export.
5. Cochez la case CERTIFICATE ONLY, puis cliquez sur Export.
Le ficher est téléchargé. Renommez ce fichier en lui donnant un nom approprié. Par exemple : pingfedsigning.crt
6. Importez ce fichier de certificat public
PingFederate dans le KeyStore
sso-keystore.jks que vous avez créé à l'
Etape 1 de la Partie E.
Partie F : Configuration de ThingWorx pour l'authentification unique
1. Arrêtez le serveur ThingWorx.
Une fois que vous avez terminé la configuration de ThingWorx pour l'authentification unique, votre ssoSecurityConfig doit contenir les fichiers suivants :
Partie G : Création de certificats SSL
Etape 1 : Importation du certificat SSL ThingWorx dans le fichier cacerts Java PingFederate
1. Créez une paire de clés (KeyStore) pour ThingWorx. Assurez-vous que vous utilisez le nom de domaine complet de l'hôte ThingWorx comme valeur de nom commun.
2. Exportez le certificat SSL public ThingWorx à partir de cette paire de clés.
3. Importez le certificat SSL ThingWorx (.crt) dans le fichier cacerts Java de la machine PingFederate.
4. Redémarrez PingFederate.
Etape 2 : Importation du certificat SSL PingFederate dans le fichier cacerts Java ThingWorx
1. Pour exporter le certificat PingFederate, procédez comme suit :
a. Dans PingFederate, cliquez sur > .
b. Pour votre certificat, dans la liste Select Action, cliquez sur Export, puis sur Next.
c. Dans l'onglet Export Certificate, assurez-vous que CERTIFCATE ONLY est la valeur par défaut, puis cliquez sur Next.
d. Dans l'onglet Export & Summary, cliquez sur Export.
Le certificat est téléchargé.
e. Renommez le certificat en lui donnant un nom approprié. Par exemple : pingfedssl.cer.
2. Importez le certificat SSL PingFederate (.crt) dans le fichier cacerts Java de la machine ThingWorx.
Partie H : Création d'une connexion client OAuth pour ThingWorx
| Assurez-vous que le champ Redirect URIS ne contient aucune espace, puis cliquez sur Save à la fin de la configuration. |
Partie I : Confirmation du démarrage de ThingWorx avant de procéder à la configuration SCIM
1. Démarrez ThingWorx.
Consultez le fichier journal pour vous assurer qu'aucune erreur n'est consignée.
2. Connectez-vous à ThingWorx avec le Domain\username créé dans AD FS.
Partie J : Configuration de SCIM avec ThingWorx
Pour en savoir plus, consultez la rubrique
Provisionnement.
Etape 1 : Activation du provisionnement sortant
1. Arrêtez PingFederate.
2. Arrêtez ThingWorx.
3. Dans le fichier run.properties situé dans <pf_install>/pingfederate/bin, où <pf_install> correspond à l'emplacement d'installation de PingFederate, mettez à jour la valeur de pf.provisioner.mode sur STANDALONE.
pf.provisioner.mode=STANDALONE
4. Démarrez PingFederate.
Etape 2 : Création d'un magasin de données pour Active Directory
1. Dans PingFederate, recherchez Data Stores.
2. Cliquez sur Add new Data Store.
3. Spécifiez un nom (NAME) (par exemple, LDAP_ADFS), puis, pour TYPE, sélectionnez Directory (LDAP) et cliquez sur Next.
4. Pour HOSTNAME(S), indiquez le nom de domaine complet de la machine AD FS.
5. Pour USER DN, spécifiez cn=Administrator,cn=Users,dc=thingworx,dc=com.
6. Pour PASSWORD, spécifiez le même mot de passe administrateur que celui que vous avez défini dans Active Directory, puis cliquez sur Next.
7. Dans l'onglet Summary, cliquez sur Save.
Etape 3 : Création d'une instance de validateur d'informations d'identification de mot de passe
1. Dans PingFederate, recherchez Password Credential Validators.
2. Cliquez sur Create New Instance.
3. Spécifiez des valeurs pour INSTANCE NAME et INSTANCE ID.
4. Dans la liste TYPE, sélectionnez Simple Username Password Credential Validator, puis cliquez sur Next.
5. Dans l'onglet Instance Configuration, cliquez sur Add a new row to 'Users'.
6. Spécifiez le nom d'utilisateur (Username) et le mot de passe (Password) d'un utilisateur ThingWorx existant, par exemple, l'administrateur. Cliquez sur Update, puis sur Next.
7. Dans l'onglet Summary, cliquez sur Done, puis sur Save.
Etape 4 : Mappage de l'instance de validateur des informations d'identification de mot de passe au contrat d'autorisation persistante
1. Dans PingFederate, recherchez Resource Owner Credentials Grant Mapping.
2. Dans SOURCE PASSWORD VALIDATOR INSTANCE, sélectionnez le validateur que vous avez créé ci-dessus, puis cliquez sur Add Mapping.
3. Dans l'onglet Attribute Sources & User Lookup, cliquez sur Next.
4. Dans l'onglet Contract Fulfillment, définissez Source sur Password Credential Validator, Value sur username, puis cliquez sur Next.
5. Dans l'onglet Issuance Criteria, cliquez sur Next.
6. Dans l'onglet Summary, cliquez sur Save.
Etape 5 : Création d'un client OAuth pour SCIM
Le client OAuth constitue un point de connexion permettant à PingFederate de fournir les jetons d'accès à ThingWorx. Les fournisseurs de services utilisent ces jetons d'accès pour demander des ressources protégées par OAuth à ThingWorx.
1. Dans PingFederate, recherchez Clients et ouvrez les résultats de la recherche. Cliquez sur Add Client.
2. Spécifiez une valeur unique pour CLIENT ID et NAME.
3. Définissez CLIENT AUTHENTICATION sur CLIENT SECRET.
4. Pour CLIENT SECRET, cochez la case CHANGE SECRET, puis cliquez sur Generate Secret.
Notez les valeurs de CLIENT ID et CLIENT SECRET. Vous en aurez besoin lors de la configuration de la section SCIMAccessTokenServicesSettings dans le fichier sso-settings.json.
5. Dans le champ REDIRECT URIS, spécifiez https://{HOTE_THINGWORX}:8443/Thingworx/SCIMProvider/SCIM, puis cliquez sur Add.
6. Pour ALLOWED GRANT TYPES, cochez les cases Client Credentials, Resource Owner Password Credentials et Access Token Validation (Client is a Resource Server).
7. Définissez DEFAULT ACCESS TOKEN MANAGER sur Default.
8. Veillez à définir les valeurs restantes comme illustré dans l'image suivante :
9. Cliquez sur Save.
Etape 6 : Configuration de SCIM dans le fichier platform-settings.json
Etape 7 : Confirmation de l'exécution du sous-système SCIM
1. Démarrez le serveur ThingWorx.
2. Dans ThingWorx Composer, cliquez sur Parcourir et sélectionnez Sous-systèmes.
3. Sélectionnez SCIMSubsystem et vérifiez qu'il est en cours d'exécution.
Etape 8 : Mappage de USERNAME et USER_KEY
1. Dans PingFederate, recherchez Access Token Management.
2. Cliquez sur Create New Instance.
3. Spécifiez un nom d'instance (INSTANCE NAME).
4. Pour INSTANCE ID, saisissez default.
5. Définissez TYPE sur Internally Managed Reference Tokens, puis cliquez sur Next.
6. Dans l'onglet Instance Configuration, cliquez sur Next.
7. Dans l'onglet Session Validation, cliquez sur Next.
8. Dans l'onglet Access Token Attribute Contract, effectuez les opérations suivantes, puis cliquez sur Next :
a. Sous Extend the Contract, ajoutez Username pour Windchill, puis cliquez sur Add.
| Assurez-vous d'utiliser la même casse que dans l'exemple illustré ici. |
b. Sous Extend the Contract, ajoutez username pour SCIM, puis cliquez sur Add.
| Assurez-vous d'utiliser la même casse que dans l'exemple illustré ici. |
9. Dans l'onglet Resource URIs, cliquez sur Next.
10. Dans l'onglet Access Control, cliquez sur Next.
11. Dans l'onglet Summary, cliquez sur Save.
12. Recherchez Access Token Mapping, puis cliquez sur Add Mapping (dans le contexte Default).
13. Cliquez sur Next jusqu'à atteindre l'onglet Contract Fulfillment.
14. Dans l'onglet Contract Fulfillment, pour les contrats Username et username, procédez comme suit :
▪ Définissez Source sur Persistent Grant.
▪ Définissez Value sur USER_KEY.
15. Dans l'onglet Issuance Criteria, cliquez sur Next.
16. Dans l'onglet Summary, cliquez sur Save.
Etape 9 : Définition d'une connexion de fournisseur de services pour SCIM
1. Dans PingFederate, recherchez SP CONNECTIONS et créez une nouvelle connexion.
2. Dans l'onglet Connection Template, sélectionnez DO NOT USE A TEMPLATE FOR THIS CONNECTION, puis cliquez sur Next.
3. Dans l'onglet CONNECTION TYPE, effectuez les opérations suivantes, puis cliquez sur Next :
a. Assurez-vous que la case BROWSER SSO PROFILES n'est pas cochée.
b. Cochez la case OUTBOUND PROVISIONING et définissez TYPE sur SCIM 1.1 Service Provider.
4. Dans l'onglet General Info, effectuez les opérations suivantes, puis cliquez sur Next :
a. Spécifiez une valeur pour PARTNER'S ENTITY ID (CONNECTION ID) et CONNECTION NAME. Par exemple : SCIM_ADFS_SP.
b. Dans le champ BASE URL, saisissez https://Nom_domaine_complet_ThingWorx:8443/Thingworx/SCIMProvider.
| Assurez-vous qu'aucune espace ne se trouve à la fin de l'URL lorsque vous la copiez dans PingFederate. |
5. Dans l'onglet Outbound Provisioning, cliquez sur Configure Provisioning.
6. Dans l'onglet Custom SCIM Attributes, effectuez les opérations suivantes, puis cliquez sur Next :
a. Dans le champ USERS RESOURCE URL, saisissez https://Nom_domaine_complet_ThingWorx:8443/Thingworx/SCIMProvider/SCIM/Users.
| Assurez-vous qu'aucune espace ne se trouve à la fin de l'URL lorsque vous la copiez dans PingFederate. |
b. Dans le champ GROUPS RESOURCE URL, saisissez https://Nom_domaine_complet_ThingWorx:8443/Thingworx/SCIMProvider/SCIM/Groups.
| Assurez-vous qu'aucune espace ne se trouve à la fin de l'URL lorsque vous la copiez dans PingFederate. |
c. Définissez AUTHENTICATION METHOD sur OAUTH 2.0 BEARER TOKEN.
d. Spécifiez l'utilisateur (USER) en tant qu'administrateur (Administrator), puis saisissez le mot de passe (PASSWORD).
e. Spécifiez les valeurs de CLIENT ID et CLIENT SECRET du fichier sso-settings.json.
f. Dans TOKEN END POINT URL, saisissez https://Hôte PingFederate:9031/as/token.oauth2.
| Assurez-vous qu'aucune espace ne se trouve à la fin de l'URL. |
g. Assurez-vous que les cases SCIM SP SUPPORTS PATCH UPDATES et PROVISION GROUPS WITH DISTINGUISHED NAME ne sont pas cochées.
h. Définissez DEPROVISION METHOD sur DELETE USER.
7. Dans l'onglet Custom SCIM Attributes, cliquez sur Next.
Etape 10 : Création d'un canal vers le magasin de données
1. Dans l'onglet Manage Channels, cliquez sur Create.
2. Spécifiez une valeur pour CHANNEL NAME.
3. Sélectionnez comme magasin de données actif (ACTIVE DATA STORE) celui créé à l'étape 2, c'est-à-dire LDAP_ADFS, puis cliquez sur Next.
4. Dans l'onglet Source Settings, cliquez sur Next.
5. Dans l'onglet Source Location, effectuez les opérations suivantes, puis cliquez sur Next :
a. Dans le champ BASE DN, spécifiez cn=users,dc=thingworx,dc=com.
b. Sous Users, dans le champ FILTER, spécifiez (&(objectCategory=person)(objectClass=user)(cn=*)).
c. Sous Groups, dans le champ FILTER, spécifiez (&(objectCategory=group)).
6. Dans l'onglet Attribute Mapping, cliquez sur Next.
7. Dans l'onglet Activation & Summary, définissez Channel Status sur ACTIVE, puis cliquez sur Done.
8. Dans l'onglet Manage Channels, cliquez sur Done.
9. Dans l'onglet Outbound Provisioning, cliquez sur Next.
10. Assurez-vous que la connexion de fournisseur de services est active (en vert), puis cliquez sur Save.
La connexion de fournisseur de services apparaît sur la page des connexions de fournisseur de service.
Etape 11 : Ajout d'un attribut binaire LDAP
1. Accédez à > > .
2. Cliquez sur le magasin de données LDAP_ADFS et sélectionnez l'onglet LDAP Configuration.
3. Cliquez sur Advanced pour afficher les paramètres supplémentaires de liaison et de configuration.
4. Cliquez sur l'onglet LDAP Binary Attributes et ajoutez un nouvel attribut binaire avec objectGUID comme valeur.
5. Cliquez sur Save.
Partie K : Configuration de Windchill en tant que serveur de ressources
Etape 1 : Prérequis
◦ Windchill est configuré pour SSL/OAuth 2.0.
◦ Les certificats SSL ThingWorx et PingFederate ont été importés dans le fichier jssecacerts/cacerts de la machine Windchill.
◦ Le certificat SSL Windchill a été importé dans le fichier jssecacerts/cacerts de la machine ThingWorx.
◦ Le certificat SSL Windchill a été importé dans le fichier jssecacerts/cacerts de la machine PingFederate.
Etape 2 : Achèvement de la configuration du fichier Windchill OAuth 2.0
Mettez à jour le fichier securityContext.properties disponible dans <racine_installation_WC>\Windchill\codebase\WEB-INF\security\config :
◦ checkTokenEndpointUrl : nom de domaine complet de la machine PingFederate.
◦ clientId : ID client OAuth (par exemple, wnc-rp-client).
◦ clientSecret : clé du client OAuth.
◦ resourceScopes : étendue Windchill (par exemple, WINDCHILL_READ).
Etape 3 : Création d'une connexion client OAuth pour Windchill en tant que serveur de ressources
| Vous pouvez récupérer la valeur de clientId et clientSecret dans le fichier securityContext.properties. |
Etape 4 : Création des étendues Windchill dans PingFederate
1. Dans PingFederate, sur la page OAuth Server, cliquez sur Scope Management.
2. Sous Scope Value, cliquez sur Add pour ajouter les mêmes étendues, par exemple, WINDCHILL_READ, que vous avez ajouté comme valeur de resourceScopes dans le fichier securityContext.properties.
3. Cliquez sur Save.
Est-ce que cela a été utile ?