PingFederate en tant que serveur d'autorisation central > Exemples de configurations SSO > Exemple : PingFederate comme fournisseur d'identité et Windchill DS comme magasin de données
Exemple : PingFederate comme fournisseur d'identité et Windchill DS comme magasin de données
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) et fournisseur d'identité (IdP), et Windchill comme magasin de données.
La table suivante contient les applications configurées et leur rôle dans cet exemple :
Rôle
Application
Fournisseur de services
ThingWorx
Serveur d'autorisation
PingFederate
Fournisseur d'identité
PingFederate (pris en charge par Windchill DS)
* 
Avec Windchill 12.0.1.0, Windchill DS a été retiré de la pile de technologies. Des informations supplémentaires sont disponibles ici. Vous pouvez utiliser LDAP V3 à la place de Windchill DS.
PTC fournit des scripts d'automatisation pour la configuration de PingFederate décrite dans cet exemple. Pour plus d'informations, consultez la rubrique Configuration automatique de PingFederate en tant que serveur d'authentification centralisée.
Le diagramme suivant illustre la configuration décrite dans cet exemple.
Partie A : Prérequis 
Téléchargez les scripts d'automatisation et extrayez-les dans un dossier de votre machine.
Assurez-vous d'effectuer une nouvelle installation de ThingWorx.
Arrêtez le serveur ThingWorx après l'installation.
Assurez-vous que vous avez configuré Windchill DS.
Installez et démarrez PingFederate.
* 
Installez la version de Java appropriée pour la version de PingFederate. Sur la machine PingFederate, définissez la variable d'environnement JAVA_HOME et mettez à jour la variable PATH pour inclure Java en conséquence.
Partie B : Avant d'exécuter les scripts 
Etape 1 : Création et exportation du certificat SSL global pour PingFederate global SSL
1. Connectez-vous à PingFederate en tant qu'administrateur et accédez à Security > SSL Server Certificates.
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. Cliquez sur Done, puis 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.
4. Pour exporter le certificat SSL global pour PingFederate, procédez comme suit :
a. Pour le certificat que vous avez créé, cliquez sur Export.
b. Sélectionnez Certificate Only, puis cliquez sur Next.
c. Cliquez sur Export.
Le certificat est exporté vers le dossier Downloads par défaut.
d. Cliquez sur Done, puis sur Save.
Pour plus d'informations, consultez la rubrique Configuration du certificat SSL pour PingFederate.
Etape 2 : Enregistrement des fichiers de certificat dans le dossier input de la configuration automatisée de PingFederate
Les certificats sont requis en entrée du processus de configuration automatisé. Vous devez enregistrer les fichiers de certificat suivants dans le dossier input de l'outil de configuration automatisée. Le dossier input est disponible dans sso-config-pingfed-X.Y/input, où X.Y désigne la version de PingFederate.
Copiez le fichier de certificat global (.crt) pour PingFederate que vous avez exporté dans le dossier Downloads.
Pour créer et copier le fichier thingworx.cer dans le dossier input, procédez comme suit :
a. Dans le dossier <Dossier d'installation de ThingWorx>/ThingworxPlatform, créez le dossier ssoSecurityConfig.
b. Créez un KeyStore de type JKS, nommez-le sso-keystore.jks, puis enregistrez-le dans le dossier ssoSecurityConfig en procédant comme suit :
Générez une paire de clés.
Spécifiez le nom commun du certificat comme suit : ThingWorx.
c. Exportez la chaîne de certificats dans le dossier ssoSecurityConfig.
Le dossier ssoSecurityConfig doit contenir les fichiers suivants :
sso-keystore.jks
thingworx.cer
d. Copiez le fichier thingworx.cer dans le dossier sso-config-pingfed-X.Y/input.
Le dossier input doit contenir les fichiers suivants :
<Certificat_SSL_exporté_depuis_PingFederate>.crt
thingworx.cer
Etape 3 : Mise à jour du fichier user.properties
Définissez les propriétés utilisateur conformément à votre configuration.
Etape 4 : Mise à jour du fichier default.properties
Mettez à jour les propriétés par défaut conformément à votre configuration.
Partie C : Exécution des scripts d'automatisation 
1. Vérifiez que PingFederate est en cours d'exécution.
Pour cet exemple de configuration, choisissez 1. PingFederate as IdP – LDAP lors de l'exécution des scripts.
Partie D : Utilisation des artefacts générés 
Etape 1 : Copie d'artefacts dans le dossier ssoSecurityConfig
1. Copiez les fichiers suivants du dossier output de la configuration automatique de PingFederate disponible sous sso-config-pingfed-X.Y dans le dossier /ThingworxPlatform/ssoSecurityConfig :
pingfed_idp_metadata.xml
pingfed_signing_certificate.crt
pingfed_ssl_server_certificate.crt
2. Renommez pingfed_idp_metadata.xml en sso-idp-metadata.xml.
Pour plus d'informations, consultez la rubrique Utilisation des artefacts générés.
Etape 2 : Importation du certificat de signature de la couche d'application dans le KeyStore ThingWorx
Importez le fichier pingfed_signing_certificate.crt dans le fichier sso-keystore.jks du dossier /ThingworxPlatform/ssoSecurityConfig. Pour plus d'informations, consultez la section pingfed_signing_certificate.crt de la rubrique Utilisation des artefacts générés.
Etape 3 : Importation des certificats de couche de transport
Certificat SSL ThingWorx
1. Importez le certificat SSL ThingWorx dans le fichier cacerts Java de la machine PingFederate.
2. Redémarrez PingFederate.
Certificat SSL PingFederate
Importez pingfed_ssl_server_certificate.crt (le fichier de certificat SSL PingFederate) dans le fichier cacerts Java de la machine ThingWorx.
Pour plus d'informations, consultez la section pingfed_ssl_server_certificate.crt de la rubrique Utilisation des artefacts générés.
Partie E (facultatif) : Configuration du mappage des groupes 
* 
Avant de continuer, vérifiez que vous avez défini des groupes statiques dans Windchill DS.
Procédez comme suit dans PingFederate :
1. Accédez à SYSTEM > Password Credential Validators, puis sélectionnez votre Instance Name.
2. Sur la page qui s'affiche, sélectionnez l'onglet Extended Contract.
3. Dans le champ Extend the Contract, ajoutez isMemberOf et cliquez sur Add.
4. Cliquez sur Next pour afficher la page Summary.
5. Sur la page Summary qui s'affiche, vérifiez vos modifications, puis cliquez sur Save.
6. Accédez à AUTHENTICATION > IdP Adapters, puis sélectionnez votre Instance Name.
7. Sur la page qui s'affiche, sélectionnez l'onglet Extended Contract.
8. Dans le champ Extend the Contract, ajoutez isMemberOf et cliquez sur Add.
9. Cliquez sur Next pour afficher la page Adapter Attributes. Vous n'avez pas besoin d'effectuer de mises à jour sur cette page.
10. Cliquez sur Next pour accéder à la page Adapter Contract Mapping, puis sélectionnez Configure Adapter Contract.
11. Sur la page Attribute Sources & User Lookup, cliquez sur Add Attribute Source.
a. Sur la page Data Store, procédez comme suit :
i. Pour ATTRIBUTE SOURCE ID, ajoutez isMemberOf.
ii. Pour ATTRIBUTE SOURCE DESCRIPTION, ajoutez isMemberOf.
iii. Pour ACTIVE DATA STORE, sélectionnez votre magasin de données Windchill.
iv. Pour DATASTORE, LDAP est prérempli.
v. Cliquez sur Next.
b. Sur la page LDAP Directory Search, procédez comme suit :
i. Pour BASE DN, ajoutez o=ptc.
ii. Pour SEARCH SCOPE, Subtree est prérempli.
iii. Pour Attributes to return from search, sélectionnez les éléments suivants :
i. Pour ROOT OBJECT CLASS, sélectionnez <Show All Attributes>.
ii. Pour ATTRIBUTE, sélectionnez isMemberOf et cliquez sur Add Attribute.
iii. Cliquez sur Next.
c. Sur la page LDAP Filter, procédez comme suit :
i. Pour Filter, ajoutez isMemberOf=${isMemberOf}.
ii. Cliquez sur Next.
d. Sur la page Summary qui s'affiche, vérifiez vos modifications, puis cliquez sur Save.
12. Ouvrez APPLICATIONS > SP Connections et sélectionnez votre Connection Name.
13. Sur la page qui s'affiche, sélectionnez Attribute Contract pour ouvrir la page Attribute Contract, puis procédez comme suit :
a. Pour Extend the Contract, ajoutez group.
b. Pour Attribute Name Format, sélectionnez l'option avec unspecified.
c. Cliquez sur Ajouter.
d. Cliquez sur Suivant.
14. Sur la page Authentication Source Mapping qui s'affiche, sélectionnez votre Adapter Instance Name.
15. Sur la page Attribute Contract Fulfilment qui s'affiche, procédez comme suit pour le contrat d'attribut group que vous avez créé à l'étape 12.
a. Pour Source, sélectionnez Adapter.
b. Pour Value, sélectionnez isMemberOf.
c. Cliquez sur Save.
* 
Notez le nom du mappage (dans cet exemple, group), car vous en aurez besoin dans l'authentificateur SSO ThingWorx. Pour plus d'informations, consultez la rubrique Authentification unique du Centre d'aide ThingWorx.
Partie F : Configuration de ThingWorx pour l'authentification unique 
1. Assurez-vous que le serveur ThingWorx est arrêté.
Votre dossier ssoSecurityConfig doit contenir les fichiers suivants :
3. Démarrez le serveur ThingWorx.
Est-ce que cela a été utile ?