Partager via


Configurer Microsoft Entra ID avec Kerberos pour SSO

Vous pouvez configurer le connecteur SAP ERP Power Platform pour qu’il utilise les informations d’identification Microsoft Entra ID pour l’authentification unique (SSO) basée sur Kerberos. Vos utilisateurs peuvent accéder aux données SAP et exécuter des appels de fonction à distance SAP (RFC) dans Power Platform des solutions sans avoir à se connecter plusieurs fois à plusieurs services. Cet article vous guide tout au long du processus, y compris la configuration de la délégation contrainte Kerberos (KCD) sur la passerelle de données local pour une communication sécurisée.

En savoir plus sur la délégation contrainte Kerberos.

Ces instructions supposent que vous partez de zéro. La plupart des clients ont déjà effectué certaines étapes. Déterminer les étapes à suivre pour votre scénario dépasse le cadre de cet article. Par exemple, vous pouvez ignorer la section Créer un compte de service SAP dans Active Directory Domain Services si votre système SAP est déjà configuré pour l’authentification basée sur Kerberos.

Prérequis

Créer un compte de service SAP dans AD DS

En tant qu’administrateur de domaine, vous devez d’abord créer un compte de service, puis définir le nom principal du service (SPN) et l’activer pour le cryptage Kerberos.

Note

Si votre administrateur SAP Basis confirme que votre système SAP est déjà configuré pour SSO basé sur Kerberos, ignorez cette section.

Effectuez les étapes suivantes en tant qu’administrateur de domaine pour configurer le compte de service :

  1. Sur l’ordinateur hôte du contrôleur de domaine, ouvrez la console de gestion (MMC) Microsoft et exécutez le composant logiciel enfichable Utilisateurs et ordinateurs Active Directory.

  2. Dans votre domaine, cliquez avec le bouton droit de la souris sur Utilisateurs et sélectionnez Nouvel>utilisateur.

  3. Entrez Kerberos<SID> comme Nom complet et Nom de connexion de l’utilisateur, où <SID> est l’ID de votre système SAP, par exemple A4H.

  4. Sélectionnez Suivant.

  5. Entrez et confirmez le mot de passe du nouveau compte de service.

  6. Sélectionnez à la fois L’utilisateur ne peut pas modifier le mot de passe et Le mot de passe n’expire jamais.

  7. Sélectionnez Suivant, puis Terminer.

Une fois le compte de service créé, définissez son nom principal de service (SPN) et activez-le pour le cryptage Kerberos.

  1. Ouvrez le composant logiciel enfichable ADSI Edit (adsiedit.msc) et Connecter sur votre domaine.

  2. Sélectionnez CN=Users dans le contexte d’appellation par défaut de votre domaine.

  3. Cliquez avec le bouton droit sur l’objet utilisateur CN=Kerberos<SID> et sélectionnez Propriétés.

  4. Dans la liste Attributs , Sélectionner ServicePrincipalName.

  5. Cliquez sur Modifier.

  6. Saisissez le nom principal du service au format SAP/<SID>, où <SID> est l’ID de votre système SAP, tel que A4H.

  7. Sélectionnez Ajouter, puis OK.

  8. Retour pour le composant logiciel enfichable Utilisateurs et ordinateurs Active Directory .

  9. Dans la liste Utilisateurs, cliquez avec le bouton droit sur le nouveau compte SAP Kerberos<SID> et sélectionnez Propriétés.

  10. Cliquez sur l’onglet Compte.

  11. Sous Options du compte, sélectionnez Ce compte prend en charge le chiffrement Kerberos AES 256 bits.

  12. Sélectionnez OK.

Important

L’activation du cryptage AES 256 bits Kerberos peut entraîner des problèmes pour d’autres clients, comme SAP GUI, qui demandent des tickets Kerberos à partir de ce compte Active Directory. Cela est dû au fait que cela modifie la liste des méthodes de cryptage disponibles et que les autres clients n’ont plus de chiffrement commun. Vérifiez les journaux Active Directory pour déterminer les méthodes de chiffrement utilisées par tous les clients, puis mettez à jour manuellement la propriété avec la valeur correcte. msDS-SupportedEncryptionTypes Après la mise à jour, l’option de cryptage AES 256 devrait apparaître automatiquement sans avoir besoin d’être sélectionnée manuellement. Pour en savoir plus, consultez Déchiffrement de la sélection des types de chiffrement Kerberos pris en charge dans le blog Infrastructure principale et communauté.

Configurer des communications réseau sécurisées avec l’authentification SSO Kerberos dans SAP

Effectuez les étapes suivantes en tant qu’administrateur SAP Basis dans SAP GUI.

  1. Pour démarrer l’assistant SAP Single Sign-On, saisissez SNCWIZARD dans le champ Commande .

  2. Sur la page de démarrage de l’assistant, Sélectionner Continuer .

  3. Acceptez la valeur par défaut pour l’identité SNC du système et sélectionnez Continuer.

  4. Sur la page Paramètres de profil par défaut , Sélectionner Continuer.

  5. Sélectionnez Fermer.

  6. Déconnectez-vous du système SAP et redémarrez le serveur d’applications SAP.

  7. Connectez-vous à SAP GUI et exécutez à nouveau SNCWIZARD.

  8. Sur la page Démarrer, sélectionnez Continuer.

  9. Sur la page Informations d’identification Kerberos, sélectionnez Continuer.

  10. Dans Configuration SPNEGO, sélectionnez Afficher/Modifier pour passer en mode d’édition, puis sélectionnez Ajouter.

  11. Saisissez les valeurs suivantes :

    • Nom d’utilisateur principal : Kerberos<SID>@DOMAIN, où Kerberos<SID> est le nom d’utilisateur du compte de service et DOMAIN est le nom complet de votre domaine Active Directory en lettres majuscules ; par exemple, KerberosA4H(at)CORP.BESTRUN.COM.
    • Mot de passe et Confirmer le mot de Passe : mot de passe que vous avez saisi lors de la création du compte Active Directory.
  12. Sélectionner Vérifiez l’utilisateur dans Active Directory pour vérifier l’utilisateur, puis Sélectionner Quitter.

  13. Sélectionnez Enregistrer.

  14. Sur la page Informations d’identification X.509, sélectionnez Ignorer.

  15. Cliquez sur Terminer.

Ensuite, mappez le nom d’utilisateur SNC (basé sur le nom d’utilisateur du domaine Windows) au nom d’utilisateur principal SAP.

  1. Dans SAP GUI, exécutez la transaction SU01.

  2. Entrez l’ID de l’utilisateur de test (par exemple, JDAVIS) dans le champ Utilisateur, puis sélectionnez Modifier.

  3. Sélectionnez l’onglet SNC.

  4. Saisissez le nom d’utilisateur principal dans le champ Nom SNC  ; par exemple, p:CN=JDAVIS(at)CORP.BESTRUN.COM.

  5. Sélectionnez Enregistrer.

Configurer la passerelle de données locale pour la délégation Kerberos contrainte

Par défaut, la passerelle local s’exécute en tant que compte de service local de la machine NT Service\PBIEgwService. Pour utiliser la délégation Kerberos contrainte avec les extensions S4U du protocole, la passerelle doit s’exécuter en tant que compte de service dans le domaine.

Effectuez les étapes suivantes en tant qu’administrateur de domaine.

  1. Sur le PC de l’hôte du contrôleur de domaine, revenez au composant logiciel enfichable Utilisateurs et ordinateurs Active Directory.

  2. Dans votre domaine, cliquez avec le bouton droit de la souris sur Utilisateurs et sélectionnez Nouvel>utilisateur.

  3. Entrez GatewaySvc comme Nom complet et Nom de connexion de l’utilisateur.

  4. Sélectionnez Suivant.

  5. Saisissez et confirmez le mot de passe du nouveau compte de service de domaine.

  6. Sélectionnez à la fois L’utilisateur ne peut pas modifier le mot de passe et Le mot de passe n’expire jamais.

  7. Sélectionnez Suivant, puis Terminer.

Une fois le compte de service de domaine créé, vous allez ensuite définir son nom principal de service et l’activer pour la délégation restreinte Kerberos.

  1. Dans une fenêtre PowerShell élevée, entrez la commande suivante pour créer un SPN pour le nouveau compte de service. Remplacez le <nom d’hôte OPDG> par le nom d’hôte de votre passerelle de données locale et le <domaine> par le nom de votre domaine. Vous pouvez trouver le nom d’hôte en entrant la commande hostname à l’invite de commande.

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. Dans le composant logiciel enfichable Utilisateurs et ordinateurs Active Directory , cliquez avec le bouton droit sur le nouveau compte de service et sur Sélectionner Propriétés.

  3. Sélectionnez l’onglet Délégation.

  4. Sélectionnez N’approuver cet utilisateur que pour la délégation aux services spécifiés et Utiliser tout protocole d’authentification.

  5. Sélectionnez Ajouter.

  6. Sélectionnez Utilisateurs ou ordinateurs.

  7. Entrez Kerberos<SID> dans le champ des noms d’objet, où <SID> est l’ID de votre système SAP, par exemple A4H.

  8. Sélectionnez Vérifier les noms, puis OK.

La liste des services autorisés contient désormais le SPN du système SAP. Le nouveau compte de service de la passerelle peut demander un ticket de service uniquement pour le système SAP au nom de l’utilisateur propagé avec l’extension de protocole Kerberos S4U2proxy.

  1. Sélectionnez Sélectionner tout.
  2. Sélectionnez OK.
  3. sélectionnez OK une seconde fois.
  4. Des stratégies locales doivent être accordées au compte de service de la passerelle de données locale sur l’hôte de la passerelle de données locale. Exécutez cette configuration avec l’Éditeur de stratégie de groupe locale en exécutant gpedit.msc à partir d’une invite de commandes Administrateur.
  5. Accédez à Stratégie de l’ordinateur local ->Configuration de l’ordinateur ->Paramètres Windows ->Paramètres de sécurité ->Stratégies locales ->Attribution des droits utilisateur. Accordez au compte de service de domaine de la passerelle de données locale (par exemple, CORP\GatewaySvc) la stratégie locale Agir dans le cadre du système d'exploitation en double-cliquant dessus.
  6. Sélectionnez Ajouter un utilisateur ou Groupe.
  7. Entrez le nom du compte de service de domaine de votre passerelle de données locale (par exemple , GatewaySvc) et sélectionnez Vérifier les noms pour le résoudre en nom complet existant. Sélectionnez OK. Le nom de domaine du compte de service (par exemple CORP\GatewaySvc) est désormais ajouté à la liste des utilisateurs de la politique. Sélectionnez OK pour appliquer la nouvelle configuration.
  8. Répétez la même étape pour la stratégie Emprunter l’identité d’un client après l’authentification en double-cliquant dessus. Sélectionnez Ajouter un utilisateur ou Groupe et résolvez le compte de service de la passerelle de données locale en nom complet existant avec l’option Vérifier les noms. Sélectionnez OK.
  9. Le nom du compte de service (par exemple CORP\GatewaySvc) est désormais ajouté à la liste des utilisateurs de la politique. Sélectionnez OK. Fermez l’Éditeur de stratégie de groupe locale.
  10. Démarrez l’application de la passerelle de données locale à partir du lien de bureau sur l’hôte de la passerelle ou en exécutant C:\Program Files\On-premises data gateway\EnterpriseGatewayConfigurator.exe. Sélectionnez Se connecter pour vous connecter en tant qu’utilisateur administrateur système Power Platform ayant enregistré la passerelle de données locale dans l’environnement.
  11. Sélectionner Paramètres de service dans le menu du configurateur. Sélectionnez Changer de compte.
  12. Sélectionner Appliquer et Redémarrer.
  13. Entrez le nom du compte de service de votre passerelle de données locale (par exemple CORP\GatewaySvc) et le mot de passe. Sélectionnez Configurer.
  14. Fournissez votre compte de connexion Power Platform système Administrateur en sélectionnant se connecter.
  15. Sélectionnez Migrer, restaurez ou prenez le contrôle d’une passerelle existante pour restaurer l’enregistrement de votre passerelle.
  16. Sélectionnez votre cluster et instance de passerelle dans les zones de listes déroulantes et fournissez la clé de récupération choisie lors de l’enregistrement initial. Sélectionnez Configurer.
  17. Une fois la restauration terminée, l’instance de service de votre passerelle de données locale utilise le compte de service de domaine ( par exemple, CORP\GatewaySvc).

Installer et configurer la bibliothèque cryptographique SAP

Pour la communication SNC entre la passerelle de données local et le système SAP, la bibliothèque cryptographique SAP doit être installée sur l’hôte de la passerelle avec SAP NCo 3.1.

  1. Téléchargez la version la plus récente de la bibliothèque cryptographique SAP à partir du Téléchargement de logiciels du portail de support SAP (S-User requis) et copiez le fichier de la bibliothèque (sapcrypto.dll) dans le répertoire d’installation de la passerelle de données locale sur l’hôte de la passerelle (C:\Program Files\On-premises data gateway). Cliquez avec le bouton droit sur le fichier sapcrypto.dll et sélectionnez Propriétés dans le menu contextuel.
  2. Passez à l’onglet Détails pour vérifier la version de la bibliothèque. Il devrait s’agir de la version 8.5.25 ou plus récente. Sélectionnez OK.
  3. Créez un nouveau fichier texte sapcrypto.ini dans le même répertoire (C:\Program Files\On-premises data gateway) avec ce contenu : ccl/snc/enable_kerberos_in_client_role = 1.
  4. Enregistrez le fichier.
  5. Créez une variable d’environnement système CCL_PROFILE et définissez sa valeur sur le chemin du fichier de configuration sapcrypto.ini. Sur l’hôte de la passerelle, lancez le Panneau de configuration et accédez à Système et Sécurité ->Système. Sélectionnez les paramètres système Avancés.
  6. Sélectionnez Variables d’environnement.
  7. Sous Variables système, sélectionnez Nouveau.
  8. Entrez CCL_PROFILE comme nom de variable. Pour la valeur de la variable, entrez le chemin d’accès complet à votre fichier sapcrypto.ini, par exemple, C:\Program Files\On-premises data gateway\sapcrypto.ini. Sélectionnez OK.
  9. sélectionnez OK une seconde fois.

Configurer le paramètre OPDG FullDomainResolutionEnabled

Pour aider la passerelle de données local lors de la recherche d’utilisateurs Active Directory, nous devons définir une valeur de configuration dans les paramètres de la passerelle de données local.

  1. Sur l’hôte de la passerelle, ouvrez le fichier Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config dans le dossier d’installation de la passerelle de données locale (C:\Program Files\On-premises data gateway) dans un éditeur.
  2. Recherchez le paramètre FullDomainResolutionEnabled et définissez sa valeur sur True.
  3. Sélectionnez Redémarrer maintenant dans l’onglet Paramètres de service du configurateur de la passerelle de données locale pour appliquer les modifications.

Configurer les mappages d’utilisateurs dans Active Directory

Si les noms d’utilisateur principaux Microsoft Entra ID sont identiques à la propriété de courrier électronique Active Directory local, cette étape peut être ignorée.

Pour activer la propagation du principal basée sur Kerberos pour un utilisateur dans ce scénario, un mappage du nom d’utilisateur complet de l’utilisateur (nom d’utilisateur principal, UPN) dans Microsoft Entra ID avec le nom local de l’utilisateur dans Active Directory est requis. À cette fin, nous utilisons l’attribut inutilisé msDS-cloudExtensionAttribute1 de l’utilisateur Active Directory local pour stocker l’UPN Microsoft Entra ID. Tout autre attribut Active Directory non utilisé peut également être utilisé.

Dans le scénario pour l’utilisateur de test de l’application Jack Davis, définissez l’attribut msDS-cloudExtensionAttribute1 du compte d’utilisateur de domaine Active Directory local jdavis@corp.bestrun.com sur l’UPN Microsoft Entra ID de l’utilisateur jdavis@bestruncorp.onmicrosoft.com pour lier leurs deux comptes.

  1. Sur l’hôte de la passerelle, ouvrez le fichier Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config dans le dossier d’installation de la passerelle de données locale (C:\Program Files\On-premises data gateway) dans un éditeur.
  2. Recherchez le paramètre ADUserNameReplacementProperty et définissez sa valeur sur SAMAccountName.
  3. Recherchez le paramètre ADUserNameLookupProperty et définissez-le sur la valeur msDS-cloudExtensionAttribute1. Enregistrez les modifications dans le fichier.
  4. Sélectionnez Redémarrer maintenant dans l’onglet Paramètres de service du configurateur de la passerelle de données locale pour appliquer les modifications.
  5. Dans l’hôte du Contrôleur de domaine, sélectionnez Démarrer et sélectionnez Outils d’administration Windows ->Modifier ADSI dans le menu. Dans l’éditeur ADSI, naviguez dans l’arborescence des objets sur le côté gauche jusqu’à CN=Users dans le contexte d’appellation par défaut du domaine. Cliquez avec le bouton droit sur l’objet de l’utilisateur de test (par exemple, CN=Jack Davis) et sélectionnez Propriétés dans le menu contextuel.
  6. Sélectionnez l’attributmsDS-cloudExtensionAttribute1 dans la liste, puis sélectionnez Modifier.
  7. Saisissez l’UPN Microsoft Entra ID de l’utilisateur de test (par exemple jdavis@<nomdomaine>.onmicrosoft.com) dans le champ Valeur. Remplacez <domainname> par le nom de domaine de votre client Microsoft Entra ID, par exemple, bestruncorp. Sélectionnez OK.

Créer un flux Power Automate

Tous les composants local (système SAP, passerelle de données local et AD) sont désormais correctement configurés pour la propagation principale basée sur Kerberos. Dans cette étape, créez et exécutez un flux Power Automate pour tester la configuration.

  1. Connectez-vous à Power Automate sur https://make.powerautomate.com.

  2. Sélectionnez Mes flux ->Nouveau flux ->Flux de cloud instantané

  3. Donnez un nom au flux, sélectionnez Déclencher manuellement un flux, puis sélectionnezCréer.

  4. Ajoutez l’action du connecteur SAP ERP Appeler la fonction SAP (V3) à votre flux.

  5. Si aucune connexion SAP ERP n’est créée, vous êtes invité à en créer une. Si vous disposez d’une connexion existante, créez-en une nouvelle.

    • Le Type d’authentification doit être Microsoft Entra ID (avec Kerberos).
    • La passerelle de données doit être la passerelle de données local qui a été configurée dans ce guide.
    • Cliquez sur Se connecter.
  6. Dans l’action SAP ERP Appeler la fonction SAP (V3), définissez les paramètres suivants :

    • Le nom RFC est défini sur STFC_CONNECTION.
    • Le système SAP est configuré sur (modifiez ces valeurs en fonction de votre administrateur SAP Basis).

    json { "AppServerHost": "<Nom du serveur SAP>", "Client": "<Client SAP>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\On-premises data gateway\sapcrypto.dll", "SncPartnerName": "p:<Nom du partenaire SAP>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<Numéro du système SAP>", "UseSnc": "true" }

  7. Si tout se passe bien, un paramètre REQUTEXT dans lequel une valeur telle que Hello World peut être saisie.

  8. Enregistrez le flux et testez-le.