Clés d'application
Les clés d'application sont des jetons de sécurité chiffrés dans la base de données ThingWorx qui peuvent être utilisés pour la connexion à l'application ThingWorx en lieu et place des informations d'identification standard.
Vous pouvez transmettre les jetons des clés d'application vers l'en-tête de l'URL d'une requête. La requête est exécutée selon le contexte de sécurité de l'utilisateur associé à la clé d'application. Par défaut, une session n'est pas créée lorsqu'une requête est effectuée au moyen d'une clé d'application. Il s'agit de la méthode recommandée pour que d'autres systèmes et applications puissent créer une requête auprès de l'application ThingWorx. Toutefois, si vous souhaitez créer une session, vous pouvez utiliser le paramètre de requête suivant en plus de transmettre le jeton de clé d'application :x-thingworx-session=true.
En affichant une application composite via une URL et en recourant à une clé d'application, créez une session en ajoutant x-thingworx-session=true. En l'absence de session, les demandes suivantes nécessitent une authentification à l'aide de l'authentificateur HTTP de référence standard. Vous faites suivre le paramètre de requête x-thingworx-session=true par #mashup=[your mashup name] .
* 
Par sécurité, vous devez toujours accorder le minimum de privilèges lorsque vous créez et attribuez des privilèges à des clés d'application. Il n'est pas recommandé d'affecter un membre du groupe Administrateur à une clé d'application. Un avertissement s'affichera si vous tentez de créer une clé d'application basée sur un utilisateur disposant de privilèges d'administrateur.
Propriétés des clés d'application
Nom de la propriété
Description
Nom
Mot ou expression identifiant cette clé. Champ obligatoire.
Avatar
Image qui peut être chargée pour représenter visuellement la clé d'application.
Description
Description de la clé d'application.
Projet
Tâche ou groupe associé(e) à cette clé.
Tags
Tags de modèle que vous pouvez utiliser pour grouper ou catégoriser la clé d'application.
Liste blanche d'adresses IP
Liste des adresses IP autorisées à accéder à ThingWorx à l'aide de la clé d'application. Séparez les adresses IP par une virgule. En l'absence d'indication, toute adresse IP peut utiliser la clé d'application.
Nom du client
Champ définissable par l'utilisateur qui peut représenter toute valeur, notamment le client associé à la clé d'application ou une adresse IP. ThingWorx ignore toute valeur attribuée à ce champ.
Référence de nom d'utilisateur
Nom d'utilisateur qui est associé à la clé d'application. Champ obligatoire.
ID de clé
Valeur clé générée par ThingWorx. L'ID de clé ne peut pas être modifié.
* 
L'ID de clé est stocké sous forme chiffrée dans la base de données. La clé symétrique utilisée pour chiffrer la valeur est stockée dans /ThingWorxStorage/keystore.jks, et le mot de passe pour le KeyStore est stocké dans /ThingWorxPlatform/keystore-password. Si ces fichiers n'existent pas, ils seront générés. Si elle n'existe pas, une clé symétrique sera créée avant le démarrage du système. Si vous installez et gérez le serveur ThingWorx, assurez-vous de conserver ces fichiers. S'ils sont perdus, les clés d'application ne fonctionneront plus, ce qui signifie que la valeur ne pourra pas être chiffrée au démarrage du système et que les clés d'application existantes ne pourront plus être enregistrées ni authentifiées.
Date d'expiration
Date d'expiration de la clé d'application. Si une date d'expiration n'est pas définie, la valeur par défaut du sous-système de gestion utilisateur est utilisée. Pour les versions ThingWorx 8.1 et antérieures, les clés d'application expirent 24 heures après leur création si la date d'expiration n'est pas spécifiée ou si la valeur de Durée de vie des clés de l'application (sec) n'est pas modifiée dans le sous-système de gestion des utilisateurs.
Date de dernière modification
Date et heure auxquelles la clé d'application a été modifiée en dernier lieu.
Application composite d'accueil
Application composite par défaut associée à la clé d'application.
Documentation
Notes facultatives ou informations générales décrivant comment ou pourquoi cet élément est utilisé dans l'environnement.
Création d'une clé d'application
Suivez les étapes ci-dessous pour créer une clé d'application. La clé créée prend en compte les paramètres de sécurité accordés à l'utilisateur associé dans le champ Référence de nom d'utilisateur.
1. Dans ThingWorx Composer, cliquez sur Nouveau.
2. Faites défiler vers le bas et sélectionnez Clés d'application.
3. Saisissez un nom.
4. Si vous le souhaitez, sélectionnez ou saisissez une Description, un Projet et des Tags pour cette clé.
5. Dans le champ Référence de nom d'utilisateur, sélectionnez l'utilisateur associé à la clé d'application.
6. Remplissez les champs facultatifs de votre choix, tels que Liste blanche d'adresses IP, Nom du client, Application composite d'accueil, Avatar, Date d'expiration ou Documentation.
* 
Si aucune Date d'expiration n'est définie, une valeur sera calculée à partir de la date de création de l'entité clé d'application, à laquelle s'ajoute le paramètre Durée de vie des clés de l'application (sec) dans le sous-système de gestion des utilisateurs.
7. Cliquez sur Enregistrer.
8. La clé d'application s'affiche dans le champ ID de clé.
Suppression d'une clé d'application
Bien qu'une date d'expiration puisse être spécifiée pour une clé d'application, une clé n'est pas automatiquement supprimée lorsqu'elle arrive à expiration. Vous pouvez écrire une logique d'application ThingWorx qui itère et supprime régulièrement les clés d'application arrivées à expiration. Consultez la rubrique Services de clé d'application. Pour supprimer manuellement une clé d'application :
1. Dans Composer, choisissez Tous.
2. Faites défiler vers le bas jusqu'à la section SECURITE.
3. Développez la section, si nécessaire, puis localisez Clés d'application.
4. Sélectionnez une clé d'application en cochant la case à gauche de son nom.
5. Cliquez sur le bouton Supprimer.
Création d'une clé d'application via un service
Pour créer une macro d'application via un service, suivez l'exemple ci-après :
var params = {
clientName: undefined /* STRING */,
name: undefined /* STRING */,
description: undefined /* STRING */,
project: undefined /* STRING */,
whitelist: undefined /* STRING */,
user: undefined /* USERNAME */,
tags: undefined /* TAGS */,
expirationDate: undefined /* DATETIME */
};
// no return
Resources["EntityServices"].CreateApplicationKey(params);
//Get the generated Key's actual appKey value
var KeyID = ApplicationKeys["YOURKEYNAME"].GetKeyID();
* 
Si aucune Date d'expiration n'est définie, une valeur sera calculée à partir de la date de création de l'entité clé d'application, à laquelle s'ajoute le paramètre Durée de vie des clés de l'application (sec) dans le sous-système de gestion des utilisateurs.
Bonnes pratiques pour la configuration initiale de clés d'application et la première connexion
Les périphériques doivent toujours être mis en ligne dans une sandbox de développement ou y être simulés lorsque cela est possible. Lorsqu'un périphérique est prêt pour production, il convient de créer de nouvelles clés d'application pour chaque périphérique qui se trouvera sur le réseau Edge de l'application. Une fois une clé d'application unique créée et déployée sur le périphérique concerné, celui-ci doit être surveillé lors de son initialisation pour confirmer sa connexion à la plateforme.
Expiration et rotation des clés application
Concernant les clés d'application, il est recommandé de fixer une date d'expiration correspondant au cycle de vie attendu du périphérique qui utilisera les informations d'identification de la clé d'application. Il est par ailleurs déconseillé d'utiliser la même clé d'application pour plusieurs périphériques, surtout si leurs cycles de vie sont différents. A l'expiration d'une clé d'application, vous devez en installer une nouvelle sur le périphérique.
Expiration des clés d'application pour les applications stratégiques
Si aucun système ne peut créer une nouvelle clé d'application pour le périphérique, il est possible de mettre à jour la date d'expiration de la clé d'application afin de prolonger sa durée de validité. Bien que cette approche ne soit pas recommandée, elle peut constituer une solution alternative lorsque des données stratégiques pourraient être perdues. Notez cependant que définir pour la clé d'application un cycle de vie supérieur à celui du périphérique expose l'infrastructure d'applications stratégiques à des menaces de sécurité.
Rubriques connexes