Compartilhar via


Configurar a Comunicação de Rede Segura

A SNC (Comunicação de Rede Segura) aumenta a segurança da integração do SAP com o Power Platform criptografando os dados entre um gateway de dados local e um sistema SAP. Este artigo orienta você durante a configuração da SNC como uma prova de conceito.

Importante

As configurações e recomendações apresentadas neste artigo não se destinam ao uso em produção. Consulte sua equipe de segurança, políticas internas e o Microsoft Partner para obter orientação sobre como configurar a SNC em um ambiente de produção.

Pré-requisitos

  1. Você tem uma conexão SAP que usa o conector ERP do SAP.
  2. Você tem acesso a uma instância do SAP que pode reiniciar e administrar.
  3. A GUI do SAP é instalada e configurada.
  4. Você também precisa estar familiarizado com as tecnologias de chave pública e privada.
  5. O OpenSSL é instalado e configurado. Se você tiver o Git para Windows, adicione C:\Program Files\Git\usr\bin\ ao seu sistema PATH para que você possa usar o comando openssl.

Instalar o SAP Common Crypto Library

O SAP Common Crypto Library permite que o SAP Connector for Microsoft .NET (NCo) criptografe as comunicações entre o gateway de dados local e o SAP. Para extrair a biblioteca, você precisa de um utilitário de descompactação proprietário chamado SAPCAR.

Obter o SAPCAR

  1. Vá até o Centro de Download de Software SAP e entre com suas credenciais SAP.
  2. Procure SAPCAR e selecione a versão não arquivada mais recente.
  3. Selecione o sistema operacional.
  4. Baixe o arquivo .EXE em C:\sap\SAR.

Obter o SAP Common Crypto Library

  1. No Centro de Download de Software SAP, procure por "COMMONCRYPTOLIB" e selecione a versão mais recente.
  2. Selecione o sistema operacional.
  3. Faça o download do arquivo . SAR com a data de lançamento mais recente em C:\sap\SAR.

Extraia o SAP Common Crypto Library

  1. Abra o PowerShell e acesse C:\sap\SAR.

  2. Digite o seguinte comando, substituindo xxxx por seus valores:

    .\SAPCAR_xxxx.EXE -xvf .\SAPCRYPTOLIBP_xxxx.SAR -R .\..\libs\sapcryptolib
    
  3. Confirme se sapgenpse.exe está no diretório C:\sap\libs\sapcryptolib.

Gerar certificados

Agora que você instalou o SAP Common Crypto Library, pode gerar certificados para estabelecer confiança e criptografia entre o gateway de dados local e o sistema SAP.

Aviso

Este método é apenas para fins de demonstração e não é recomendado para sistemas de produção. Para sistemas de produção, consulte sua equipe interna de orientação ou segurança de PKI.

Neste exemplo, nossos certificados são estruturados conforme mostrado no diagrama a seguir. A autoridade de certificação raiz [O=Contoso, CN=CA raiz] assina o certificado de criptografia SNC [O=Contoso, CN=SNC] e os certificados de usuário [O=Contoso, CN=UserIDs]. Este artigo se concentra na configuração da Autoridade de certificação raiz e dos certificados SNC.

Diagrama mostrando o fluxo de certificado da autoridade de certificação raiz para o certificado de criptografia, certificado de assinatura e userIDs.

Criar certificados

  1. Configure a estrutura da pasta:

    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. Gere uma autoridade de certificação raiz:

    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. Gere 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. Crie um arquivo de configuração OpenSSL, sncCert/extensions.cnf, para assinar:

    subjectKeyIdentifier = hash
    authorityKeyIdentifier = keyid,issuer
    basicConstraints = critical,CA:false
    keyUsage = critical,digitalSignature,keyEncipherment,dataEncipherment
    extendedKeyUsage = clientAuth,emailProtection
    
  5. Assine o certificado SNC com a CA raiz:

    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
    

Crie um ambiente seguro pessoal

Criar um PSE (Ambiente Seguro Pessoal) para o gateway de dados local. A biblioteca NCo procura o certificado SNC dentro do PSE.

  1. Crie um contêiner PKCS#12:

    openssl pkcs12 -export -out snc.p12 -inkey sncCert\snc.key.pem -in sncCert\snc.cert.pem -certfile rootCA\ca.cert.pem
    
  2. Crie a variável do ambiente SECUDIR:

    1. Abra Propriedades do Sistema: no Explorador de Arquivos, clique com o botão direito do mouse em Este PC e selecione Propriedades>Configurações avançadas do sistema.
    2. Selecione Variáveis de ambiente.
    3. Em Variáveis do sistema, selecione Novo.
    4. Defina o nome da variável como SECUDIR.
    5. Defina o valor como C:\sapsecudir.
    6. Selecione OK.
  3. Importe o contêiner PKCS#12 para um PSE:

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

Configurar SAP para SNC

  1. Entre na GUI do SAP.

  2. Acesse o código da transação SNC0.

  3. Insira E como a área de trabalho.

  4. Selecione Nova entrada na barra superior e preencha as informações necessárias.

    Captura de tela da GUI do SAP mostrando a Lista de Controle de Acesso para Sistemas.

  5. Selecionar o ícone Salvar.

  6. Volte para a tela inicial GUI do SAP.

  7. Acesse o código da transação RZ10.

  8. Defina 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. Salve os parâmetros do perfil e reinicie o sistema SAP.

Trocar certificados entre o SAP e o gateway de dados local

Você precisa trocar certificados entre o gateway de dados local e o SAP para estabelecer confiança.

Adicionar o certificado SNC do gateway ao SAP

  1. Na GUI do SAP, vá para o código de transação STRUST.
  2. Se SNC SAPCryptolib tiver um X vermelho, clique nele com o botão direito do mouse e selecione Criar.
  3. Caso contrário, clique duas vezes em SNC SAPCryptolib e clique duas vezes em seu Próprio Certificado.
  4. Selecione Importar certificado e escolha seu sncCert\snc.cert.pem certificado público.
  5. Selecione Adicionar à lista de certificados.

Adicionar o certificado SAP SNC ao gateway de dados local

  1. Na GUI do SAP, vá para o código de transação STRUST.

  2. Clique duas vezes em SNC SAPCryptolib e clique duas vezes em seu Próprio Certificado.

  3. Exporte o certificado público.

  4. Mova o certificado público para sua máquina gateway (por exemplo, C:\sap\contoso-public-key.crt).

  5. Importe o certificado para o PSE do gateway:

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

Teste a conexão segura

Siga as etapas para testar a conexão segura. Depois de concluir o teste com êxito, você estará pronto para implementar o SNC em seu ambiente de produção.

  1. Crie um fluxo instantâneo no Power Automate.

  2. Adicione uma ação SAP ERP Call Function.

  3. Adicione os seguintes parâmetros SNC à cadeia de caracteres daConexão 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. Teste a conexão usando a função RFC STFC_CONNECTION.

    Captura de tela mostrando os resultados de um teste em um fluxo do Power Automate.

Importante

Certifique-se de tratar as chaves privadas com segurança e elimine-as após a conclusão desta configuração.

Próxima etapa

Configurar o Microsoft Entra ID com certificados para SSO