Del via


Konfigurer sikker netværkskommunikation

SNC (Secure Network Communications) forbedrer sikkerheden for din SAP-integration med Power Platform ved at kryptere dataene mellem en datagateway i det lokale miljø og et SAP-system. Denne artikel fører dig gennem opsætning af SNC som et bevis på konceptet.

Vigtige oplysninger

De indstillinger og anbefalinger, der præsenteres i denne artikel, er ikke beregnet til produktionsbrug. Kontakt dit sikkerhedsteam, interne retningslinjer og Microsoft-partner for at få vejledning i konfiguration af SNC i et produktionsmiljø.

Forudsætninger

  1. Du har en SAP-forbindelse, der bruger SAP ERP-connectoren.
  2. Du har adgang til en SAP-instans, som du kan genstarte og administrere.
  3. SAP GUI'en er installeret og konfigureret.
  4. Du er bekendt med offentlige og private nøgleteknologier.
  5. OpenSSL er installeret og sat op. Hvis du har Git til Windows, skal du føje C:\Program Files\Git\usr\bin\ til din system PATH, så du kan bruge kommandoen openssl.

Installer SAP Common Crypto Library

SAP Common Crypto Library gør det muligt for SAP-connectoren til Microsoft .NET (NCo) at kryptere kommunikationen mellem on-premises datagateway og SAP. For at udpakke biblioteket skal du bruge et proprietært dekomprimeringsværktøj kaldet SAPCAR.

Hent SAPCAR

  1. Gå til SAP Software Download Center, og log på med dine SAP-legitimationsoplysninger.
  2. Søg efter SAPCAR , og vælg den seneste ikke-arkiverede version.
  3. Vælg dit operativsystem.
  4. Download .EXE-filen til C:\sap\SAR.

Hent SAP Common Crypto Library

  1. I SAP Software Download Center skal du søge efter "COMMONCRYPTOLIB" og vælge den nyeste version.
  2. Vælg dit operativsystem.
  3. Download .SAR-fil med den seneste udgivelsesdato til C:\sap\SAR.

Udpak SAP Common Crypto Library

  1. Åbn PowerShell og gå til C:\sap\SAR.

  2. Indtast følgende kommando, erstat xxxx med dine værdier:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Bekræft, at sapgenpse.exe er i mappen C:\sap\libs\sapcryptolib.

Generér certifikater

Når du har installeret SAP Common Crypto Library, skal du generere certifikater for at etablere tillid og kryptering mellem din datagateway i det lokale miljø og SAP-systemet.

Advarsel!

Denne metode er kun til demonstrationsformål og anbefales ikke til produktionssystemer. For produktionssystemer skal du rådfør dig med din interne PKI-vejledning eller dit sikkerhedsteam.

I dette eksempel skal du strukturere dine certifikater som vist i følgende diagram. Rodnøglecenteret [O=Contoso, CN=rodnøglecenteret] signerer SNC-krypteringscertifikatet [O=Contoso, CN=SNC] og brugercertifikaterne [O=Contoso, CN=UserIDs]. I denne artikel fokuseres der på at konfigurere rodcertificeringsinstans og SNC-certifikater.

Diagram, der viser certifikatflow fra rodcertificeringsinstans til krypteringscertifikat, signeringscertifikat og bruger-id'er.

Oprette certifikater

  1. Konfigurer mappestrukturen:

    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. Opret en rodcertificeringsinstans:

    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. Generér SNC-certifikater:

    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. Opret en OpenSSL-konfigurationsfil, sncCert/extensions.cnf, til signering:

    [ v3_leaf ]
    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Signer SNC-certifikatet med rod-CA:

    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
    

Opret et personligt sikkert miljø

Opret et personligt sikkert miljø (PSE) for datagatewayen i det lokale miljø. NCo-biblioteket søger efter SNC-certifikatet inde i PSE'en.

  1. Oprette en PKCS#12 objektbeholder:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Opret miljøvariablen SECUDIR:

    1. Åbn Systemegenskaber: Højreklik på Denne pc i Stifinder, og vælg derefter Egenskaber>Avancerede systemindstillinger.
    2. Vælg Miljøvariabler.
    3. Vælg Ny under Systemvariabler.
    4. Angiv variabelnavn til SECUDIR.
    5. Angiv værdien til C:\sapsecudir (opret denne mappe, hvis den ikke findes).
    6. Vælg OK.
    7. Genstart din PowerShell-session for at hente denne nye miljøvariabel.
  3. Importér PKCS#12-containeren til en PSE:

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

Konfigurer SAP til SNC

  1. Log på SAP GUI.

  2. Gå til transaktionskode SNC0.

  3. Angiv E som arbejdsområde.

  4. Vælg Ny post i den øverste bjælke, og udfyld de nødvendige oplysninger.

    Skærmbillede af SAP GUI, der viser adgangskontrollisten for systemer.

  5. Vælg Save.

  6. Gå tilbage til SAP GUI-startsiden.

  7. Gå til transaktionskode RZ10.

  8. Indstil disse profilparametre:

    snc/accept_insecure_cpic: 1
    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. Gem profilparametrene, og genstart dit SAP-system.

Udveksle certifikater mellem SAP og on-premises datagateway

Du skal udveksle certifikater mellem on-premises datagateway og SAP for at skabe tillid.

Føj gatewayens SNC-certifikat til SAP

  1. I SAP GUI'en skal du gå til transaktionskoden STRUST.
  2. Hvis SNC SAPCryptolib har et rødt X, skal du højreklikke på det og vælge Opret.
  3. Ellers skal du dobbeltklikke på SNC SAPCryptolib og derefter dobbeltklikke på dit eget certifikat.
  4. Vælg Importer certifikat, og vælg dit sncCert\snc.cert.pem offentlige certifikat.
  5. Vælg Føj til certifikatliste.

Føj SAP SNC-certifikatet til datagatewayen i det lokale miljø

  1. I SAP GUI'en skal du gå til transaktionskoden STRUST.

  2. Dobbeltklik på SNC SAPCryptolib, og dobbeltklik derefter på dit Eget certifikat.

  3. Eksporter det offentlige certifikat.

  4. Flyt det offentlige certifikat til din gatewaycomputer (f.eks. C:\sap\contoso-public-key.crt).

  5. Importer certifikatet til din gateways PSE:

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

Test af sikker forbindelse

Følg trin for at teste den sikre forbindelse. Når du har fuldført testen, er du klar til at implementere SNC i dit produktionsmiljø.

  1. Opret et øjeblikkeligt flow i Power Automate.

  2. Tilføj en SAP ERP Call Function-handling.

  3. Føj følgende SNC-parametre til SAP-forbindelsesstrengen:

    {
    "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. Test forbindelsen ved hjælp af STFC_CONNECTION RFC-funktionen.

    Skærmbillede, der viser resultaterne af en test i et Power Automate flow.

Vigtige oplysninger

Sørg for, at du håndterer private nøgler sikkert og sletter dem, når du fuldfører denne konfiguration.

Næste trin

Konfigurere Microsoft Entra ID med certifikater til SSO