Comparteix a través de


Microsoft Entra ID (amb certificats) - inici de sessió únic

Aquesta guia us guiarà a través de la configuració del connector perquè els usuaris puguin accedir a les dades SAP i executar RFC (abreviatura de Remove Function Call) utilitzant Microsoft Power Platform el seu Microsoft Entra ID per a l'autenticació. El procés consisteix a configurar certificats públics i privats per a una comunicació segura.

Important

Aquest article és només per configurar una prova de concepte. La configuració i les recomanacions no estan pensades per a ús de producció. Per obtenir més informació sobre aquest tema, consulteu l'equip de seguretat, les polítiques internes i el soci de Microsoft per obtenir més orientació.

Requisits previs

  1. Configurar la connexió SAP
  2. Configurar les comunicacions de xarxa segures
  3. Familiaritat amb les tecnologies de clau pública i privada.

Generació d'un certificat de signatura per emetre testimonis per als usuaris

Generem un exemple de certificat arrel autosignat similar als certificats proporcionats per una autoritat de certificació.

Creació d'una infraestructura de clau pública de demostració

Estendre la documentació de configuració de la comunicació de xarxa segura mitjançant la implementació de l'altra meitat de la nostra PKI de demostració (abreviatura d'infraestructura de clau pública).

Diagrama de flux de PKI de demostració

Creeu l'estructura de carpetes.

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

Creeu fitxers d'extensió per garantir que els nostres certificats es creïn amb les metadades i les restriccions correctes.

signingUsersCert/extensions.cnf

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

userCerts/extensions.cnf

basicConstraints=CA:FALSE
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth

Crea els fitxers necessaris index.txt per serial fer un seguiment dels certificats signats.

# 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" }

Generar el nostre certificat d'usuaris intermedis.

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

Generació de certificats d'usuari:

Executeu el següent per generar i signar un certificat per a un usuari amb el nom d'usuari TESTUSER01 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 hauria de ser el primer paràmetre.

Ara teniu un certificat arrel, un certificat SNC intermedi (abreviatura de Secure Network Communications), un certificat d'usuaris intermedi i un certificat per identificar el certificat d'usuari.

Verifiqueu la cadena amb l'ordre següent:

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

userCerts/TESTUSER01.cert.pem: OK

Afegir usuaris signant certificat + cadena de certificats a Botiga del Windows

Genera un fitxer .p12 a partir del certificat de signatura dels usuaris i la clau privada.

openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Obriu el Gestor de certificats de Windows:
    1. Premeu Win + R, escriviu certlm.msc i premeu Retorn.
  2. Importeu el certificat de CA arrel públic.
    1. Importa a Trusted Root Certification Authorities.
  3. Importar el certificat d'usuari + clau:
    1. Al gestor de certificats, aneu al magatzem de certificats adequat (per exemple, Personal).
    2. Feu clic amb el botó dret i seleccioneu All Tasks > Import.
    3. Seguiu l'assistent per importar el .p12 fitxer, assegurant-vos de marcar la clau com a exportable perquè l'OPDG (abreviatura de On Premises Data Gateway) pugui utilitzar-la per xifrar dades.
    4. Feu clic amb el botó dret i Users Intermediate Cert seleccioneu All Tasks>Manage Private Keys....
  4. Afegiu l'usuari NT SERVICE\PBIEgwService a la llista de persones que tenen permisos.

Comprovar el nom del subjecte del certificat al magatzem de certificats del Windows

Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject

Assignació d'usuaris Entra ID a SAP

Podeu assignar certificats X.509 als usuaris explícitament, mitjançant regles o afegint un certificat intermedi d'usuari a SAP.

Assignació explícita de certificats X.509 als usuaris

Assigneu explícitament un nombre reduït d'usuaris d'Entra ID a usuaris de SAP.

Navegueu per la GUI de SAP fins al codi SM30 T.

Introduïu la taula VUSREXTID i seleccioneu el botó de manteniment.

Seleccioneu l'opció DN quan se us Type of ACL demani.

Trieu New Entry i introduïu CN=TESTUSER01@CONTOSO.COM (substituint el contingut del vostre propi UPN) per a l'ID extern. Assegureu-vos que CN sigui el primer. Seleccioneu el vostre UPN per al camp de nom d'usuari; i últim Marqueu l'opció Activated i deseu els resultats.

NO INCLOURE p: .

Assignació de certificats X.509 a usuaris mitjançant regles

Utilitzeu les regles de certificat per assignar fàcilment els usuaris de l'Entra ID als usuaris de SAP.

Assegureu-vos que el login/certificate_mapping_rulebased paràmetre de perfil estigui definit en un valor actual de 1.

El mètode no persisteix entre els reinicis.

A continuació, va crear la següent regla en codi t CERTRULE

Codi T: CERTRULE

Nota

Ara espereu 2 minuts per assegurar-vos que les connexions a la memòria cau a SAP han caducat. A continuació, torneu a provar la connexió. Si no, és possible que us trobeu amb l'error No suitable SAP user found for X.509-client certificate .

Afegir un certificat intermedi d'usuari a SAP

Obriu el codi STRUST t i feu doble clic a Afegeix STRUST el certificat públic users.cert.pem al quadre.

  1. A SAP GUI, aneu al codi de transacció STRUST.
  2. Si "SNC SAPCryptolib" té una X vermella, feu clic amb el botó dret i seleccioneu "Crear".
  3. Feu doble clic a "SNC SAPCryptolib" i, a continuació, feu doble clic al vostre propi certificat.
  4. Selecciona "Importar certificat" i tria el teu signingUsersCert\users.cert.pem certificat públic.
  5. Seleccioneu "Afegir a la llista de certificats".

Actualització del sistema SAP

Afegiu el SsoCertificateSubject als paràmetres del sistema SAP.

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

Activa també

"SncSso": "On"

Substituïu la connexió per una de nova que utilitzi Microsoft Entra ID (using certificates) per iniciar sessió a SAP amb el vostre compte d'Entra ID.

Important

Suprimiu les claus temporals TESTUSER01 públiques i privades en completar aquest tutorial.

Important

Assegureu el maneig segur i l'eventual supressió de claus privades un cop finalitzada aquesta configuració per mantenir la integritat de la seguretat.

Més informació: Preguntes freqüents sobre la passarel·la de dades local | Microsoft Learn