Partilhar via


Configurar o Microsoft Entra ID com certificados para SSO

Este guia orienta-o na configuração do conector SAP ERP para que os seus utilizadores possam aceder a dados SAP e executar Chamadas de Função Remota (RFCs) no Microsoft Power Platform com o respetivo Microsoft Entra ID para autenticação. O processo envolve a configuração de certificados públicos e privados para comunicação segura.

Importante

Este artigo destina-se a ajudar a configurar apenas uma prova de conceito. As definições e recomendações não se destinam a utilização em produção. Para obter mais informações sobre este tópico, consulte a sua equipa de segurança, as políticas internas e o Parceiro Microsoft para obter mais orientações.

Pré-requisitos

Certifique-se de que já:

Também precisa de estar familiarizado com as principais tecnologias públicas e privadas.

Certificado

Geramos um exemplo de certificado raiz autoassinado semelhante aos certificados fornecidos por uma Autoridade de Certificação. Pode usá-lo para emitir tokens para os seus utilizadores.

Criar uma infraestrutura de chaves públicas de demonstração

Expanda a documentação de Configurar Comunicação de Rede Segura ao implementar a outra metade da nossa PKI (Infraestrutura de Chaves Públicas) de demonstração.

Fluxograma da PKI de demonstração

Criar a estrutura de pastas.

cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts

Crie ficheiros de extensão para garantir que os nossos certificados são criados com os metadados e restrições corretos.

signingUsersCert/extensions.cnf

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true,pathlen:0
keyUsage = cRLSign, keyCertSign

userCerts/extensions.cnf

subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth

Crie os ficheiros index.txt e serial necessários para monitorizar os certificados assinados.

# Create the necessary serial and index files if they don't exist
if (-Not (Test-Path "signingUsersCert\index.txt")) { New-Item -Path "signingUsersCert\index.txt" -ItemType File }
if (-Not (Test-Path "signingUsersCert\serial")) { Set-Content -Path "signingUsersCert\serial" -Value "0001" }

Gere o nosso certificado de Utilizadores intermédios.

openssl genrsa -out signingUsersCert/users.key.pem 2048

# Create Certificate Signing Request
openssl req -new -key signingUsersCert/users.key.pem -sha256 -out signingUsersCert/users.csr.pem -subj "/O=Contoso/CN=Users Intermediate Cert"

# Sign the certificate with the rootCA cert.
openssl x509 -req -in signingUsersCert/users.csr.pem -days 3650 `
  -CA rootCA/ca.cert.pem -CAkey rootCA/ca.key.pem `
  -out signingUsersCert/users.cert.pem `
  -extfile signingUsersCert/extensions.cnf -extensions v3_ca `
  -CAserial rootCA/serial

Gerar certificados de utilizador

Execute o seguinte para gerar e assinar um certificado para um utilizador com o nome de utilizador TESTUSER01 do SAP:

# Create the private key.
openssl genrsa -out userCerts/TESTUSER01.key.pem 2048

# Generate the certificate signing request
openssl req -key userCerts/TESTUSER01.key.pem -new -sha256 -out userCerts/TESTUSER01.csr.pem -subj "/CN=TESTUSER01"

# Sign the certificate + add extensions with the intermediate cert.
openssl x509 -req -days 365 -in userCerts/TESTUSER01.csr.pem -sha256 `
  -CA signingUsersCert/users.cert.pem -CAkey signingUsersCert/users.key.pem `
  -out userCerts/TESTUSER01.cert.pem -extfile userCerts/extensions.cnf `
  -CAserial signingUsersCert/serial

Nota

CN=TESTUSER01 deve ser o primeiro parâmetro.

Agora tem um certificado raiz, um certificado SNC (abreviação de Ligações de Rede Segura) intermédio, um certificado de Utilizadores Intermédios e um certificado para identificar o certificado de utilizador.

Verifique a cadeia com o seguinte comando:

$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem

userCerts/TESTUSER01.cert.pem: OK

Windows Store

Siga estes passos para adicionar utilizadores que assinam certificados e cadeias de certificados para a Windows Store.

  1. Gere o ficheiro .p12 de utilizadores que assinam o certificado e a chave privada.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Abra o Gestor de Certificados do Windows:
    1. Prima Win + R, escreva certlm.msc e prima Enter.
  2. Importe o certificado de AC Raiz público.
    1. Importar para o Trusted Root Certification Authorities.
  3. Importe o Certificado de Utilizador + Chave:
    1. No Gestor de Certificados, navegue até ao arquivo de certificados apropriado (por exemplo, Pessoal).
    2. Clique com o botão direito do rato e selecione All Tasks > Import.
    3. Siga o assistente para importar o ficheiro .p12, certificando-se de que marca a chave como exportável para que o OPDG (abreviação de Gateway de Dados no Local) possa usá-la para encriptar dados.
    4. Clique com o botão direito do rato em Users Intermediate Cert e selecione All Tasks>Manage Private Keys....
  4. Adicione o utilizador NT SERVICE\PBIEgwService à lista de pessoas que têm permissões.
  5. Verifique o nome do assunto do certificado no Arquivo de Certificados do Windows:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject

Mapeamento de utilizador do Entra ID para SAP

Pode mapear explicitamente certificados X.509 para utilizadores através de regras ou ao adicionar um certificado intermédio de utilizador ao SAP.

Mapear explicitamente certificados X.509 para utilizadores

Mapeie explicitamente um pequeno número de utilizadores do Entra ID para utilizadores SAP.

Navegue pelo SAP GUI para o T-Code SM30.

Entre na tabela VUSREXTID e selecione o botão Manter.

Selecione a opção DN quando lhe for pedido o Type of ACL.

Escolha New Entry e introduza CN=TESTUSER01@CONTOSO.COM (substituindo o conteúdo pelo o seu próprio UPN) para o ID externo. Certifique-se de que a CN vem primeiro. Selecione o seu UPN para o campo Nome de utilizador; e, por último, Marque a opção Activated e guarde os resultados.

Nota

NÃO INCLUA o prefixo p:.

Mapear certificados X.509 para utilizadores que usam funções

Use Regras de Certificados para mapear em massa facilmente os utilizadores do Entra ID para utilizadores do SAP.

Verifique se o parâmetro do perfil login/certificate_mapping_rulebased está definido como um valor atual de 1.

Nota

Este método de mapeamento não persiste entre reinicializações.

Em seguida, crie a regra CERTRULE em código

Código T: CERTRULE

Nota

Aguarde dois minutos para garantir que as ligações em cache para o SAP expiraram e, em seguida, teste novamente a ligação. Caso contrário, pode deparar-se com o erro Nenhum utilizador SAP adequado encontrado para o certificado de cliente X.509.

Certificado intermédio de utilizador

Siga estes passos para adicionar um certificado intermediário de utilizador ao SAP:

  1. Abra o código T STRUST e clique duas vezes em STRUST para adicionar o ficheiro users.cert.pem de certificado público à caixa.
  2. No SAP GUI, aceda ao código da transação STRUST.
  3. Se SNC SAPCryptolib tiver um X vermelho, clique com o botão direito do rato e selecione Criar.
  4. Selecione SNC SAPCryptolib e, em seguida, clique duas vezes no seu Próprio Certificado.
  5. Selecione Importar Certificado e escolha o seu certificado público signingUsersCert\users.cert.pem.
  6. Selecione Adicionar à Lista de Certificados.

Atualização do sistema SAP

Adicione o SsoCertificateSubjectaos parâmetros do seu Sistema SAP.

"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",

Ative também

"SncSso": "On"

Substitua a ligação por uma nova que use o Microsoft Entra ID (using certificates) para iniciar sessão no SAP com a sua conta Microsoft Entra ID.

Importante

Elimine o TESTUSER01 público e as chaves privadas após a conclusão deste tutorial.

Importante

Garanta o processamento seguro e eventual eliminação de chaves privadas após a conclusão desta configuração para manter a integridade da segurança.

Mais informações: FAQ sobre gateway de dados no localConfigurar a autenticação baseada em certificado