1.3.5.8.1.2. Page d'onglet "Bases de données utilisateurs

PARTsolutions supporte plusieurs bases de données d'utilisateurs alternatives. L'une d'entre elles ou toutes peuvent être actives en même temps. Toutefois, seul Windows est adapté à une connexion automatique dans les clients. Dans tous les autres cas, la saisie manuelle du mot de passe est impérative. [PARTsolutions supports several user databases. One or more of them can be active at a given time. However, only Windows allows for automatic login within the clients. In all other cases, the manual input of the password is mandatory at login time.]

Pour que les utilisateurs/groupes soient affichés sur la page d'onglet Attribution des droits [Assign rights], cochez la case Actif [Active] sur les pages d'onglet correspondantes. L'ordre d'évaluation correspond à l'ordre des onglets : Windows, puis ERP, puis les autres...

Exemple : page d'onglet "Windows

Exemple : page d'onglet "Windows

  • Limite pour les requêtes [Limit for queries]: la valeur maximale est 999999.

    Limiter peut être utile, mais peut aussi conduire à ce que les résultats présentés ne soient pas complets.

    Au plus tard à partir d'un nombre d'entrées >9999 dans AD, la fonction de recherche sous Affectation des droits [Assign rights] -> Utilisateurs/groupes connus [Known users/groups] ne fonctionne définitivement plus de manière fiable, mais peut-être aussi avant, ce qui peut être évité en cliquant sur le bouton Ajouter manuellement.. [Add manually ...]. peut être intercepté.

En principe, le comportement dépend fortement du serveur AD concret.

1.3.5.8.1.2.1. Page d'onglet "OpenID

1.3.5.8.1.2.1.1. Microsoft Azure AD / Entra ID

Configuration de SSO via Microsoft Azure

Note: OpenID ne fonctionne pas dans les processus batch (c'est pourquoi Windows doit également être activé sous Bases de données utilisateur [User databases] ).

Vous trouverez ci-dessous une description détaillée qu'il vous suffira d'adapter à votre propre environnement.

1.3.5.8.1.2.1.1.1. Enregistrement de l'application Azure

Dans un premier temps, créez dans votre entreprise un enregistrement d'application pour CADENAS PARTsolutions/3Dfindit dans Microsoft Azure.

  1. Rendez-vous sur https://portal.azure.com.

  2. Connectez-vous à Microsoft Azure avec votre compte Microsoft.

    Microsoft Azure -> Sélectionner le compte

    Microsoft Azure -> Sélectionner le compte

    Si des autorisations API ont été définies, la demande suivante apparaît en plus, sauf si l'administration a défini un admin-consent pour tous les utilisateurs. Sinon, chaque utilisateur doit donner lui-même son accord explicite. Voir ci-dessous.

    Microsoft Azure -> Autorisations requises

    Microsoft Azure -> Autorisations requises

  3. Cliquez sur Enregistrements d'apps.

    Microsoft Azure "Enregistrements d'apps".

    Microsoft Azure "Enregistrements d'apps".

  4. Cliquez sur Nouvel enregistrement.

    Microsoft Azure "Nouvel enregistrement

    Microsoft Azure "Nouvel enregistrement

  5. Remplissez la boîte de dialogue Enregistrer l'application et cliquez ensuite sur Enregistrer.

    • Nom: Saisissez un nom d'affichage de votre choix (par exemple "CADENAS PARTsolutions/3Dfindit").

    • Types de comptes pris en charge: sélectionnez l'option Uniquement les comptes dans ce répertoire d'organisation (uniquement "<votre entreprise>" - mandant unique) (dans l'exemple d'illustration "CADENAS Technologies AG"),

    • URI de redirection (facultatif): sélectionnez Client public/natif (mobile et bureau) dans la zone de liste et saisissez http://localhost/auth/login dans le champ de saisie.

    Microsoft Azure "Enregistrer une application

    Microsoft Azure "Enregistrer une application

  6. Filtrez selon l'application que vous venez de créer.

    Enregistrements d'applications -> Filtres

    Enregistrements d'applications -> Filtres

  7. Sélectionnez l'option Authentification.

    Microsoft Azure "Authentification" -> "Applications mobiles et de bureau".

    Microsoft Azure "Authentification" -> "Applications mobiles et de bureau".

  8. Cliquez sur Ajouter URI et saisissez les lignes suivantes :

    • Retour de l'authentification de l'utilisateur à l'AppServer dans le cas standard :

      http://localhost/auth/login

    • Pour les applications web comme 3Dfindit, le serveur d'applications doit être explicitement indiqué :

      https://<computername>:<port>/service/login/sso

  9. Cliquez sur Enregistrer.

  10. Sélectionnez l'option Configuration des jetons et cliquez sur Ajouter une revendication de groupe.

    Microsoft Azure "Configuration du token" -> "Ajouter une revendication de groupe".

    Microsoft Azure "Configuration du token" -> "Ajouter une revendication de groupe".

  11. Remplissez la page de dialogue Traiter les revendications de groupe comme suit :

    • Activer les groupes de sécurité.

    • Sous ID, sélectionnez NetBIOSDomain\sAMAccountName.

    • Sous Accès, sélectionnez NetBIOSDomain\sAMAccountName.

    Microsoft Azure "Configuration des tokens" -> "Modifier la revendication de groupe".

    Microsoft Azure "Configuration des tokens" -> "Modifier la revendication de groupe".

    Confirmez en cliquant sur Ajouter.

  12. Pour que le login fonctionne, les autorisations API suivantes doivent être activées :

    • offline_access

    • openid

    Le type doit être défini sur "Délégué".

    Si Group.Read.All et GroupMember.Read.All et User.Read.All ensemble supplémentaire puis dans PARTadmin , les utilisateurs et les groupes peuvent être peut être répertorié. Pour une authentification pure, il ne s’agit pas nécessaire.

  13. Ouvrez le résumé. Ici, vous pouvez copier les identifiants souhaités dans le presse-papiers pour les coller ensuite dans PARTadmin.

    Microsoft Azure "Vue d'ensemble

    Microsoft Azure "Vue d'ensemble

1.3.5.8.1.2.1.1.2. Page d'onglet "Bases de données utilisateurs

Dans PARTadmin, sous la catégorie Gestion des droits [Rights administration], sélectionnez l'onglet Bases de données utilisateurs [User databases] et la sous-page OpenID.

Sous Basic Type, sélectionnez l'option Microsoft Azure AD.

Bases de données utilisateurs [User databases] -> OpenID

Bases de données utilisateurs [User databases] -> OpenID

Remplissez les différents champs en fonction des données de Microsoft Azure :

  • Issuer: cette url indique le chemin d'accès au fournisseur OpenID Realm ou duenant Azure. [This url specifies the path to the Openid provider realm or Azure tenant.]

    Microsoft Azure :

    https://login.microsoftonline.com/<Tenant-ID>/

    Microsoft Azure "Aperçu" -> "ID de répertoire (mandant)".

    Microsoft Azure "Aperçu" -> "ID de répertoire (mandant)".

  • Client-ID/App-ID: l'ID de l'application ou l'ID du client pour PARTsolutions dans le fournisseur OpenID (AppId dans l'enregistrement de l'application du portail Azure) [The application ID or client ID for PARTsolutions in the OpenId provider (AppId in the application registration of the Azure portal)]

    Microsoft Azure "Vue d'ensemble" -> ID de l'application (client)

    Microsoft Azure "Vue d'ensemble" -> ID de l'application (client)

  • Secret client [Client-Secret]: Le secret client qui est enregistré dans l'application pour ce client. Peut être omis si l'on n'a pas besoin de lister les utilisateurs/groupes via l'API de graphique. N'est pertinent que pour Azure. [The client secret that is stored in the app registration for this client. Can be omitted if there is no need to list the users/groups via the Graph API. Is only relevant for Azure.]

    Le groupe souhaité peut également être ajouté manuellement en utilisant Test... pour déterminer le nom correct du groupe. est utilisé.

    Normalement, cette option n'est pas absolument nécessaire, à moins que l'option Déterminer des attributs supplémentaires via le point final UserInfo [Identify additional attributes using the UserInfo endpoint] soit activée.

    Sous Certificats & secrets, vous pouvez créer et lire des ID.

    Microsoft Azure "Certificats et secrets

    Microsoft Azure "Certificats et secrets

  • Uri de redirection client [Client-Redirect-Uri]: si un client rencontre des problèmes lors de la mise en place de l'OpenID, il doit utiliser ce paramètre et l'URI msal de sa page d'enregistrement d'app.

    On saisit ici l'URI de redirection enregistrée dans l'enregistrement de l'application qui doit être utilisée. Si ce champ est vide, https://localhost/auth/login est utilisé. Cette URI doit alors être autorisée dans le registre de l'application. Cette entrée est uniquement destinée à la plateforme Mobile-Device et Desktop-Applications. Elle n'est pas utilisée dans le cas d'une application web pour 3dfindit, mais uniquement pour le login dans PARTadmin ou PARTdataManager. L'URI saisi ici peut être totalement fictif, car il n'est pertinent que pour l'évaluation de la redirection du fournisseur OpenID. [The redirect URI stored in the app registration that is to be used is entered here. If this field is empty, https://localhost/auth/login is used. This URI must then be allowed in the app registration. This entry is only intended for the mobile device and desktop applications platform. It is not used in the web application for 3dfindit, but only for the login to PARTadmin or PARTdataManager. The URI entered here can be completely fictitious, as it is only relevant for the evaluation of the redirect from the OpenID provider.]

    exemple :

    msa64992203d-d6b0-4900-c40c-641ba8c06e1a://auth

  • Scopes: Scopes nécessaires pour l'authentification. Séparés par des espaces. [Required scopes for authentication. Separated by spaces. The default is "openid offline_access"] La valeur par défaut est "openid offline_access". [Required scopes for authentication. Separated by spaces. The default is "openid offline_access"]

  • Réclamations du nom d'utilisateur [Username-Claims] (facultatif) : Liste séparée par des virgules de revendications qui doivent être considérées comme source pour l'ID utilisateur. La valeur par défaut est ici "preferred_username,upn,email,sub" [Comma-separated list of claims to be considered as the source for the user ID. The default setting here is "preferred_username,upn,email,sub"].

  • Réclamation de groupe [Group Claim] (facultatif) : Nom de la revendication à partir de laquelle l'appartenance à un groupe doit être extraite. Le standard est "groups" pour Azure et "roles" pour tout le reste. Peut être converti en n'importe quel autre claim ici. [Name of the claim from which the group membership is to be extracted. The default is "groups" for Azure and "roles" for everything else. Can be switched to any other claim here.]

  • Groupe requis [Required group]: nom d'un groupe auquel l'utilisateur doit appartenir pour être considéré comme un utilisateur valide. Si aucune entrée n'est indiquée, tous les utilisateurs sont considérés comme valides. [Name of a group in which the user must be in order to be considered a valid user. If no entry is specified, all users are considered valid.]

  • Déterminer des attributs supplémentaires via le point final UserInfo [Identify additional attributes using the UserInfo endpoint]: Non pertinent pour Azure.

1.3.5.8.1.2.1.1.3. Page d'onglet "Attribution de droits

  1. Ouvrez PARTadmin -> Catégorie Gestion des droits [Rights administration] -> Page d'onglet Attribution des droits [Assign rights].

    Page d'onglet "Attribution de droits [Assign rights]

    Page d'onglet "Attribution de droits [Assign rights]

  2. Cliquez sur le bouton Tester.... [Test...]

    -> La boîte de dialogue Vérifier l'authentification. [Check authentification...].. s'ouvre.

    Se connecter avec OpenID

    Se connecter avec OpenID

  3. Sélectionnez l'option OPENID et cliquez sur Connexion.... [Login...]

    -> La boîte de dialogue Authentifier l'utilisateur [Authenticate user] s'ouvre.

    Boîte de dialogue de connexion OpenID

    Boîte de dialogue de connexion OpenID

  4. Cliquez sur votre compte, saisissez votre mot de passe et cliquez sur Sign in.

    -> Dans la zone de dialogue Résultat [Result], les données sont affichées.

    Déterminer les groupes/utilisateurs disponibles

    Déterminer les groupes/utilisateurs disponibles

  5. Notez l'utilisateur ou le groupe souhaité et fermez la boîte de dialogue.

  6. Sélectionnez l'entrée User ou Groups et cliquez sur Ajouter manuellement.... [Add manually ...]

    -> La boîte de dialogue Entrer groupe. [Enter group...].. s'ouvre.

    Ajouter un groupe manuellement

    Ajouter un groupe manuellement

  7. Saisissez le nom de l'utilisateur ou du groupe et confirmez en cliquant sur OK.

    -> L'entrée est définie.

  8. Attribuez le jeu de rôles souhaité au groupe ou à l'utilisateur sélectionné.

    Attribuer un jeu de rôles ERP

    Attribuer un jeu de rôles ERP

    [Remarque]Remarque

    Si aucun profil [Profiles] n'est activé pour le groupe spécifique, ceux sous Connecté [Logged in] * sont utilisés.

  9. Enregistrez vos paramètres.

  10. Pour tester, lancez PARTdataManager et cliquez sur le bouton Authentifier/changer d'utilisateur [Authenticate/switch users].

    -> La boîte de dialogue Authentifier l'utilisateur [Authenticate user] s'ouvre.

    Le login se fait via "AzureAD/OpenID".

    Le login se fait via "AzureAD/OpenID".

  11. Connectez-vous avec votre nom d'utilisateur (e-mail) et votre mot de passe.

1.3.5.8.1.2.2. Page d'onglet "Windows

Si un login par utilisateur Windows doit être possible (connexion automatique), l'option Actif [Active] doit être activée dans l'onglet Windows.

Par défaut, l'option Actif [Active] est activée, ce qui est judicieux dans la grande majorité des cas.

Exemple : page d'onglet "Windows

Exemple : page d'onglet "Windows

Si elle est désactivée, l'authentification de l'utilisateur basée sur Windows ne peut pas avoir lieu.

  • Utilise Active-Directory si disponible (sinon, seule la base de données des utilisateurs locaux de l'ordinateur est utilisée) [Use Active Directory - if available (otherwise only local user database of computer is used)]:

    Dans les scénarios Azure-ID / Entra-ID, les ordinateurs peuvent ne pas être en mesure de résoudre les utilisateurs AD via l'accès au contrôleur AD (même s'ils sont toujours connectés à un domaine).

    Dans de telles situations, il n'est pas conseillé d'essayer de dissoudre des utilisateurs via AD.

    Cette option permet de désactiver les recherches AD. La base de données des utilisateurs locaux reste utilisable, car le serveur peut fonctionner comme un compte d'utilisateur local.

    [Remarque]Remarque
    • La désactivation de cette option empêchera également le PARTapplicationServer lui-même d'utiliser les comptes AD.

    • Vous ne pouvez donc pas utiliser d'utilisateurs de service basés sur le domaine. Utilisez plutôt des comptes d'utilisateurs locaux pour faire fonctionner le service.

  • Utiliser le catalogue global pour les requêtes [Use global catalog for queries]: Activez l'option pour une forêt Active Directory (la valeur par défaut est "désactivée").

  • Limitation pour les requêtes [Limit for queries]: veillez à ne pas inscrire 0!

    Cela se produit lorsque l'on décoche la case Actif [Active] pour Windows, puis que l'on quitte PARTadmin et que l'on redémarre, avant de réactiver la base de données utilisateurs "Windows".

  • Tenir compte des appartenances de groupe imbriquées [Check for hierarchical group memberships]: L'évaluation s'effectue de manière récursive sur des niveaux hiérarchiquement supérieurs.

    [Astuce]Astuce

    Utilisez éventuellement aussi ce paramètre lors du test sous l'onglet Attribution de droits [Assign rights], afin de saisir toutes les appartenances.

  • Extraire l'appartenance à un groupe à partir d'un attribut AD/LDAP spécial [Extract group membership from special AD/LDAP attribute]:

Dépannage
  • Si vous rencontrez des problèmes avec la connexion automatique dans PARTapplicationServer via le nom d'utilisateur Windows, veuillez vérifier les paramètres de base suivants :

    Dans la boîte de dialogue "Propriétés d'Internet" -> onglet "Avancé", l'option "Activer l'authentification intégrée de Windows" doit être activée.

    Activer l'authentification intégrée de Windows

    Activer l'authentification intégrée de Windows

    Dans la boîte de dialogue "Paramètres de sécurité - Zone Internet", l'option "Connexion automatique uniquement dans la zone Intranet" doit être activée.

    L'adresse http du serveur d'applications doit être incluse dans la zone de sécurité locale.

    Onglet "Sécurité" -> Intranet local -> Sites

    Onglet "Sécurité" -> Intranet local -> Sites

1.3.5.8.1.2.3. Onglet "ERP (plinkusers)"

Si le login avec des utilisateurs ERP doit être possible dans la boîte de dialogue Authentification de l'utilisateur, l'option Actif [Active] doit être activée (par défaut).

Créez des utilisateurs en cliquant sur le bouton Ajouter. [Add...].. pour créer un utilisateur. Attribuez un nom [Name] et un mot de passe [Password] dans le dialogue. Si vous souhaitez modifier le mot de passe ultérieurement (via Modifier. [Edit...]..), il vous suffit d'en définir un nouveau (l'ancien ne sera pas affiché).

Si les conditions susmentionnées sont remplies, l'authentification de l'utilisateur peut être effectuée dans la boîte de dialogue Authentifier l'utilisateur [Authenticate user] avec saisie de l'utilisateur et du mot de passe.

Authentifier l'utilisateur [Authenticate user]: Saisie de l'utilisateur et du mot de passe

Authentifier l'utilisateur [Authenticate user]: Saisie de l'utilisateur et du mot de passe

Si plusieurs rôles sont disponibles, la fenêtre de dialogue Sélectionner le rôle [Select role] s'ouvre.

Choisir un rôle [Select role]

Choisir un rôle [Select role]

Si aucune authentification ne peut être effectuée pour un utilisateur, le message d'erreur Nom d'utilisateur ou mot de passe non valide ! [Invalid username or password!] s'affiche :

Nom d'utilisateur ou mot de passe non valide ! [Invalid username or password!]

Nom d'utilisateur ou mot de passe non valide ! [Invalid username or password!]

Cela se produira si ...

  • ... toutes les bases de données utilisateurs sont désactivées

    Exemple de base de données utilisateur "ERP(plinkusers)" désactivée

    Exemple de base de données utilisateur "ERP(plinkusers)" désactivée

  • il n'y a pas de mapping entre l'utilisateur et l'enregistrement de rôle (champ vide, pas de caractère de remplacement * non plus).