Définition du modèle ThingWorx dans Composer > Sécurité > Services d'annuaire > Gestion des utilisateurs dans l'Active Directory
Gestion des utilisateurs dans l'Active Directory
Vous pouvez gérer les utilisateurs et groupes d'utilisateurs dans ThingWorx s'ils existent déjà dans le service d'annuaire Microsoft Active Directory. ThingWorx permet le mappage des groupes d'utilisateurs de l'Active Directory avec les groupes d'utilisateurs de ThingWorx. Les options de provisionnement d'utilisateur permettent aux utilisateurs d'être créés, modifiés ou supprimés. Les permissions sont contrôlées dans ThingWorx pour chaque groupe d'utilisateurs.
* 
La fonction Active Directory n'est pas activée par défaut dans ThingWorx. Un utilisateur administrateur de ThingWorx doit activer Active Directory avant qu'il puisse servir à authentifier les accès dans ThingWorx.
Cette rubrique couvre les aspects suivants :
Mise en route
Pour commencer, créez un service d'annuaire dans ThingWorx en y important un fichier XML d'entités. Une fois le fichier importé, vous pouvez configurer le service d'annuaire dans ThingWorx. Lorsque vous utilisez le fichier XML, respectez les règles suivantes :
Le fichier XML doit contenir un ou plusieurs services d'annuaire utilisant la classe Java com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService comme classNameattribut d'un élément DirectoryService.
Pour chaque élément DirectoryService, une valeur unique du name doit être fournie.
La valeur name doit également être unique entre tous les services d'annuaire qui existent dans le cadre de l'exécution de ThingWorx.
L'attribut priority doit posséder un numéro unique d'ordre de priorité pour l'authentification. En outre, un ordre de priorité unique doit être ajouté à chaque service d'annuaire dans le fichier, ainsi que dans le runtime ThingWorx. Cet ordre de priorité correspond à l'ordre dans lequel ThingWorx doit consulter le service d'annuaire lors de la validation des informations d'identification.
* 
Les services d'annuaire fonctionnent selon un ordre de priorité lié aux fins de l'authentification. Si le service d'annuaire avec la plus faible valeur de priorité (1 dans l'exemple ci-dessous) ne parvient pas à valider l'authentification d'un utilisateur, la chaîne tente de valider l'utilisateur par rapport au service d'annuaire de la chaîne avec la prochaine priorité la plus élevée. Reportez-vous aux exemples ci-dessous.
Exemple XML : service d'annuaire unique
Dans l'exemple ci-dessous, le fichier XML de configuration minimale requis pour importer un nouveau service d'annuaire dans ThingWorx est inclus.
* 
Les exemples ci-après s'adressent à un utilisateur administrateur.

<Entities>
<DirectoryServices>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS1" priority="1" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
</DirectoryServices>
</Entities>

Exemple XML : deux services d'annuaire
Dans l'exemple ci-dessous, il existe deux services d'annuaire. L'attribut priority est défini dans chaque DirectoryService.
<Entities>
<DirectoryServices>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS1" priority="1" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
<DirectoryService
className="com.thingworx.security.directoryservices.ActiveDirectoryDirectoryService"
description="Active Directory Directory Services"
documentationContent="" enabled="false" homeMashup=""
lastModifiedDate="" name="ADDS2" priority="2" projectName=""
tags="">
<Owner name="Administrator" type="User" />
<avatar />
<DesignTimePermissions>
<Create />
<Read />
<Update />
<Delete />
<Metadata />
</DesignTimePermissions>
<RunTimePermissions />
<VisibilityPermissions>
<Visibility />
</VisibilityPermissions>
<ConfigurationTables/>
<ConfigurationChanges />
</DirectoryService>
</DirectoryServices>
</Entities>
Configuration pour les services d'annuaire
Une fois que vous avez importé un fichier XML pour un service d'annuaire Active Directory, vous devez le configurer. Pour accéder à la page de configuration dans ThingWorx Composer :
1. Dans le panneau de navigation Parcourir, développez SECURITE, puis sélectionnez Services d'annuaire.
2. Sur la page Services d'annuaire, cliquez sur le nom du service d'annuaire Active Directory. La page Informations générales du service d'annuaire s'affiche.
3. Cochez la case Activé pour activer ce service d'annuaire, puis cliquez sur Enregistrer.
4. Sélectionnez Configuration pour afficher la page de configuration. Vous êtes dès lors prêt à configurer le service d'annuaire.
* 
Les options de configuration décrites dans cette section et les sections qui suivent sont toutes accessibles sur la page de configuration de l'entité Service d'annuaire. Pour obtenir de l'aide sur les messages d'erreur de configuration, consultez la section Messages d'erreur de configuration.
Les informations d'identification saisies par l'utilisateur lors de la connexion à ThingWorx sont validées par consultation de l'objet utilisateur et du mot de passe associé dans les paramètres de la table de configuration User Base Distinguished Name. Deux paramètres, complètement indépendants l'un de l'autre, vous permettent de spécifier un domaine sur une entité Active Directory. Domain Distinguished Name est utilisé lors de la consultation de groupes. Par conséquent, si vous utilisez la fonctionnalité de mappage de groupes, vérifiez que tous les groupes auxquels appartiennent les utilisateurs sont conformes à la valeur Domain Distinguished Name spécifiée. User Base Distinguished Name est utilisé pour comparer l'objet utilisateur dans Active Directory avec le nom d'utilisateur et le mot de passe indiqués lors de la connexion à ThingWorx.
* 
Lors de la configuration de plusieurs objets de services d'annuaire, évitez de faire chevaucher les bases de recherche de l'utilisateur dans votre structure Active Directory.
Paramètres de connexion
Depuis la version 8.3.5, la section Paramètres de connexion de la configuration Active Directory comprend une option Connexion utilisateur dynamique. Voici la page révisée :
La table suivante décrit les Paramètres de connexion d'un service d'annuaire. Tous les champs des paramètres de connexion sont obligatoires.
Nom
Description
Nom d'attribut XML
Valeur par défaut
Exemple de valeur
Modèle URI
Chaîne qui spécifie le protocole associé qui est utilisé dans les communications vers le serveur Active Directory.
protocole
LDAP
LDAP
Nom de domaine complet du serveur ou adresse IP
Le nom/adresse du serveur visé(e) pour les requêtes portant sur l'annuaire.
Serveur
localhost
localhost, domainserver.acme.com, 127.0.0.1
Port réseau du serveur
Port du serveur visé pour les requêtes portant sur l'annuaire.
port
389
389, 369, 10389
Nom unique de domaine
Nom global autorisé du répertoire de niveau supérieur utilisé lors d'une consultation d'un groupe d'utilisateurs.
domain
n/a
DC=test, DC=acme, DC=com
Connexion utilisateur dynamique
Détermine si la connexion utilisateur dynamique est activée. Consultez la section suivante pour plus de détails.
dynamicUserLogin
Case décochée (paramètre désactivé).
Case cochée.
Nom de l'identité d'administration
Nom de l'utilisateur qui possède un accès administrateur en lecture à l'objet domaine spécifié. La valeur de ce nom dépend de la valeur User Id Attribute spécifiée dans la table de configuration des mappages de schémas.
adminPrincipal
n/a
AcmeAdmin
Mot de passe d'administration
Mot de passe associé au nom de l'identité d'administration spécifié dans la table de configuration des paramètres de connexion.
adminPassword
n/a
AcmePassword
Connexion utilisateur dynamique
* 
Il est recommandé que les utilisateurs s'authentifient systématiquement auprès de ThingWorx Platform avec le même nom d'utilisateur lorsque la fonction Connexion utilisateur dynamique est activée. Dans le cas contraire, en raison d'une limitation actuelle de ThingWorx Platform, plusieurs comptes ThingWorx Platform seront créés pour le même utilisateur. Par exemple, supposons qu'un utilisateur se connecte à l'aide de son displayName, testuser. Un compte utilisateur nommé testuser est alors créé sur la plateforme. Si le même utilisateur se connecte par la suite à l'aide de son UPN (Universal Principal Name), dans cet exemple testuser@domain.com, l'utilisateur testuser@domain.com sera également créé sur la plateforme.
Lorsque la Connexion utilisateur dynamique est activée, les paramètres du nom et du mot de passe de l'identité d'administration sont ignorés. L'utilisateur qui se connecte à l'annuaire de ThingWorx Platform est authentifié dans Active Directory au moyen de son nom d'utilisateur et de son mot de passe. Les méthodes d'authentification actuellement prises en charge dans Active Directory sont le displayName, l'UPN et le domain\samAccountName.
Lorsque la Connexion utilisateur dynamique est désactivée, le processus de connexion de l'utilisateur reste le même que sur ThingWorx Platform 8.3.0 à 8.3.4.
Mappages de groupes
Il est important de bien comprendre les règles relatives à la visibilité, aux permissions et aux organisations applicables dans ThingWorx pour les utilisateurs et les groupes afin que la configuration des mappages réponde aux exigences. Si les permissions ne sont pas attribuées correctement, les utilisateurs pourront accéder à des contenus auxquels ils ne devraient pas pouvoir accéder.
Lorsque les mappages de groupes ne sont pas requis, une absence de mappage de groupes entraîne des permissions limitées (uniquement les permissions par défaut dont dispose l'utilisateur) si un utilisateur est configuré ou mis à jour.
La configuration des Mappages de groupes est accessible au milieu de la page de configuration pour un service d'annuaire Active Directory. Pour configurer des mappages de groupes :
1. Dans ThingWorx Composer, accédez au service d'annuaire Active Directory dans Composer (Sécurité > Services d'annuaire > Nom du service Active Directory).
2. Ouvrez la page de configuration, accédez à la section Mappages de groupes, puis cliquez sur Ajouter, comme illustré ci-dessous :
3. Dans le champ Nom du groupe Active Directory de la fenêtre Mappages de groupes, spécifiez le nom d'un groupe Active Directory que vous souhaitez mapper à un groupe ThingWorx.
4. Dans le champ Nom du groupe ThingWorx, cliquez sur le signe + pour afficher la liste déroulante des groupes ThingWorx (voir la capture d'écran ci-dessous). A noter que des fonctionnalités de Recherche avancée sont disponibles, qui vous permettent notamment de filtrer par type spécifique. Cette liste déroulante est disponible depuis la version 8.3.5 de ThingWorx.
* 
Le formulaire GroupMappings suivant s'affiche lorsque la fonction Connexion utilisateur dynamique est désactivée.
5. Dans la version suivante du formulaire GroupMappings, notez que le message "Informations d'identification requises" s'affiche lorsque la fonction Dynamic Group Login est activée. Pour spécifier le Nom du groupe Active Directory, cliquez sur l'icône de cadenas verte.
6. Lorsque la boîte de dialogue Fournir les informations d'identification s'affiche, définissez les paramètres AdministrativePrincipalName et AdministrativePassword, puis cliquez sur Définir.
La table suivante décrit les paramètres des mappages de groupes :
Mappages de groupes
Nom
Description
Valeurs valides
Nom du groupe Active Directory
Nom du groupe Active Directory associé/mappé au groupe ThingWorx à des fins de vérification des permissions/autorisations lors de l'exécution.
Chaîne non vide, chaîne non vierge, contenant un nom de groupe qui correspond à un objet groupObjectClass dans Active Directory dans le domaine configuré.
Nom de groupe ThingWorx
Nom du groupe ThingWorx qui contiendra les configurations des permissions/autorisations ThingWorx utilisées au moment de l'exécution. Les utilisateurs configurés par Active Directory sont ajoutés à ce groupe ThingWorx. Il est basé sur le groupe Active Directory auquel l'utilisateur appartient, qui est mappé à ce groupe ThingWorx.
Chaîne non vide, chaîne non vierge, contenant un nom de groupe qui correspond à une entité groupe dans ThingWorx.
Mappages de groupes avec la fonction Connexion utilisateur dynamique
Avec l'ajout de la fonction Connexion utilisateur dynamique dans la version 8.3.5, les services GetDomainGroups et IsValidGroup prennent des arguments qui permettent la transmission des informations d'identification utilisateur administratives Active Directory, par exemple depuis l'interface utilisateur, lorsque la fonction est activée. Lorsque la Connexion utilisateur dynamique est désactivée (par défaut), les informations d'identification administratives sont facultatives pour les services IsValidGroup et GetDomainGroups. Le service TestConnection fonctionne avec toutes les informations d'identification requises. Dès lors que les paramètres sont vides, les services utilisent les informations d'identification administrateur.
Validation des groupes pour les mappages de groupes
Depuis la version 8.3.5, ThingWorx Composer fournit une zone de texte sur la page Mappages de groupes dans laquelle vous pouvez spécifier le nom d'un groupe Active Directory. La sélection d'un groupe Active Directory dans une liste déroulante est toujours possible. La zone de texte prend en charge la spécification d'un groupe au moyen de son nom ou de son nom global autorisé. Par exemple, TestGroup est un nom simple, alors que CN=TestGroup, CN=Users, DC=domain, DC=com est un nom global autorisé.
Le service IsValidGroup, également disponible depuis la version 8.3.5, vous permet de rechercher le nom d'un groupe valide dans Active Directory. Ce service prend un paramètre unique de type STRING, groupName, qui spécifie le nom du groupe à rechercher. Le service renvoie un résultat de type BOOLEAN qui indique si le groupe existe dans Active Directory.
* 
Le caractère générique "étoile" ("*") n'est PAS pris en charge par groupName.
Appartenance à des groupes imbriqués
Depuis la version 8.3.5, l'option de configuration Ajouter les utilisateurs à mapper aux groupes d'ancêtres est disponible dans la section Mappages de schémas de la configuration Active Directory. Ce paramètre de type BOOLEAN active ou désactive la prise en compte de l'appartenance à des groupes imbriqués.
Lorsque la prise en compte de l'appartenance à des groupes imbriqués est activée, il se produit ce qui suit :
Active Directory est interrogé à l'aide d'une règle de correspondance extensible pour extraire à la fois les groupes auxquels appartient l'utilisateur et les groupes auxquels appartiennent ces groupes, quelle que soit la profondeur de l'imbrication.
Ces groupes sont comparés à la table Mappages de groupes pour attribuer l'utilisateur ThingWorx concerné aux groupes d'utilisateurs appropriés.
Cette option peut avoir un impact sur les performances, dans la mesure où elle augmente la charge qui pèse sur Active Directory, et peut produire un grand nombre de résultats.
Lorsque la prise en compte de l'appartenance à des groupes imbriqués est désactivée, le processus est identique à celui mis en oeuvre sur ThingWorx Platform version 8.3.0 à 8.3.4.
Mappages de schémas
Pour que l'authentification et le mappage/la récupération des groupes fonctionnent, les champs suivants de cette section sont obligatoires : Nom d'attribut d'ID utilisateur, Nom de classe d'objet de groupe, Nom d'attribut d'appartenance au groupe, Nom d'attribut de groupe, Nom d'attribut d'indicateur d'utilisateur, Bit de désactivation de l'attribut de contrôle utilisateur et Bit de verrouillage de l'attribut de contrôle utilisateur.
Mappages de schémas
Nom
Description
Nom d'attribut XML
Valeur par défaut
Exemple de valeur
Nom d'attribut d'ID utilisateur
Nom de l'attribut contenant la valeur de nom d'utilisateur qui est utilisée pour établir une correspondance avec le nom d'utilisateur spécifié lors de l'ouverture d'une session ThingWorx.
attributeUserIdName
cn
cn, userPrincipleName
Nom unique de base utilisateur
Nom global autorisé du répertoire de niveau supérieur utilisé lors d'une validation des informations d'identification de l'utilisateur.
userBaseDN
ou=people
DC=test, DC=acme, DC=com
Nom de classe d'objet de groupe
Valeur de l'attribut objectClass qui indique que l'objet est un groupe. Les objets de groupe font l'objet de requêtes et sont présentés dans le cadre du mappage de groupes Active Directory/ThingWorx dans la table de configuration Mappages de groupes.
groupObjectClass
group
group
Filtre LDAP de groupe pour filtrer les groupes de domaines
Permet de filtrer un grand nombre de groupes de domaines.
* 
Si vous disposez d'un grand nombre de groupes, ce paramètre doit être configuré (ne le laissez pas vide). S'il est laissé vide, les performances lors de la récupération d'un grand nombre de groupes pourront s'en trouver affectées.
groupLdapFilter
n/a
(cn=a_testgroup111*)(cn=b_testgroup222*)
Nom d'attribut d'appartenance au groupe
Nom de l'attribut qui indique qu'un utilisateur ou un groupe est un "membre" d'un autre groupe. Pour chaque entrée memberOf d'un utilisateur dans Active Directory, l'utilisateur est ajouté en tant que membre au groupe ThingWorx qui est mappé au groupe Active Directory nommé dans l'entrée memberOf.
memberOfAttribute
memberOf
memberOf
Nom d'attribut de groupe
Nom de l'attribut qui doit être utilisé pour récupérer le nom affiché du groupe dans l'interface utilisateur ThingWorx, spécifiquement dans les sélections de la table de configuration des Mappages de groupes.
* 
Utilisez distinguishedName pour afficher le chemin d'accès complet à l'emplacement du groupe dans Active Directory. Cela fournit le contexte du sous-domaine auquel il appartient lorsqu'un groupe existe dans plusieurs domaines.
groupAttribute
cn
cn
Nom d'attribut d'indicateur d'utilisateur
Pour en savoir plus, consultez le site https://msdn.microsoft.com/en-us/library/cc223145.aspx
userControlAttribute
userAccountControl
userAccountControl
Bit de désactivation de l'attribut de contrôle utilisateur
Nombre entier/valeur décimale du marqueur Bit de désactivation dans le nom d'attribut d'indicateur d'utilisateur (à savoir userControlAttribute par défaut). Pour en savoir plus, consultez le site https://msdn.microsoft.com/en-us/library/cc223145.aspx.
userDisableBit
2
2
Bit de verrouillage de l'attribut de contrôle utilisateur
Nombre entier/valeur décimale du marqueur Bit de verrouillage dans le nom d'attribut d'indicateur d'utilisateur (à savoir userControlAttribute par défaut). Pour en savoir plus, consultez le site https://msdn.microsoft.com/en-us/library/cc223145.aspx.
userLockoutBit
16
16
Identificateur du nom de forêt
Identifie une collection/forêt de contrôleurs de domaine. Les différents objets de service d'annuaire configurés avec la même chaîne seront en mesure de mapper les groupes de chacun des autres domaines dans leur configuration des Mappages de groupes. Reportez-vous aux sections suivantes pour examiner des exemples d'utilisation de cette option.
forestNameIdentifier
n/a
Approvisionnement utilisateur
L'approvisionnement utilisateur fournit des options permettant de créer, de modifier et de supprimer automatiquement des utilisateurs dans ThingWorx.
Nom
Description
Nom d'attribut XML
Valeur par défaut
Remarques
Création d'utilisateur activée
Contrôle la création ou le provisionnement automatique des utilisateurs ThingWorx si les informations d'identification sont correctes sur le serveur Active Directory qui émet la requête de connexion.
Si ce champ est sélectionné, les utilisateurs seront créés à l'aide du nom d'utilisateur de connexion spécifié, ainsi qu'avec les valeurs par défaut définies dans la table de configuration des paramètres utilisateur par défaut.
Lorsque ce champ n'est pas sélectionné/porte la valeur "faux" (par défaut), les utilisateurs doivent préalablement exister dans ThingWorx pour pouvoir se connecter.
Les utilisateurs doivent exister dans ThingWorx pour que les connexions soient fructueuses. Si l'utilisateur figure dans la table de configuration Liste d'exclusion d'approvisionnement utilisateur, ce champ n'a aucun effet sur la création automatique de l'utilisateur.
userCreationEnabled
false
A définir sur vrai si vous souhaitez que le service d'annuaire de ThingWorx ait la possibilité de créer automatiquement des utilisateurs.
Modification d'utilisateur activée
Contrôle la mise à jour ou le provisionnement automatique des utilisateurs ThingWorx si les informations d'identification sont correctes sur le serveur Active Directory qui émet la requête de connexion.
Lorsque ce champ est sélectionné/porte la valeur "vrai", les utilisateurs sont mis à jour lors de chaque tentative de connexion. Ils sont mis à jour en fonction des valeurs par défaut spécifiées dans la table de configuration des paramètres utilisateur par défaut.
Lorsque ce champ n'est pas sélectionné/porte la valeur "faux" (par défaut), les utilisateurs ne sont pas mis à jour lors de chaque tentative de connexion faisant suite à la tentative initiale lorsque l'utilisateur avait été automatiquement créé ou configuré. Les utilisateurs doivent exister dans ThingWorx pour que les connexions soient fructueuses.
Si l'utilisateur figure dans la table de configuration Liste d'exclusion d'approvisionnement utilisateur, ce champ n'a aucun effet sur la mise à jour automatique de l'utilisateur.
userModificationEnabled
false
Définissez cette option sur vrai pour autoriser le service d'annuaire de ThingWorx à mettre à jour des utilisateurs.
Suppression d'utilisateur activée
Contrôle la suppression/déconfiguration automatique des utilisateurs ThingWorx si ceux-ci n'existent pas sur le serveur Active Directory qui émet la requête de connexion.
Lorsque ce champ est sélectionné/porte la valeur "vrai", les utilisateurs sont supprimés lors d'une tentative de connexion.
Lorsque ce champ n'est pas sélectionné/porte la valeur "faux", les utilisateurs ne sont pas supprimés lors d'une tentative de connexion. Les utilisateurs doivent exister dans ThingWorx pour que les connexions aboutissent et que les suppressions soient possibles. Si l'utilisateur figure dans la table de configuration Liste d'exclusion d'approvisionnement utilisateur, ce champ n'a aucun effet sur la suppression automatique de l'utilisateur.
userDeletionEnabled
false
Définissez cette option sur vrai pour autoriser le service d'annuaire de ThingWorx à supprimer des utilisateurs.
Paramètres utilisateur par défaut
La table ci-après décrit les paramètres par défaut disponibles pour les utilisateurs. Ces champs sont facultatifs.
Nom
Description
Nom d'attribut XML
Valeurs valides
Remarques
Préfixe de domaine par défaut de l'utilisateur configuré
Valeur de chaîne considérée comme préfixe pour les noms d'utilisateurs afin de pouvoir distinguer un utilisateur X issu du serveur de domaine Y d'un utilisateur X issu du serveur de domaine Z.
Cela permet aux services d'annuaire Active Directory configurés de savoir explicitement si l'utilisateur à valider est visé pour les opérations de gestion. Lorsqu'une valeur est configurée, le service d'annuaire Active Directory n'essaie pas de valider ou de configurer l'utilisateur. Au lieu de cela, il consigne les messages de sécurité appropriés et transmet la tentative de connexion de l'utilisateur au service d'annuaire ThingWorx suivant dans le circuit.
* 
Il est recommandé d'utiliser un préfixe de domaine si le même utilisateur existe dans plusieurs serveurs de domaine et dans les domaines connexes. Cela réduit au minimum le comportement non déterministe qui pourrait survenir en raison de la fonctionnalité de réduction du "débit d'eau" en cas d'échec de validation de l'utilisateur.
userDefaultDomainPrefix
Chaîne vide ou toute chaîne contenant des caractères de nom d'entité valides
S'il existe plusieurs serveurs de domaine configurés, cette configuration doit être utilisée. Par exemple, NA ou EUR peut être utilisé comme préfixe de domaine.
* 
Ce paramètre peut produire des résultats inattendus lorsque la fonction Connexion utilisateur dynamique est activée, car le préfixe de domaine par défaut de l'utilisateur configuré est supprimé du nom d'utilisateur saisi au moment de l'authentification de l'utilisateur avant toute tentative de liaison avec Active Directory. Par exemple, si le "Préfixe de domaine par défaut de l'utilisateur configuré" est défini sur "mydomain\" et que l'utilisateur entre "mydomain\username" pour s'authentifier auprès de ThingWorx, seul le "username" est envoyé à Active Directory pour l'authentification. L'authentification pourra échouer pour l'utilisateur même si "mydomain\username" correspond au domain\samAccountName de l'utilisateur dans Active Directory.
* 
Si le même nom d'utilisateur existe sur plusieurs domaines Active Directory, l'authentification échouera si l'utilisateur qui se connecte n'est pas précisément l'utilisateur trouvé dans Active Directory. Cela dépendra de l'ordre d'interrogation.
Description par défaut de l'utilisateur configuré
Valeur chaîne de description qui est définie en tant que description pour tous les utilisateurs configurés. Il s'agit d'un paramètre utile qui permet l'ajout d'informations contextuelle à un utilisateur, telles que "Auto-configuré par le serveur de domaine Y".
userDefaultDescription
Chaîne vide ou toute chaîne de description
Cette option doit être utilisée si une description par défaut de tous les utilisateurs configurés (à savoir les utilisateurs créés ou mis à jour automatiquement) est privilégiée.
Application composite d'accueil par défaut de l'utilisateur configuré
Valeur de nom de l'application composite d'accueil qui est définie comme application composite par défaut pour tous les utilisateurs configurés. Il s'agit d'un paramètre qui permet à tous les utilisateurs configurés de démarrer avec une application composite d'accueil commune lorsqu'ils se connectent à ThingWorx. Exemples de ces applications composites : application composite pour invités, application composite en self-service, application composite pour opérateurs, etc.
userDefaultHomeMashupName
Chaîne vide pour annuler ou nom valide d'une application composite existante
Cette option doit être utilisée si une application composite d'accueil par défaut pour tous les utilisateurs configurés (à savoir les utilisateurs créés ou mis à jour automatiquement) est privilégiée.
Par exemple, cela peut s'avérer utile si la même application composite (GuestMashup, SelfServiceMashup ou LandingPageMashup) est choisie pour s'afficher au démarrage pour tous les utilisateurs lorsqu'ils se connectent à ThingWorx.
Application composite mobile par défaut de l'utilisateur configuré
Valeur de nom de l'application composite mobile qui est définie pour tous les utilisateurs configurés et destinée à une utilisation sur les périphériques mobiles. Il s'agit d'un paramètre qui permet à tous les utilisateurs configurés de démarrer avec une application composite mobile commune lorsqu'ils se connectent à ThingWorx. Exemples de ces applications composites : application composite mobile pour invités, application composite mobile en self-service, application composite mobile pour opérateurs, etc.
userDefaultMobileMashupName
Chaîne vide pour annuler ou nom valide d'une application composite existante
Cette option doit être utilisée si une application composite mobile par défaut pour tous les utilisateurs configurés (à savoir les utilisateurs créés ou mis à jour automatiquement) est privilégiée.
Par exemple, cela peut s'avérer utile si la même application composite (GuestMashup, SelfServiceMashup ou LandingPageMashup) est choisie pour s'afficher au démarrage pour tous les utilisateurs lorsqu'ils se connectent à ThingWorx.
Tags par défaut de l'utilisateur configuré
Ensemble de tags de modèle qui sont définis pour tous les utilisateurs configurés. Il s'agit d'un paramètre qui permet à tous les utilisateurs configurés d'avoir des tags communs pouvant être utilisés pour les opérations de recherche ou d'identification contextuelle. Exemples de ces tags : tag opérateur, ProvisionedByDomainServerY, ProvisionedByDomainServerZ, etc.
userDefaultTags
Chaîne vide pour annuler ou nom valide d'un tag existant
Cette option doit être utilisée si un jeu par défaut de tags de modèle pour tous les utilisateurs configurés (à savoir les utilisateurs créés ou mis à jour automatiquement) est privilégié.
Liste d'exclusion d'approvisionnement utilisateur
Il s'agit d'une table de configuration permettant à l'administrateur du service d'annuaire Active Directory d'empêcher des utilisateurs ThingWorx spécifiques de bénéficier des fonctions d'approvisionnement utilisateur du service d'annuaire Active Directory.
Les fonctions d'approvisionnement utilisateur incluent la création, la modification et la suppression des utilisateurs. Lorsque vous configurez ThingWorx avec un service d'annuaire Active Directory, les utilisateurs existants peuvent souhaiter que l'annuaire Active Directory se charge uniquement de gérer la validation de leurs informations d'identification, et aucunement de leur configuration et de leur présence. Ces types d'utilisateurs doivent être ajoutés à la configuration de la Liste d'exclusion d'approvisionnement utilisateur.
* 
L'utilisateur administrateur est automatiquement ajouté à cette liste et ne doit pas en être supprimé.
L'utilisateur administrateur est un utilisateur ThingWorx par défaut qui ne peut pas être créé ni détruit. L'utilisateur administrateur ne doit pas être modifié automatiquement. Cela pourrait en effet entraîner des changements de configuration indésirables à l'ouverture d'une session.
Scénarios de connexion de l'utilisateur
La table ci-après recense les états pré et post-utilisateur lors des tentatives de connexion à ThingWorx en fonction des options de configuration définies dans le service d'annuaire Active Directory sur ThingWorx.
* 
Les scénarios ci-dessous n'entraînent pas de modification de l'état ou de la configuration de l'utilisateur sur le serveur Active Directory.
Les éléments en gras désignent le principal critère de prise de décision de l'état "post" de l'utilisateur dans ThingWorx.
Etat de l'utilisateur sur le serveur AD
Pré-état de l'utilisateur dans ThingWorx
Option(s) de configuration
Post-état de l'utilisateur dans ThingWorx
N'existe pas
N'existe pas
N'importe quelle configuration
N'existe pas
Ne peut pas être utilisé pour se connecter
N'existe pas
Existe (manuellement créé par l'administrateur ThingWorx)
Le mot de passe a été défini/est stocké dans ThingWorx
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
Existe
N'est pas modifié ou supprimé
Peut être utilisé pour se connecter
N'existe pas
Existe (manuellement créé par l'administrateur ThingWorx)
Le mot de passe n'a pas été défini ou n'est pas stocké dans ThingWorx
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
Existe
N'est pas modifié ou supprimé
Ne peut pas être utilisé pour se connecter
N'existe pas
Existe (manuellement créé par l'administrateur ThingWorx)
Création du provisionnement de l'utilisateur activée
Modification de l'approvisionnement utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
N'existe pas
Existe (manuellement créé par l'administrateur ThingWorx)
Création du provisionnement de l'utilisateur activée
Modification de l'approvisionnement utilisateur activée
Suppression du provisionnement de l'utilisateur désactivée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
Existe
N'existe pas
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
Existe
Désactivé
N'existe pas
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
Existe
Verrouillé
N'existe pas
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
Existe
N'existe pas
Création du provisionnement de l'utilisateur désactivée
Modification de l'approvisionnement utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
N'existe pas
Ne peut pas être utilisé pour se connecter
Existe
N'existe pas
Création du provisionnement de l'utilisateur activée
Modification de l'approvisionnement utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
Existe (créé)
Ajouté en tant que membre aux groupes mappés
Paramètres utilisateur par défaut ajoutés
Peut être utilisé pour se connecter
Existe
Existe
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Non répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
Paramètres utilisateur par défaut configurés
L'utilisateur est modifié
Ajouté/supprimé en tant que membre dans les groupes mappés
Paramètres utilisateur par défaut ajoutés
Peut être utilisé pour se connecter
Existe
Existe
Création du provisionnement de l'utilisateur activée
Modification du provisionnement de l'utilisateur activée
Suppression du provisionnement de l'utilisateur activée
Répertorié dans la Liste d'exclusion d'approvisionnement utilisateur
Paramètres utilisateur par défaut configurés
L'utilisateur n'est pas modifié
Peut être utilisé pour se connecter
Existe
Verrouillé
Existe
N'importe quelle configuration
L'utilisateur est verrouillé
Ne peut pas être utilisé pour se connecter
Existe
Désactivé
Existe
N'importe quelle configuration
L'utilisateur est désactivé
Ne peut pas être utilisé pour se connecter
Scénarios de verrouillage de l'utilisateur
Les paramètres de verrouillage de compte sont configurés dans ThingWorx au niveau du sous-système de gestion de l'utilisateur.
Le gestionnaire de verrouillage est défini en tant que système (ThingWorx ou Active Directory) qui détermine le verrouillage en fonction de l'évaluation du verrou.
Légende de la table ci-dessous :
Configuration des tentatives de verrouillage ThingWorx : TVT
Configuration des tentatives de verrouillage Active Directory : VAD
Evaluation du verrouillage
Gestionnaire de verrouillage
Exemple de configuration du nombre maximum de tentatives du gestionnaire de verrouillage
Action
Résultat
TVT > VAD
VAD
2 tentatives
ThingWorx recherche un utilisateur verrouillé dans l'Active Directory
L'utilisateur ThingWorx est verrouillé immédiatement
TVT > VAD
VAD
2 tentatives
L'utilisateur se connecte à deux reprises de manière incorrecte
L'utilisateur ThingWorx est verrouillé après deux tentatives
TVT = VAD
* 
La configuration de verrouillage recommandée consiste à établir une correspondance entre ThingWorx et l'Active Directory.
VAD
2 tentatives
L'utilisateur se connecte à deux reprises de manière incorrecte
L'utilisateur ThingWorx est verrouillé après deux tentatives
TVT < VAD
VAD
2 tentatives
L'utilisateur se connecte à deux reprises de manière incorrecte
L'utilisateur ThingWorx est verrouillé après deux tentatives
Modifications du service d'annuaire ThingWorx ou de l'Active Directory
Si un utilisateur est supprimé ou mis à jour sur le serveur de domaine, un mappage de groupes est mis à jour dans le service d'annuaire Active Directory associé de ThingWorx. Si les paramètres par défaut de l'utilisateur sont modifiés, il est recommandé d'utiliser le service TerminateUserSessions dans la ressource CurrentSessionInfo associée à cet utilisateur dans ThingWorx.
* 
Si l'un ou l'autre des changements de configuration ci-après est effectué et qu'un utilisateur a été créé à partir de la configuration précédente, le service d'annuaire Active Directory ne sera pas en mesure de migrer l'ancien utilisateur vers le nouvel utilisateur. Au lieu de cela, un nouvel utilisateur sera créé et géré en fonction des valeurs nouvelles ou différentes définies avec l'attribut spécifié dans le nom d'attribut d'ID utilisateur et/ou le domaine.
La valeur du nom d'attribut d'ID utilisateur dans une configuration de mappages de schémas est un nom d'utilisateur.
Le préfixe de domaine est modifié.
Mappage des attributs utilisateur Active Directory aux propriétés UserExtension de ThingWorx
Lorsqu'un utilisateur Active Directory se connecte, il est créé dans ThingWorx et peut être automatiquement configuré, selon les paramètres définis dans Active Directory pour Create User. Les options décrites dans le tableau ci-dessous permettent aux attributs mappés d'être automatiquement mappés depuis le serveur Active Directory vers la table de propriétés UserExtension de ThingWorx. Lorsqu'un utilisateur Active Directory existant se connecte, toutes les valeurs modifiées sont intégrées au mappage UserExtension de l'utilisateur. Lorsqu'une nouvelle ligne de mappage est ajoutée dans la table de configuration UserExtension, les nouvelles données sont insérées dans les propriétés UserExtension de l'utilisateur.
Pour configurer des mappages dans ThingWorx Composer :
1. Accédez au service d'annuaire Active Directory dans Composer (Sécurité > Services d'annuaire > <Nom du service Active Directory>).
2. Affichez la page Configuration et accédez à la section Table de configuration du mappage des propriétés des extensions utilisateur, puis cliquez sur Ajouter, comme illustré ici :
3. Dans le champ Nom d'attribut Active Directory de la fenêtre de mappage des propriétés des extensions utilisateur, spécifiez le nom de l'attribut Active Directory que vous souhaitez mapper automatiquement à une propriété ThingWorx. La capture d'écran ci-après montre le menu déroulant de sélection de la propriété ThingWorx. Ce menu déroulant est disponible à partir de la version 8.3.5 de ThingWorx. Sélectionnez une valeur dans la liste.
4. Lorsque vous effectuez une sélection et que vous cliquez sur Ajouter, une nouvelle ligne apparaît dans la table de configuration :
Les options de la table de configuration suivante sont uniquement disponibles dans ThingWorx 8.2.1 et versions ultérieures.
Attribut
Description
activeDirectoryAttributeName
Nom d'un attribut dans les attributs de l'utilisateur Active Directory pouvant être mappés. Ce champ peut rester vide pour la spécification d'une valeur par défaut pour tous les utilisateurs synchronisés depuis Active Directory.
* 
Si un attribut est spécifié mais qu'il n'est pas trouvé sur un utilisateur dans Active Directory, le message d'erreur suivant apparaît dans le journal de l'application :
Attribute: <attribute_name> not found.
userExtensionPropertyName
Nom de la propriété des extensions utilisateur de la table UserExtension de l'utilisateur ThingWorx que vous souhaitez mapper à l'attribut Active Directory.
* 
Si vous voyez un message d'erreur dans le journal de l'application indiquant que le nom de la userExtensionProperty n'est pas valide, consultez la section Dépannage : nom de propriété UserExtension incorrect.
userExtensionDefaultValue
Valeur par défaut de la propriété UserExtension si l'attribut est introuvable sur le serveur AD, n'est pas valide ou est vide
Mappage d'utilisateurs et de groupes qui existent dans plusieurs domaines
Les utilisateurs appartenant à un groupe dans un domaine Active Directory distinct peuvent être mappés avec leurs groupes respectifs dans ThingWorx à l'aide de l'option Identificateur du nom de forêt. Lorsque ce champ est renseigné par une chaîne, une collection/forêt de contrôleurs de domaine est identifiée. Chaque objet de service d'annuaire configuré avec la même chaîne sera en mesure de mapper les groupes des autres domaines au sein de sa configuration des Mappages de groupes.
Valeur d'identificateur du nom de forêt
Résultat
<vierge> ou chaîne vide
Les groupes sont uniquement visibles dans l'objet de service d'annuaire spécifique à partir duquel ils sont demandés.
Chaîne ne correspondant à aucune autre configuration de service d'annuaire
Les groupes sont uniquement visibles dans l'objet de service d'annuaire spécifique à partir duquel ils sont demandés.
Chaîne correspondant à une ou plusieurs configurations de service d'annuaire
Les groupes sont uniquement visibles dans l'objet de service d'annuaire spécifique à partir duquel ils sont demandés et dans les autres objets de service d'annuaire dont l'identificateur du nom de forêt correspond.
Exemple 1 : groupes visibles dans l'objet de service d'annuaire spécifique interrogé et dans les autres objets de service d'annuaire dont l'identificateur du nom de forêt correspond
Nom du domaine
Groupes configurés
Valeur d'identificateur du nom de forêt
Groupes visibles pour le mappage
Domain1
Groupe 1, Groupe 2
<vierge>
Groupe 1, Groupe 2
Domain2
Groupe 3, Groupe 4
<vierge>
Groupe 3, Groupe 4
Domain3
Groupe 5, Groupe 6
<vierge>
Groupe 5, Groupe 6
Exemple 2 : l'identificateur de nom de forêt est différent sur tous les objets de service d'annuaire
Nom du domaine
Groupes configurés
Valeur d'identificateur du nom de forêt
Groupes visibles pour le mappage
Domain1
Groupe 1, Groupe 2
"domainForest1"
Groupe 1, Groupe 2
Domain2
Groupe 3, Groupe 4
"DomainForest"
Groupe 3, Groupe 4
Domain3
Groupe 5, Groupe 6
"Domain Forest"
Groupe 5, Groupe 6
Exemple 3 : l'identificateur de nom de forêt est identique sur deux des trois objets de service d'annuaire
Nom du domaine
Groupes configurés
Valeur d'identificateur du nom de forêt
Groupes visibles pour le mappage
Domain1
Groupe 1, Groupe 2
"domainForest"
Groupe 1, Groupe 2, Groupe 3, Groupe 4
Domain2
Groupe 3, Groupe 4
"domainForest"
Groupe 1, Groupe 2, Groupe 3, Groupe 4
Domain3
Groupe 5, Groupe 6
<vierge>
Groupe 5, Groupe 6
Exemple 4 : l'identificateur de nom de forêt est identique sur les trois objets de service d'annuaire
Nom du domaine
Groupes configurés
Valeur d'identificateur du nom de forêt
Groupes visibles pour le mappage
Domain1
Groupe 1, Groupe 2
"domainForest"
Groupe 1, Groupe 2, Groupe 3, Groupe 4, Groupe 5, Groupe 6
Domain2
Groupe 3, Groupe 4
"domainForest"
Groupe 1, Groupe 2, Groupe 3, Groupe 4, Groupe 5, Groupe 6
Domain3
Groupe 5, Groupe 6
"domainForest"
Groupe 1, Groupe 2, Groupe 3, Groupe 4, Groupe 5, Groupe 6
Echec de la validation de l'importation
Lorsqu'une entité Active Directory est importée, l'importation échoue dans le seul cas où la valeur spécifiée dans le fichier XML ne correspond pas au type de données du champ. Par exemple, si la valeur test est fournie pour l'élément <port>, l'importation échouera. Voici un extrait de code XML illustrant ce qui se produirait dans ce cas :

<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port> <================================ INVALID DATA TYPE VALUE FOR <port>. MUST BE AN INTEGER.
<protocol><![CDATA[LDAP]]></protocol>
<server><![CDATA[10.80.21.164]]></server>
</Row>
Et voici ce que vous verriez dans Composer :
Les erreurs suivantes seraient par ailleurs enregistrées dans le journal de l'application :

ERROR: [message: Conversion Error on Field port : Unable To Convert From com.sun.org.apache.xerces.internal.dom.ElementNSImpl to INTEGER]
ERROR: Entity import failed
Validation réussie de l'importation
Dans les cas où la validation ne peut aboutir du fait d'un champ obligatoire manquant ou d'une configuration non valide, l'entité Service d'annuaire est malgré tout importée, mais elle est dès lors marquée comme étant désactivée. Pour activer l'entité, vous devez alors mettre à jour les champs non valides.
* 
Une entité Service d'annuaire ne peut pas être utilisée à des fins d'authentification tant qu'elle n'est pas activée. Le processus d'activation d'une entité Service d'annuaire qui a été importée en tant qu'entité désactivée est manuel. Vous devez accéder à l'entité désactivée dans ThingWorx Composer, l'activer, puis la sauvegarder.
Voici un exemple de configuration non valide, avec un commentaire sous le paramètre non valide (protocol) :

<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port>
<protocol><![CDATA[INVALID-PROTOCOL]]></protocol>
<== INVALID CONFIGURATION VALUE FOR <protocol>. MUST BE EITHER LDAP OR LDAPS.
<server><![CDATA[10.80.21.164]]></server>
</Row>
Notez qu'une telle entité est néanmoins importée avec succès dans ThingWorx :
En revanche, la case à cocher Activé de l'entité est désélectionnée, ce qui signifie que l'entité est désactivée. La capture d'écran ci-dessous illustre ce cas de figure :
Dans ce scénario, l'erreur suivante est consignée dans le journal de l'application :

ERROR: Directory Service Error: The URI Scheme must be LDAP or LDAPS
Messages d'erreur de configuration
Le tableau ci-après répertorie les messages d'erreur susceptibles de figurer dans le journal de l'application du fait de configurations de champ non valides dans l'entité Active Directory :
Messages d'erreur de configuration
Champ
Section de la configuration
Message d'erreur
Modèle URI
Paramètres de connexion
Directory Service Error: The URI Scheme must be LDAP or LDAPS.
Nom de domaine complet du serveur ou adresse IP/
Port réseau du serveur
Paramètres de connexion
Directory Service Error: The Server FQDN or IP address cannot be null.
Directory Service Error: java.net.MalformedURLException: Not an LDAP URL: <IP>:<Port> Cannot parse url: <IP><Port
Directory Service Error:
java.net.ConnectException: Connection refused (Connection refused) to 'Server FQDN or IP address' and 'Server Network Port' <IP>:<Port>
Port réseau du serveur
Paramètres de connexion
Directory Service Error: The Server Network port must be in the range of 0 to 65535.
Nom unique de domaine
Paramètres de connexion
Directory Service Error: The Domain cannot be null.
Nom de l'identité d'administration
Paramètres de connexion
Directory Service Error: The Administrative Principal Name cannot be null.
* 
Si la fonction "Connexion utilisateur dynamique" n'est PAS activée, le nom de l'identité d'administration est obligatoire.
Mot de passe d'administration
Paramètres de connexion
Directory Service Error: The Administrative Password cannot be null.
* 
Si la fonction "Connexion utilisateur dynamique" n'est PAS activée, le mot de passe d'administration est obligatoire.
Nom d'attribut d'ID utilisateur
Mappages de schémas
Directory Service Error: The attributeUserIdName cannot be null.
Nom unique de base utilisateur
Mappages de schémas
Directory Service Error: The userBaseDN cannot be null.
Nom de classe d'objet de groupe
Mappages de schémas
Directory Service Error: The groupObjectClass cannot be null.
Nom d'attribut d'appartenance au groupe
Mappages de schémas
Directory Service Error: The memberOfAttribute cannot be null.
Nom d'attribut de groupe
Mappages de schémas
Directory Service Error: The groupAttribute cannot be null.
Nom d'attribut d'indicateur d'utilisateur
Mappages de schémas
Directory Service Error: The userControlAttribute cannot be null.
Bit de désactivation de l'attribut de contrôle utilisateur
Mappages de schémas
Directory Service Error: The userDisableBit cannot be null and must be an integer.
Bit de verrouillage de l'attribut de contrôle utilisateur
Mappages de schémas
Directory Service Error: The userLockoutBit cannot be null and must be an integer.
Nom du groupe Active Directory
Mappages de groupes
Directory Service Error: The activeDirectoryGroupName cannot be null.
Nom de groupe ThingWorx
Mappages de groupes
Directory Service Error: The thingworxGroupName cannot be null.
Application composite d'accueil par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaultHomeMashupName cannot be an invalid mashup name.
Application composite mobile par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaulMobileMashupName cannot be an invalid mashup name.
Tags par défaut de l'utilisateur configuré
Valeurs utilisateur par défaut
Directory Service Error: The userDefaulTags cannot have invalid tags.
Directory Service Error: The userDefaulTags cannot have an invalid tag name.
Nom d'utilisateur ThingWorx
Liste d'exclusion d'approvisionnement utilisateur
Directory Service Error: The thingworxUserName cannot be null.
Test de la connectivité Active Directory
Depuis la version 8.3.5, dans la section Paramètres de connexion de la page de configuration du service d'annuaire, le bouton Vérifier sous Connexion test vous permet de tester la connexion au serveur Active Directory sur la base de la configuration actuelle. Les champs suivants de la section Paramètres de connexion de la configuration sont utilisés pour tester la connexion Active Directory :
Modèle URI
Nom de domaine complet du serveur ou adresse IP
Port réseau du serveur
Nom de l'identité d'administration
Mot de passe d'administration
Le bouton Vérifier démarre le service TestConnection, qui prend les paramètres suivants :
Paramètres du service TestConnection
Paramètre
Type de base
Description
userName
STRING
Nom de l'utilisateur dans l'Active Directory.
password
STRING
Mot de passe chiffré de l'utilisateur Active Directory.
protocol
STRING
Schéma utilisé (LDAP ou LDAPS).
server
STRING
Hôte ou adresse IP de l'instance Active Directory.
port
INTEGER
Port de l'instance Active Directory.
Les résultats du test de la connexion sont renvoyés dans result, qui est une INFOTABLE, avec les informations suivantes :
status : (booléen) indique si la connexion à Active Directory a ou non pu être établie.
message : (chaîne) message fournissant des informations utiles sur la raison de l'échec, le cas échéant.
* 
Lorsque la fonction Connexion utilisateur dynamique est activée, le "Nom de l'identité d'administration" et le "Mot de passe d'administration" sont ignorés et le bouton Vérifier est masqué.
Dépannage : préfixe de domaine Active Directory et connexion utilisateur dynamique
Le service d'annuaire Active Directory possède un paramètre de configuration, Provisioned User's Default Domain Prefix, qui peut potentiellement interférer avec la fonction Connexion utilisateur dynamique. Voici le jeu des Valeurs utilisateur par défaut :
Le paramètre Provisioned User's Default Domain Prefix vous permet de spécifier un préfixe qui restreint les utilisateurs que le service d'annuaire peut authentifier. Si plusieurs services d'annuaire Active Directory sont configurés pour la même instance de ThingWorx Platform, cette option peut être utilisée pour éviter que tous les services d'annuaire ne tentent d'authentifier le même utilisateur.
Notez cependant que ce préfixe est supprimé du nom d'utilisateur transmis à Active Directory. Si le préfixe spécifié correspond au domaine Active Directory de l'utilisateur, celui-ci ne peut donc pas se connecter à Active Directory.
Par exemple :
1. DOMAIN\ est spécifié comme Provisioned User's Default Domain Prefix.
2. L'utilisateur DOMAIN\user1 essaie de se connecter à ThingWorx Platform.
3. DOMAIN\ est supprimé du nom d'utilisateur transmis à Active Directory et user1 ne peut donc pas se connecter.
Les services d'annuaire Active Directory sur lesquels la fonction Connexion utilisateur dynamique est désactivée ne sont actuellement pas affectés par ce problème.
Pour contourner ce problème, suivrez les règles ci-après :
Eviter d'utiliser un préfixe de domaine par défaut (solution à privilégier) : évitez d'utiliser le préfixe de domaine par défaut de l'utilisateur dès lors que la fonction Connexion utilisateur dynamique est activée.
Utiliser un préfixe supplémentaire que les utilisateurs devront utiliser ou leur imposer de saisir deux fois le préfixe de domaine : un préfixe supplémentaire peut être spécifié en plus du préfixe DOMAIN\ pour la connexion via DOMAIN\SamAccountName. Par exemple vous pouvez définir un préfixe PREFIX- et les utilisateurs se connecteront dès lors avec PREFIX-DOMAIN\prefix.
Dépannage : nom de propriété UserExtension incorrect
Lors du mappage d'un attribut Active Directory à une propriété UserExtension de ThingWorx, vous sélectionnez le nom de la propriété UserExtension dans un menu déroulant. Le message d'erreur suivant peut s'afficher dans le journal de l'application ThingWorx :
Property name: <property_name> not found
in UserExtensions properties
Cette erreur est due aux conditions suivantes :
Le fichier XML importé pour le service d'annuaire Active Directory contient un nom incorrect pour le userExtensionPropertyName ET
Un utilisateur se connecte et est authentifié par le service d'annuaire Active Directory avec le userExtensionPropertyName incorrectement configuré.
Une telle erreur peut se produire si vous avez modifié le fichier XML manuellement. Vous pouvez supprimer l'entrée incorrecte de la table de mappage des propriétés des extensions utilisateur dans la page de configuration de l'entité Service d'annuaire dans ThingWorx Composer.