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
- Vous disposez d’une connexion SAP qui utilise le connecteur SAP ERP.
- Vous avez accès à une instance SAP que vous pouvez redémarrer et administrer.
- L’interface graphique SAP est installée et configurée.
- Vous connaissez les technologies à clés publiques et privées.
- 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 commandeopenssl
.
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
- Accédez au Centre de téléchargement de logiciels SAP et connectez-vous à l’aide de vos informations d’identification SAP.
- Recherchez SAPCAR et sélectionnez la dernière version non archivée.
- Sélectionnez votre système d’exploitation.
- Téléchargez le fichier .EXE dans
C:\sap\SAR
.
Télécharger SAP Common Crypto Library
- Dans le centre de téléchargement de logiciels SAP, recherchez "COMMONCRYPTOLIB" et Sélectionner la dernière version.
- Sélectionnez votre système d’exploitation.
- Téléchargez le fichier .SAR avec la date de lancement la plus récente dans
C:\sap\SAR
.
Extraire SAP Common Crypto Library
Ouvrez PowerShell et accédez à
C:\sap\SAR
.Entrez la commande suivante, en remplaçant
xxxx
par vos valeurs :.\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
Confirmez que
sapgenpse.exe
se trouve dans le répertoireC:\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.
Créer des certificats
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" }
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"
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"
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
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.
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
Créez la variable SECUDIR environnement :
- 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.
- Sélectionnez Variables d’environnement.
- Sous Variables système, sélectionnez Nouveau.
- Définissez la nom de la variable sur
SECUDIR
. - Définissez la valeur sur
C:\sapsecudir
. - Sélectionnez OK.
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
Connectez-vous à SAP GUI.
Accédez au code de transaction
SNC0
.Entrez E comme zone de travail.
Sélectionnez Nouvelle entrée dans la barre supérieure et complétez les informations requises.
Sélectionnez Enregistrer.
Revenez à la page d’accueil SAP GUI.
Accédez au code de transaction
RZ10
.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```
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
- Dans SAP GUI, accédez au code de transaction
STRUST
. - Si SNC SAPCryptolib a un X rouge, faites un clic droit dessus et Sélectionner Créer.
- Sinon, double-cliquez sur SNC SAPCryptolib, puis double-cliquez sur votre Propre certificat.
- Sélectionner Importez un certificat et choisissez votre
sncCert\snc.cert.pem
certificat public. - Sélectionnez Ajouter à la liste des certificats.
Ajouter le certificat SAP SNC à la passerelle de données locale
Dans SAP GUI, accédez au code de transaction
STRUST
.Double-cliquez sur SNC SAPCryptolib, puis double-cliquez sur votre Propre certificat.
Exportez le certificat public.
Déplacez le certificat public vers votre machine passerelle (par exemple,
C:\sap\contoso-public-key.crt
).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.
Créez un flux instantané dans Power Automate.
Ajoutez une action
SAP ERP Call Function
.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" }```
Testez la connexion en utilisant la fonction RFC.
STFC_CONNECTION
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.