Compartir por


Configurar as comunicacións de rede segura

Secure Network Communications (SNC) mellora a seguridade da súa integración con SAP con Power Platform ao cifrar os datos entre unha pasarela de datos local e un sistema SAP. Este artigo guíache a través da configuración de SNC como proba de concepto.

Importante

As configuracións e recomendacións que se presentan neste artigo non están destinadas ao uso de produción. Consulte o seu equipo de seguridade, as políticas internas e o socio Microsoft para obter orientación sobre a configuración de SNC nun ambiente de produción.

Requisitos previos

  1. Tes unha conexión SAP que usa o conector SAP ERP.
  2. Ten acceso a unha instancia de SAP que pode reiniciar e administrar.
  3. A GUI de SAP está instalada e configurada.
  4. Coñeces as tecnoloxías de clave pública e privada.
  5. OpenSSL está instalado e configurado. Se tes Git para Windows, engade C:\Program Files\Git\usr\bin\ a RUTA do teu sistema para que poidas usar o comando openssl .

Instalar SAP Common Crypto Library

SAP Common Crypto Library permite que o SAP Connector for Microsoft .NET (NCo) cifra as comunicacións entre a pasarela de datos local e SAP. Para extraer a biblioteca, necesitas unha utilidade de descompresión propietaria chamada SAPCAR.

Consigue SAPCAR

  1. Vaia ao Centro de descarga de software SAP e inicie sesión coas súas credenciais de SAP.
  2. Busca SAPCAR e selecciona a última versión non arquivada.
  3. Seleccione o seu sistema operativo.
  4. Descarga o ficheiro .EXE para C:\sap\SAR.

Obter SAP Common Crypto Library

  1. No Centro de descarga de software SAP, busque "COMMONCRYPTOLIB" e seleccione a versión máis recente.
  2. Seleccione o seu sistema operativo.
  3. Descarga o ficheiro .SAR coa data de lanzamento máis recente a C:\sap\SAR.

Extraer SAP Common Crypto Library

  1. Abre PowerShell e vai a C:\sap\SAR.

  2. Introduza o seguinte comando, substituíndo xxxx polos seus valores:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Confirma que sapgenpse.exe estea no directorio C:\sap\libs\sapcryptolib .

Xerar certificados

Agora que instalou SAP Common Crypto Library, pode xerar certificados para establecer a confianza e o cifrado entre a súa pasarela de datos local e o sistema SAP.

Aviso

Este método é só para fins de demostración e non se recomenda para sistemas de produción. Para os sistemas de produción, consulte o seu equipo de seguridade ou orientación PKI interna.

Neste exemplo, os nosos certificados estrutúranse como se mostra no seguinte diagrama. CA raíz [O=Contoso, CN=CA raíz] asina o certificado de cifrado SNC [O=Contoso, CN=SNC] e os certificados de usuario [O=Contoso, CN=UserIDs]. Este artigo céntrase na configuración dos certificados root CA e SNC.

Diagrama que mostra o fluxo de certificados desde a CA raíz ata o certificado de cifrado, o certificado de sinatura e os ID de usuario.

Crear certificados

  1. Configura a estrutura do cartafol:

    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. Xerar unha CA raíz:

    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. Xerar o certificado 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. Crea un ficheiro de configuración de OpenSSL, sncCert/extensions.cnf, para asinar:

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Asina o certificado SNC coa CA raíz:

    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
    

Crear un entorno persoal seguro

Crea un entorno seguro persoal (PSE) para a pasarela de datos local. A biblioteca NCo busca o certificado SNC dentro do PSE.

  1. Crea un contedor PKCS#12:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Cree a variable de ambiente SECUDIR:

    1. Abre Propiedades do sistema: no Explorador de ficheiros, fai clic co botón dereito do rato en Este PC e, a continuación, selecciona a20>Propiedades>Configuración avanzada do sistema.
    2. Seleccione Variables de ambiente.
    3. En Variables do sistema, seleccione Novo.
    4. Establece o nome da variable en SECUDIR.
    5. Establece o valor en C:\sapsecudir.
    6. Seleccione Aceptar.
  3. Importa o contedor PKCS#12 nun PSE:

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

Configurar SAP para SNC

  1. Inicie sesión na GUI de SAP.

  2. Vaia ao código de transacción SNC0.

  3. Introduza E como área de traballo.

  4. Seleccione Nova entrada na barra superior e enche a información requirida.

    Captura de pantalla da GUI de SAP que mostra a Lista de control de acceso para sistemas.

  5. Seleccione Gardar.

  6. Volve á pantalla de inicio de SAP GUI.

  7. Vaia ao código de transacción RZ10.

  8. Establece estes parámetros de perfil:

    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. Garda os parámetros do perfil e reinicia o teu sistema SAP.

Intercambia certificados entre SAP e a pasarela de datos local

Necesitas intercambiar certificados entre a pasarela de datos local e SAP para establecer a confianza.

Engade o certificado SNC de pasarela a SAP

  1. Na GUI de SAP, vai ao código de transacción STRUST.
  2. Se SNC SAPCryptolib ten unha X vermella, fai clic co botón dereito nel e selecciona Crear.
  3. En caso contrario, faga dobre clic en SNC SAPCryptolib e, a continuación, faga dobre clic no seu Certificado propio.
  4. Seleccione Importar certificado e escolle o seu sncCert\snc.cert.pem certificado público.
  5. Seleccione Engadir á lista de certificados.

Engade o certificado SAP SNC á pasarela de datos local

  1. Na GUI de SAP, vai ao código de transacción STRUST.

  2. Fai dobre clic en SNC SAPCryptolib e, a continuación, fai dobre clic no teu Certificado propio.

  3. Exportar o certificado público.

  4. Move o certificado público á máquina de pasarela (por exemplo, C:\sap\contoso-public-key.crt).

  5. Importe o certificado no PSE da súa pasarela:

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

Proba a conexión segura

Siga os pasos para probar a conexión segura. Unha vez que completes a proba con éxito, estarás preparado para implementar SNC no teu ambiente de produción.

  1. Crea un fluxo instantáneo en Power Automate.

  2. Engade unha SAP ERP Call Function acción.

  3. Engade os seguintes parámetros SNC á cadea Conexión 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. Proba a conexión mediante a función STFC_CONNECTION RFC.

    Captura de pantalla que mostra os resultados dunha proba nun fluxo Power Automate .

Importante

Asegúrate de manexar as claves privadas de forma segura e elimínaas ao finalizar esta configuración.

Seguinte paso

Configura un Microsoft Entra ID con certificados para SSO