Partager via


Configurer Microsoft Entra ID avec des certificats pour SSO

Ce guide vous guide tout au long de la configuration du connecteur SAP ERP afin que vos utilisateurs puissent accéder aux données SAP et exécuter des appels de fonction à distance (RFC) dans Microsoft Power Platform en utilisant leur Microsoft Entra ID pour l’authentification. Le processus implique la configuration de certificats publics et privés pour une communication sécurisée.

Important

Cet article est destiné à vous aider à configurer une preuve de concept uniquement. Les paramètres et les recommandations ne sont pas destinés à une utilisation en production. Pour plus d’informations sur ce sujet, consultez votre équipe de sécurité, vos politiques internes et votre partenaire Microsoft pour obtenir davantage d’instructions.

Prérequis

Assurez-vous d’avoir déjà :

Vous devez également être familiarisé avec les technologies de clés publiques et privées.

Certificat

Nous générons un exemple de certificat racine auto-signé similaire aux certificats fournis par une autorité de certification. Vous pouvez l’utiliser pour émettre des jetons pour vos utilisateurs.

Créer une infrastructure à clé publique de démonstration

Étendez la documentation Configurer Secure Network Communications en implémentant l’autre moitié de notre PKI (infrastructure à clé publique) de démonstration.

Organigramme de la PKI de démonstration

Créez la structure des dossiers.

cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts

Créez des fichiers d’extension pour vous assurer que nos certificats sont créés avec les métadonnées et les restrictions correctes.

signingUsersCert/extensions.cnf

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true,pathlen:0
keyUsage = cRLSign, keyCertSign

userCerts/extensions.cnf

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth

Créez les fichiers index.txt et serial nécessaires pour effectuer le suivi des certificats signés.

# Create the necessary serial and index files if they don't exist
if (-Not (Test-Path "signingUsersCert\index.txt")) { New-Item -Path "signingUsersCert\index.txt" -ItemType File }
if (-Not (Test-Path "signingUsersCert\serial")) { Set-Content -Path "signingUsersCert\serial" -Value "0001" }

Générez notre certificat Utilisateurs intermédiaire.

openssl genrsa -out signingUsersCert/users.key.pem 2048

# Create Certificate Signing Request
openssl req -new -key signingUsersCert/users.key.pem -sha256 -out signingUsersCert/users.csr.pem -subj "/O=Contoso/CN=Users Intermediate Cert"

# Sign the certificate with the rootCA cert.
openssl x509 -req -in signingUsersCert/users.csr.pem -days 3650 `
  -CA rootCA/ca.cert.pem -CAkey rootCA/ca.key.pem `
  -out signingUsersCert/users.cert.pem `
  -extfile signingUsersCert/extensions.cnf -extensions v3_ca `
  -CAserial rootCA/serial

Générer des certificats utilisateur

Exécutez ce qui suit pour générer et signer un certificat pour un utilisateur avec le nom d’utilisateur SAP TESTUSER01 :

# Create the private key.
openssl genrsa -out userCerts/TESTUSER01.key.pem 2048

# Generate the certificate signing request
openssl req -key userCerts/TESTUSER01.key.pem -new -sha256 -out userCerts/TESTUSER01.csr.pem -subj "/CN=TESTUSER01"

# Sign the certificate + add extensions with the intermediate cert.
openssl x509 -req -days 365 -in userCerts/TESTUSER01.csr.pem -sha256 `
  -CA signingUsersCert/users.cert.pem -CAkey signingUsersCert/users.key.pem `
  -out userCerts/TESTUSER01.cert.pem -extfile userCerts/extensions.cnf `
  -CAserial signingUsersCert/serial

Nonte

CN=TESTUSER01 doit être le premier paramètre.

Vous disposez maintenant d’un certificat racine, d’un certificat SNC (abréviation pour Secure Network Communications) intermédiaire, d’un certificat utilisateur intermédiaire et d’un certificat pour identifier le certificat utilisateur.

Vérifiez la chaîne à l’aide de la commande suivante :

$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem

userCerts/TESTUSER01.cert.pem: OK

Windows Store

Procédez comme suit pour ajouter le certificat de signature et la chaîne de certificats des utilisateurs au Windows Store.

  1. Générez un fichier .p12 à partir du certificat de signature et de la clé privée des utilisateurs.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Ouvrez le gestionnaire de certificats Windows :
    1. Appuyez sur Win + R, saisissez certlm.msc et appuyez sur Entrée.
  2. Importez le certificat de l’autorité de certification racine publique.
    1. Importez dans Trusted Root Certification Authorities.
  3. Importer le certificat utilisateur + la clé :
    1. Dans le Gestionnaire de certificats, accédez au magasin de certificats approprié (par exemple, Personnel).
    2. Cliquez avec le bouton droit et sélectionnez All Tasks > Import.
    3. Suivez l’assistant pour importer le fichier .p12, en veillant à marquer la clé comme exportable afin qu’OPDG (abréviation pour Passerelle de données locale) puisse l’utiliser pour chiffrer les données.
    4. Cliquez avec le bouton droit sur Users Intermediate Cert et sélectionnez All Tasks>Manage Private Keys....
  4. Ajoutez l’utilisateur NT SERVICE\PBIEgwService à la liste des personnes disposant d’autorisations.
  5. Vérifiez le nom d’objet du certificat dans le magasin de certificats Windows :
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject

Mappage utilisateur Entra ID à SAP

Vous pouvez mapper des certificats X.509 aux utilisateurs explicitement, à l’aide de règles ou en ajoutant un certificat intermédiaire utilisateur à SAP.

Mapper explicitement les certificats X.509 aux utilisateurs

Mappez explicitement un petit nombre d’utilisateurs Entra ID aux utilisateurs SAP.

Accédez à SAP GUI dans T-Code SM30.

Entrez dans la table VUSREXTID et sélectionnez le bouton Maintenir.

Sélectionnez l’option DN lorsque vous y êtes invité à sasir le Type of ACL.

Choisissez New Entry et entrez CN=TESTUSER01@CONTOSO.COM (en remplaçant le contenu de votre propre UPN) pour l’ID externe. Assurez-vous que CN s’affiche en premier. Sélectionnez votre UPN pour le champ du nom d’utilisateur ; et enfin, cochez l’option Activated et enregistrez les résultats.

Nonte

N’INCLUEZ PAS le préfixe p:.

Mapper les certificats X.509 aux utilisateurs à l’aide de règles

Utilisez les Règles de certificat pour mapper facilement en bloc les utilisateurs Entra ID aux utilisateurs SAP.

Assurez-vous que le paramètre de profil login/certificate_mapping_rulebased est défini sur la valeur actuelle 1.

Nonte

Cette méthode de mappage ne persiste pas entre les redémarrages.

Ensuite, créez la règle suivante dans t-code CERTRULE

Code T : CERTRULE

Nonte

Attendez deux minutes pour vous assurer que les connexions mises en cache à SAP ont expiré, puis testez à nouveau la connexion. Si ce n’est pas le cas, vous risquez de rencontrer l’erreur Aucun utilisateur SAP approprié trouvé pour le certificat client X.509.

Certificat intermédiaire utilisateur

Procédez comme suit pour ajouter un certificat intermédiaire utilisateur à SAP :

  1. Ouvrez le t-code STRUST et double-cliquez sur STRUST pour ajouter le fichier users.cert.pem du certificat public dans la zone.
  2. Dans SAP GUI, accédez au code de transaction STRUST.
  3. Si SNC SAPCryptolib a un X rouge, cliquez avec le bouton droit et sélectionnez Créer.
  4. Sélectionnez SNC SAPCryptolib, puis double-cliquez sur votre Propre certificat.
  5. Sélectionnez Importer un certificat et choisissez votre certificat public signingUsersCert\users.cert.pem.
  6. Sélectionnez Ajouter à la liste des certificats.

Mise à jour du système SAP

Ajoutez SsoCertificateSubject à vos paramètres système SAP.

"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",

Activez également

"SncSso": "On"

Remplacez la connexion par une nouvelle connexion utilisant Microsoft Entra ID (using certificates) pour vous connecter à SAP avec votre compte Microsoft Entra ID.

Important

Supprimez les clés publiques et privées temporaires TESTUSER01 à la fin de ce didacticiel.

Important

Assurez le traitement sécurisé et la suppression éventuelle des clés privées à la fin de cette configuration afin de maintenir l’intégrité de la sécurité.

Pour en savoir plus, voir FAQ sur la passerelle de données localeConfigurer l’authentification basée sur un certificat