Partager via


Configurer Secure Network Communications

Secure Network Communications (SNC) renforce la sécurité de votre intégration SAP à Power Platform en chiffrant les données entre une passerelle de données locale et un système SAP. Cet article vous guide dans la configuration de SNC comme preuve de concept.

Important

Les paramètres et recommandations présentés dans cet article ne sont pas destinés à une utilisation en production. Consultez votre équipe de sécurité, vos politiques internes et votre partenaire Microsoft pour obtenir des conseils sur la configuration de SNC dans une production environnement.

Prérequis

  1. Vous disposez d’une connexion SAP qui utilise le connecteur SAP ERP.
  2. Vous avez accès à une instance SAP que vous pouvez redémarrer et administrer.
  3. L’interface graphique SAP est installée et configurée.
  4. Vous connaissez les technologies à clés publiques et privées.
  5. OpenSSL est installé et configuré. Si vous disposez de Git pour Windows, ajoutez C:\Program Files\Git\usr\bin\ à votre PATH système afin de pouvoir utiliser la commande openssl.

Installer la bibliothèque de cryptographie commune SAP

SAP Common Crypto Library permet au connecteur SAP pour Microsoft .NET (NCo) de chiffrer les communications entre la passerelle de données locale et SAP. Pour extraire la bibliothèque, vous avez besoin d’un utilitaire de décompression propriétaire appelé SAPCAR.

Obtenez SAPCAR

  1. Accédez au Centre de téléchargement de logiciels SAP et connectez-vous à l’aide de vos informations d’identification SAP.
  2. Recherchez SAPCAR et sélectionnez la dernière version non archivée.
  3. Sélectionnez votre système d’exploitation.
  4. Téléchargez le fichier .EXE dans C:\sap\SAR.

Télécharger SAP Common Crypto Library

  1. Dans le centre de téléchargement de logiciels SAP, recherchez "COMMONCRYPTOLIB" et Sélectionner la dernière version.
  2. Sélectionnez votre système d’exploitation.
  3. Téléchargez le fichier .SAR avec la date de lancement la plus récente dans C:\sap\SAR.

Extraire SAP Common Crypto Library

  1. Ouvrez PowerShell et accédez à C:\sap\SAR.

  2. Entrez la commande suivante, en remplaçant xxxx par vos valeurs :

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Confirmez que sapgenpse.exe se trouve dans le répertoire C:\sap\libs\sapcryptolib.

Générer des certificats

Maintenant que vous avez installé SAP Common Crypto Library, vous pouvez générer des certificats pour établir la confiance et le cryptage entre votre passerelle de données local et le système SAP.

Avertissement 

Cette méthode est uniquement destinée à des fins de démonstration et n’est pas recommandée pour les systèmes de production. Pour les systèmes de production, consultez votre équipe interne d’orientation et de sécurité PKI.

Dans cet exemple, nos certificats sont structurés comme indiqué dans le diagramme suivant. L’autorité de certification racine [O=Contoso, CN=Root CA] signe le certificat de chiffrement SNC [O=Contoso, CN=SNC] et les certificats utilisateur [O=Contoso, CN=UserIDs]. Cet article se concentre sur la configuration des certificats de l’autorité de certification racine et SNC.

Diagramme montrant le flux de certificats de l’autorité de certification racine vers le certificat de chiffrement, le certificat de signature et les identifiants d’utilisateur.

Créer des certificats

  1. Configurez la structure des dossiers :

    mkdir rootCA
    mkdir sncCert
    
    # Create the necessary serial and index files if they don't exist
    if (-Not (Test-Path "rootCA\index.txt")) { New-Item -Path "rootCA\index.txt" -ItemType File }
    if (-Not (Test-Path "rootCA\serial")) { Set-Content -Path "rootCA\serial" -Value "01" }
    
  2. Générer une autorité de certification racine :

    openssl genpkey -algorithm RSA -out rootCA/ca.key.pem -pkeyopt rsa_keygen_bits:2048
    openssl req -x509 -new -key rootCA/ca.key.pem -days 7305 -sha256 -extensions v3_ca -out rootCA/ca.cert.pem -subj "/O=Contoso/CN=Root CA"
    
  3. Générez le certificat SNC :

    openssl genrsa -out sncCert/snc.key.pem 2048
    openssl req -key sncCert/snc.key.pem -new -sha256 -out sncCert/snc.csr.pem -subj "/O=Contoso/CN=SNC"
    
  4. Créez un fichier de configuration OpenSSL, sncCert/extensions.cnf, pour la signature :

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Signez le certificat SNC avec l’autorité de certification racine :

    openssl x509 -req `
       -in sncCert/snc.csr.pem `
       -CA rootCA/ca.cert.pem `
       -CAkey rootCA/ca.key.pem `
       -CAcreateserial `
       -out sncCert/snc.cert.pem `
       -days 3650 `
       -sha256 `
       -extfile sncCert\extensions.cnf `
       -extensions v3_leaf
    

Créez un compte personnel sécurisé environnement

Créez un Personal Secure environnement (PSE) pour la passerelle de données local. La bibliothèque NCo recherche le certificat SNC à l’intérieur du PSE.

  1. Créez un conteneur PKCS#12 :

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Créez la variable SECUDIR environnement :

    1. Ouvrez les Propriétés du système : dans l’Explorateur de fichiers, cliquez avec le bouton droit sur Ce PC, puis sélectionnez Propriétés>Paramètres système avancés.
    2. Sélectionnez Variables d’environnement.
    3. Sous Variables système, sélectionnez Nouveau.
    4. Définissez la nom de la variable sur SECUDIR.
    5. Définissez la valeur sur C:\sapsecudir.
    6. Sélectionnez OK.
  3. Importez le conteneur PKCS#12 dans un PSE :

    C:\sap\libs\sapcryptolib\sapgenpse.exe import_p12 -p SAPSNCSKERB.pse C:\pki-certs\snc.p12
    

Configurer SAP pour SNC

  1. Connectez-vous à SAP GUI.

  2. Accédez au code de transaction SNC0.

  3. Entrez E comme zone de travail.

  4. Sélectionnez Nouvelle entrée dans la barre supérieure et complétez les informations requises.

    Capture d’écran de l’interface graphique SAP affichant la liste de contrôle d’accès pour les systèmes.

  5. Sélectionnez Enregistrer.

  6. Revenez à la page d’accueil SAP GUI.

  7. Accédez au code de transaction RZ10.

  8. Définissez ces paramètres de profil :

    snc/accept_insecure_gui: 1
    snc/accept_insecure_rfc: 1
    snc/enable: 1
    snc/extid_login_diag: 1
    snc/extid_login_rfc: 1
    snc/gssapi_lib: $(SAPCRYPTOLIB)
    snc/identity/as: p:CN=ID3, O=Contoso
    snc/permit_insecure_start: 1
    snc/data_protection/max: 3```
    
    
  9. Enregistrez les paramètres de profil et redémarrez votre système SAP.

Échanger des certificats entre SAP et la passerelle de données locale

Vous devez échanger des certificats entre la passerelle de données local et SAP pour établir la confiance.

Ajoutez le certificat SNC de la passerelle à SAP

  1. Dans SAP GUI, accédez au code de transaction STRUST.
  2. Si SNC SAPCryptolib a un X rouge, faites un clic droit dessus et Sélectionner Créer.
  3. Sinon, double-cliquez sur SNC SAPCryptolib, puis double-cliquez sur votre Propre certificat.
  4. Sélectionner Importez un certificat et choisissez votre sncCert\snc.cert.pem certificat public.
  5. Sélectionnez Ajouter à la liste des certificats.

Ajouter le certificat SAP SNC à la passerelle de données locale

  1. Dans SAP GUI, accédez au code de transaction STRUST.

  2. Double-cliquez sur SNC SAPCryptolib, puis double-cliquez sur votre Propre certificat.

  3. Exportez le certificat public.

  4. Déplacez le certificat public vers votre machine passerelle (par exemple, C:\sap\contoso-public-key.crt).

  5. Importez le certificat dans le PSE de votre passerelle :

    C:\sap\libs\sapcryptolib\sapgenpse.exe maintain_pk -p SAPSNCSKERB.pse -v -a C:\pki-certs\sncCert\sapkerb.public.cert
    

Tester la connexion sécurisée

Procédez comme suit pour tester la connexion sécurisée. Une fois le test terminé avec succès, vous êtes prêt à implémenter SNC dans votre production environnement.

  1. Créez un flux instantané dans Power Automate.

  2. Ajoutez une action SAP ERP Call Function.

  3. Ajoutez les paramètres SNC suivants à la chaîne Connexion SAP :

    {
    "AppServerHost": "xxx",
    "Client": "xx",
    "SystemNumber": "xx",
    "LogonType": "ApplicationServer",
    "SncLibraryPath": "C:\\sap\\libs\\sapcryptolib\\sapcrypto.dll",
    "SncMyName": "p:CN=SNC, O=Contoso",
    "SncPartnerName": "p:CN=ID3, O=Contoso",
    "SncQop": "Default",
    "UseSnc": "true",
    "SncSso": "Off"
    }```
    
    
  4. Testez la connexion en utilisant la fonction RFC. STFC_CONNECTION

    Capture d’écran illustrant les résultats d’un test dans un flux Power Automate.

Important

Assurez-vous de gérer en toute sécurité les clés privées et de les supprimer une fois cette configuration terminée.

Étape suivante

Configurer Microsoft Entra ID avec des certificats pour SSO