Configuration du nom de principal du service (SPN) pour l'authentification Kerberos

Si vous utilisez les modes de connexion suivants avec une connexion au serveur Blue Prism, un nom de principal de service (SPN) doit être configuré pour le compte Active Directory (AD) sous lequel chaque instance de service de serveur Blue Prism est exécutée :

  • WCF : SOAP avec chiffrement de messages et authentification Windows
  • WCF : SOAP avec chiffrement de transport et authentification Windows
  • .NET Remoting sécurisé

En effet, lorsqu'un client interactif Blue Prism ou une ressource d'exécution se connecte à un serveur d'applications à l'aide de l'un des modes de connexion ci-dessus, l'ensemble logiciel de sécurité Microsoft Negotiate est utilisé pour sélectionner le meilleur fournisseur SSP (Security Support Provider) afin d'authentifier la connexion. Le code interne du client interactif Blue Prism fournit le SPN attendu à l'ensemble logiciel de sécurité Microsoft Negotiate, qui invite Microsoft Negotiate à sélectionner le SSP Kerberos plutôt que le SSP New Technology LAN Manager (NTLM), à condition que le SPN soit présent dans Active Directory. Si le SPN n'est pas présent dans Active Directory, l'authentification Kerberos échouera. Consultez cet article de la base de connaissances pour en savoir plus sur la mise à jour de sécurité Windows pour CVE-2022-21920 qui affecte ce comportement. À partir de Blue Prism 7.0.2, si le SPN n'est pas présent dans Active Directory, et si le commutateur /forcentlm <flag> est défini dans Automate C, le SSP NTLM sera utilisé.

Il est recommandé de contacter l'équipe informatique de votre organisation pour obtenir de l'aide avec cette configuration, et de tester d'abord la configuration dans un environnement de non-production.

Cette configuration s'applique à tous les environnements Blue Prism. Cependant, si le compte Active Directory sous lequel vos instances de serveur Blue Prism s'exécutent réside dans un domaine différent du compte Active Directory utilisé pour le client interactif Blue Prism et la ressource d'exécution, nous vous recommandons de ne pas installer la mise à jour de sécurité Windows pour CVE-2022-21920. Si vous l'avez déjà installée, nous vous recommandons de la désinstaller. À partir de Blue Prism 7.0.2, la configuration supplémentaire dans Automate C décrite ci-dessous est requise.

Pour configurer le SPN, suivez les étapes ci-dessous sur chaque instance de service de serveur Blue Prism :

  1. Connectez-vous au serveur Blue Prism à l'aide d'un compte utilisateur Windows privilégié qui est membre du groupe Administrateurs de domaine ou Administrateurs d'entreprise.

    Consultez la documentation Microsoft dans cette rubrique pour en savoir plus, y compris les permissions requises. Il s'agit d'une étape essentielle à examiner avec l'équipe informatique de votre organisation pour s'assurer que la commande Setspn n'échoue pas à s'exécuter en raison de permissions de compte manquantes.

  2. Ouvrez Invite de commande en tant qu'administrateur sur le serveur d'applications et exécutez la commande ci-dessous.

    Si le serveur Blue Prism s'exécute en tant que compte système local :

    Copier
    Setspn -S HTTP/SERVER_FQDN:SERVER_PORT/BPServer COMPUTER_HOSTNAME 

    Si le serveur Blue Prism s'exécute en tant que compte utilisateur :

    Copier
    Setspn -S HTTP/SERVER_FQDN:SERVER_PORT/BPServer DOMAIN\Username

    Où :

    • Comptes HTTP pour HTTP et HTTPS. Ne modifiez pas la commande pour inclure HTTPS spécifiquement, car la configuration échouera.

    • SERVER_FQDN:SERVER_PORT doit être le nom de domaine explicite (FQDN) du serveur d'applications Blue Prism.
    • COMPUTER_HOSTNAME est le nom d'hôte de l'ordinateur si le service de serveur Blue Prism s'exécute en tant que compte système local.

    • DOMAIN\Username est le nom d'utilisateur du domaine si le service de serveur Blue Prism s'exécute en tant que compte utilisateur.

      Cela doit correspondre au réglage Se connecter en tant que dans la fenêtre Propriétés du serveur Blue Prism (ordinateur local).

    Exemple avec le système local :

    Exemple avec DOMAIN\Username :

  3. Après avoir défini le SPN, vous devrez attendre le renouvellement du cache de ticket Kerberos (le réglage par défaut est de 15 minutes, mais il peut être modifié via la politique de groupe). Pour en savoir plus, consultez la documentation d'authentification Kerberos.

    Vous pouvez également :

    • Redémarrer le client interactif Blue Prism ou la ressource d'exécution ; ou
    • Sur la machine exécutant le client interactif ou la ressource d'exécution, ouvrir Invite de commande et exécuter la purge Klist pour actualiser les tickets Kerberos.

      Cette commande ne doit pas être exécutée dans une invite de commande élevée, car elle ne purge pas tous les tickets Kerberos de l'utilisateur.

  4. Vérifiez que cela fonctionne comme prévu en vous connectant au serveur Blue Prism à partir d'un client interactif Blue Prism fonctionnant sur une autre machine.
  5. Répétez les étapes ci-dessus sur chaque instance du service de serveur Blue Prism exécutée sur chaque serveur Blue Prism.

Vérifier les entrées de SPN et supprimer un SPN incorrect

  1. Pour vérifier les entrées de SPN à des fins de dépannage, vous pouvez voir une liste des SPN ajoutés sur le serveur d'applications à l'aide de la commande suivante :

    Copier

    Setspn -L ACCOUNTNAME

  2. Exemple de liste de SPN :

  3. Vérifiez les entrées pour les SPN que vous avez ajoutés pour le service de serveur Blue Prism. Vous pouvez supprimer celui qui a été ajouté par erreur à l'aide de la commande ci-dessous :

    Copier
    Setspn -D SPN_NAME ACCOUNTNAME

    SPN_NAME est le nom affiché dans la liste des entrées de SPN. Par exemple, HTTP/SERVER_FQDN:SERVER_PORT/BPServer.

Configuration supplémentaire pour les serveurs d'applications Blue Prism dans des environnements à charge équilibrée

Il est essentiel que toutes les instances du service de serveur Blue Prism dans le même pool d'équilibreurs de charge soient exécutées sous le même compte de service et que le SPN soit enregistré sur ce compte.

En outre, il est recommandé d'enregistrer les SPN pour les noms de domaines explicites du serveur d'applications sur le même compte de service, car cela permettra de tester une connexion directe aux serveurs d'applications. Voir Dépannage des SPN pour en savoir plus.

Configuration supplémentaire pour l'authentification Active Directory dans des environnements à forêts multiples

Cette fonctionnalité est uniquement disponible à partir de Blue Prism 7.0.2.

Pour une prise en charge de l'authentification Kerberos dans les environnements Blue Prism configurés pour utiliser l'authentification Active Directory dans plusieurs forêts, les réglages suivants doivent être configurés dans Automate C :

  • /setkerberosrealm : par exemple, /setkerberosrealm mycompany.com. Il doit être configuré pour chaque connexion au serveur Blue Prism dans le client interactif où le domaine Kerberos de l'utilisateur est différent de celui du compte utilisateur configuré pour exécuter le serveur Blue Prism.

    Le domaine Kerberos est généralement le même que le nom de domaine. Cependant, veuillez vérifier auprès de votre équipe informatique la valeur correcte. Il doit s'agir du domaine du compte de service exécutant le service de serveur Blue Prism. Dans certains environnements, il peut être nécessaire d'appliquer la même configuration lorsque le compte de service existe dans un autre domaine au sein de la même forêt. Vous pouvez vérifier si le domaine Kerberos doit être spécifié en exécutant une commande klist get sur un SPN. Voir Dépannage des SPN pour en savoir plus.

  • /forcentlm <flag> : par exemple, /forcentlm true. Force l'ensemble logiciel de sécurité Microsoft Negotiate à sélectionner New Technology LAN Manager (NTLM) comme fournisseur SSP (Security Support Provider) pour la dernière connexion utilisée ou spécifiée (à l'aide du commutateur /dbconname) lors de l'authentification de la connexion au serveur Blue Prism. Cette option est fournie afin que NTLM puisse être utilisé lorsque Kerberos n'est pas disponible ou n'est pas configuré.

    Veuillez consulter votre équipe de sécurité avant d'activer cette option, car NTLM est considéré comme un protocole moins sécurisé.