Compartir a través de


Microsoft Entra ID (con certificados) - inicio de sesión único

Esta guía le lleva a través de la configuración del conector para que sus usuarios puedan acceder a datos de SAP y ejecutar RFCs (Llamar a función remota) en Microsoft Power Platform usando su Microsoft Entra ID para la autenticación. El proceso implica configurar certificados públicos y privados para una comunicación segura.

Importante

Este artículo es para configurar solo una prueba de concepto. Las configuraciones y recomendaciones no están pensadas para uso en producción. Para obtener más información sobre este tema, consulte a su equipo de seguridad, políticas internas y a su socio Microsoft para obtener más orientación.

Requisitos previos

Asegúrate de que ya tienes:

También es necesario estar familiarizado con las tecnologías de clave pública y privada.

Certificado

Generamos un certificado raíz autofirmado de ejemplo similar a los certificados proporcionados por una autoridad certificadora. Puede usarlo para emitir tokens para sus usuarios.

Crear una infraestructura de clave pública de demostración

Amplíe la documentación de Configurar la Comunicación Segura de Red mediante la implementación de la otra mitad de nuestra PKI (infraestructura de clave pública) de demostración.

Diagrama de flujo de la PKI de demostración

Crear la estructura de carpetas.

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

Cree archivos de extensión para garantizar que nuestros certificados se creen con los metadatos y las restricciones correctos.

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

Cree los archivos index.txt y serial necesarios para realizar un seguimiento de los certificados firmados.

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

Genere nuestro certificado de usuarios intermedios.

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

Generar certificados de usuario

Ejecute lo siguiente para generar y firmar un certificado para un usuario con el nombre de usuario de SAP TESTUSER01:

# 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 debe ser el primer parámetro.

Ahora tiene un certificado raíz, un Certificado SNC (abreviatura de Secure Network Communications) intermedio, un Certificado de Usuario intermedio y un certificado para identificar el Certificado de Usuario.

Verifique la cadena con el siguiente comando:

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

userCerts/TESTUSER01.cert.pem: OK

Tienda Windows

Siga estos pasos para agregar el certificado de firma de los usuarios y la cadena de certificados a la Tienda Windows.

  1. Genere el archivo .p12 a partir del certificado de firma de los usuarios y la clave privada.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Abra el Administrador de certificados de Windows:
    1. Pulse Win + R, escriba certlm.msc y pulse Entrar.
  2. Importar el certificado CA raíz público.
    1. Importar a Trusted Root Certification Authorities.
  3. Importar el certificado de usuario + clave:
    1. En el Administrador de certificados, navegue hasta el almacén de certificados apropiado (por ejemplo, Personal).
    2. Haga clic con el botón secundario y seleccione All Tasks > Import.
    3. Siga el asistente para importar el archivo .p12, asegurándose de marcar la clave como exportable para que el OPDG (abreviatura de On Premises Data Gateway) pueda usarla para cifrar datos.
    4. Haga clic con el botón secundario en Users Intermediate Cert y seleccione All Tasks>Manage Private Keys....
  4. Agregue el NT SERVICE\PBIEgwService usuario a la lista de personas que tienen permisos.
  5. Compruebe el nombre del sujeto del certificado en el almacén de certificados de Windows:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject

Introduzca la asignación de ID a usuario de SAP

Puede asignar certificados X.509 a usuarios de forma explícita, mediante reglas o agregando un certificado intermedio de usuario a SAP.

Asignar certificados X.509 a usuarios de forma explícita

Asigne explícitamente una pequeña cantidad de usuarios de Entra ID a usuarios de SAP.

Navegue al SAP GUI a T-Code SM30.

Ingrese a la tabla VUSREXTID y seleccione el botón de Mantenimiento.

Seleccione la opción DN cuando se le solicite Type of ACL.

Elija New Entry e introduzca CN=TESTUSER01@CONTOSO.COM (reemplazando el contenido por su propio UPN) para el ID externo. Asegúrese de que CN sea lo primero. Seleccione su UPN para el campo de nombre de usuario; y por último, marque la opción Activated y guarde los resultados.

Nota

NO INCLUIR el prefijo p:.

Asignar certificados X.509 a usuarios mediante reglas

Utilice Reglas de Certificado para asignar fácilmente de forma masiva usuarios de Entra ID a usuarios de SAP.

Asegúrese de que el parámetro de perfil esté establecido en un valor actual de login/certificate_mapping_rulebased . 1

Nota

Este método asignación no persiste entre reinicios.

Después cree la regla siguiente en t-code CERTRULE

T-Code: CERTRULE

Nota

Espere dos minutos para asegurarse de que las conexiones en caché a SAP hayan expirado y luego vuelva a probar la conexión. De lo contrario, es posible que se encuentre con el error No se encontró un usuario de SAP adecuado para el certificado de cliente X.509.

Usar certificado intermedio

Siga estos pasos para agregar un certificado intermedio de usuario a SAP:

  1. Abra el código t STRUST y haga doble clic en STRUST para agregar el archivo de certificado público users.cert.pem al cuadro.
  2. En SAP GUI, vaya al código de transacción STRUST.
  3. Si SNC SAPCryptolib tiene una X roja, haga clic con el botón derecho y seleccione Crear.
  4. Seleccionar SNC SAPCryptolib y luego haga doble clic en su Propio Certificado.
  5. Seleccione Importar certificado y elija su signingUsersCert\users.cert.pem certificado público.
  6. Seleccione Agregar a la lista de certificados.

Actualizaciones del sistema SAP

Agregue el the a los parámetros de SsoCertificateSubject a su sistema SAP.

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

También habilitar

"SncSso": "On"

Reemplace la conexión por una nueva que use Microsoft Entra ID (using certificates) para acceder a SAP con su cuenta de Microsoft Entra ID.

Importante

Elimine las claves públicas y privadas temporales TESTUSER01 al finalizar este tutorial.

Importante

Garantice la gestión segura y la eventual eliminación de las claves privadas al finalizar este proceso para mantener la integridad de la seguridad.

Más información: Preguntas frecuentes de las puertas de enlace de datos locales