Compartir a través de


Configurar Microsoft Entra ID con Kerberos para SSO

Puede configurar el conector SAP ERP para utilizar credenciales de identificación para el inicio de sesión único (SSO) basado en Kerberos. Power Platform Microsoft Entra Sus usuarios pueden acceder a los datos de SAP y ejecutar llamadas a funciones remotas (RFC) de SAP en soluciones Power Platform sin tener que iniciar sesión varias veces en varios servicios. Este artículo lo guía a través del proceso, incluida la configuración de la delegación restringida (KCD) Kerberos en el portal de datos local para una comunicación segura.

Obtenga más información sobre la delegación restringida Kerberos.

Estas instrucciones asumen que estás empezando desde cero. La mayoría de los clientes ya han completado algunos de los pasos. Determinar qué pasos debe completar para su escenario está más allá del alcance de este artículo. Por ejemplo, puede omitir la sección Crear una cuenta de servicio de SAP en Active Directory Domain Services si su sistema SAP ya está configurado para SSO basado en Kerberos.

Requisitos previos

Cree una cuenta de servicio SAP en AD DS

Como administrador de dominio, primero creará una cuenta de servicio y luego definirá el nombre principal del servicio (SPN) y lo habilitará para el cifrado Kerberos.

Nota

Si su administrador de SAP Basis confirma que su sistema SAP ya está configurado para SSO basado en Kerberos, omita esta sección.

Realice los siguientes pasos como administrador de dominio para configurar la cuenta de servicio:

  1. En la PC host del controlador de dominio, abra la Consola de administración (MMC) Microsoft y ejecute el complemento Usuarios y equipos de Active Directory.

  2. En su dominio, haga clic con el botón derecho en Usuarios y seleccione Nuevo>Usuario.

  3. Introduzca Kerberos<SID> como el Nombre completo y Nombre de usuario para inicio de sesión , donde <SID> es el id. de su sistema SAP, como A4H.

  4. Seleccione Siguiente.

  5. Escriba y confirme la contraseña de la nueva cuenta de servicio.

  6. Seleccione el Usuario no puede cambiar la contraseña y La contraseña nunca caduca.

  7. Seleccione Siguiente y luego seleccione Finalizar.

Con la cuenta de servicio creada, defina su nombre principal de servicio (SPN) y habilítelo para el cifrado Kerberos.

  1. Abra el complemento Edición ADSI (adsiedit.msc) y Conectar a su dominio.

  2. Seleccione CN=Users del contexto de nomenclatura predeterminado de su dominio.

  3. Haga clic con el botón derecho en el objeto de usuario CN=Kerberos<SIDs> y seleccione Propiedades.

  4. En la lista Atributos, seleccione ServicePrincipalName.

  5. Seleccione Editar.

  6. Introduzca el nombre principal de servicio en el formato SAP/<SID>, donde <SID> es el id. de su sistema SAP, como A4H.

  7. Seleccione Agregar y, a continuación, Aceptar.

  8. Vuelva al acople Usuarios y equipos de Active Directory.

  9. En la lista Usuarios, haga clic con el botón derecho en la nueva cuenta de servicio SAP Kerberos<SID> y seleccione Propiedades.

  10. Seleccione la pestaña Cuenta.

  11. En Opciones de cuenta, Seleccionar Esta cuenta admite Kerberos cifrado AES de 256 bits.

  12. Seleccione Aceptar.

Importante

Habilitar el cifrado AES de 256 bits Kerberos puede causar problemas para otros clientes, como SAP GUI, que solicitan tickets Kerberos desde esta cuenta de Active Directory. Esto se debe a que cambia la lista de métodos de cifrado disponibles y otros clientes ya no tienen un cifrado común. Verifique los registros de Active Directory para determinar qué métodos de cifrado están usando todos los clientes y luego actualice manualmente la propiedad msDS-SupportedEncryptionTypes con el valor correcto. Después de la actualización, la opción de cifrado AES 256 debería aparecer automáticamente sin necesidad de seleccionarla manualmente. Obtenga más información en Comprendiendo la selección de tipos de cifrado Kerberos compatibles en el blog de Infraestructura principal y Comunidad.

Configurar comunicaciones de red seguras con autenticación SSO Kerberos en SAP

Realice los siguientes pasos como administrador de SAP Basis en SAP GUI.

  1. Para iniciar el asistente de inicio de sesión único de SAP, ingrese SNCWIZARD en el campo Comando .

  2. En el asistente de la página Inicio, seleccione Continuar.

  3. Acepte el valor predeterminado para la Identidad SNC del sistema y Seleccionar Continuar.

  4. En la página Parámetros de perfil predeterminado, seleccione Continuar.

  5. Seleccione Cerrar.

  6. Cierre sesión en el sistema SAP y reinicie el servidor de aplicaciones SAP.

  7. Inicie sesión en SAP GUI y ejecute SNCWIZARD nuevamente.

  8. En la página Inicio, seleccione Continuar.

  9. En la página Credenciales de Kerberos, seleccione Continuar.

  10. En Configuración SPNEGO, seleccione Mostrar/Cambiar para cambiar al modo de edición y, a continuación, seleccione Agregar.

  11. Introduzca los siguientes valores:

    • Nombre Principal de Usuario: Kerberos<SID>@DOMAIN, donde Kerberos<SID> es el nombre de usuario de la cuenta de servicio y DOMAIN es el nombre completamente calificado de su dominio de Active Directory en letras mayúsculas; por ejemplo, KerberosA4H(arroba)CORP.BESTRUN.COM.
    • Contraseña y Confirmar contraseña: la contraseña que ingresó cuando creó la cuenta de Active Directory.
  12. Seleccione Comprobar usuario en Active Directory para comprobar el usuario y, a continuación, seleccione Salir.

  13. Seleccione Guardar.

  14. En la página Credenciales X.509 , Seleccionar Omitir.

  15. Seleccione Completar.

A continuación, asigne el nombre de usuario SNC (basado en el nombre de usuario del dominio de Windows) al Nombre Principal de Usuario SAP.

  1. En SAP GUI, ejecute la transacción SU01.

  2. Introduzca el ID de usuario de prueba (por ejemplo, JDAVIS) en el campo Usuario y, a continuación, seleccione Cambiar.

  3. Seleccione la pestaña SNC.

  4. Introduzca el nombre principal de usuario en el campo Nombre SNC; por ejemplo, p:CN=JDAVIS(arroba)CORP.BESTRUN.COM.

  5. Seleccione Guardar.

Configurar la puerta de enlace de datos local para la delegación restringida Kerberos

De forma predeterminada, la puerta de enlace local se ejecuta como la cuenta de servicio local de la máquina NT Service\PBIEgwService. Para utilizar la delegación restringida Kerberos con las extensiones S4U del protocolo, la puerta de enlace debe ejecutarse como una cuenta de servicio en el dominio.

Realice los siguientes pasos como administrador de dominio.

  1. En la PC host del controlador de dominio, Volver en el complemento Usuarios y computadoras de Active Directory.

  2. En su dominio, haga clic con el botón derecho en Usuarios y seleccione Nuevo>Usuario.

  3. Introduzca GatewaySvc como Nombre completo y Nombre de inicio de sesión de usuario.

  4. Seleccione Siguiente.

  5. Ingrese y confirme la contraseña para la nueva cuenta de servicio de dominio.

  6. Seleccione el Usuario no puede cambiar la contraseña y La contraseña nunca caduca.

  7. Seleccione Siguiente y luego seleccione Finalizar.

Con la cuenta de servicio de dominio creada, a continuación definirá su nombre principal de servicio y lo habilitará para la delegación restringida Kerberos.

  1. En una ventana elevada PowerShell, ingrese el siguiente comando para crear un SPN para la nueva cuenta de servicio. Reemplace <OPDG nombre de host> por el nombre de host de su puerta de enlace de datos local y <dominio> con el nombre de su dominio. Puede averiguar el nombre del host ingresando el comando hostname en el símbolo del sistema.

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. En el complemento Usuarios y equipos de Active Directory, haga clic con el botón derecho en la nueva cuenta de servicio y seleccione Propiedades.

  3. Seleccione la ficha Delegación.

  4. Seleccione Confiar en este usuario para la delegación solo a los servicios especificados y Usar cualquier protocolo de autenticación.

  5. Seleccione Agregar.

  6. Seleccione Usuarios o equipos.

  7. Introduzca Kerberos<SID> en el campo de nombres de objetos, donde <SID> es el id. de su sistema SAP, como A4H.

  8. Seleccione Comprobar nombres y, a continuación, seleccione Aceptar.

La lista de servicios permitidos ahora contiene el SPN del sistema SAP. La nueva cuenta de servicio de puerta de enlace puede solicitar un ticket de servicio solo para el sistema SAP en nombre del usuario propagado con la extensión de protocolo S4U2proxy Kerberos.

  1. Seleccione Seleccionar todo.
  2. Seleccione Aceptar.
  3. Seleccione Aceptar por segunda vez.
  4. La cuenta de servicio de puerta de enlace de datos local debe tener concedidas las directivas locales del host de puerta de enlace de datos local. Realice esta configuración con el Editor de directivas de grupo local ejecutando gpedit.msc desde un símbolo del sistema de Administrador.
  5. Vaya a Directiva de equipo local ->Configuración del equipo ->Configuración de Windows ->Configuración de seguridad ->Directivas locales ->Asignación de derechos de usuario. Otorgue a la cuenta de servicio de dominio de puerta de enlace de datos local (por ejemplo CORP\GatewaySvc) la directiva local Actuar como parte del sistema operativo, haciendo doble clic en ella.
  6. Seleccione Agregar usuario o grupo.
  7. Escriba el nombre de la cuenta de servicio de dominio de la puerta de enlace de datos local (por ejemplo , GatewaySvc) y seleccione Comprobar nombres para resolverla con el nombre completo existente. Seleccione Aceptar. El nombre de dominio de la cuenta de servicio (por ejemplo, CORP\GatewaySvc) ahora se agrega a la lista de usuarios de la política. Seleccione Aceptar para aplicar la nueva configuración.
  8. Repita el mismo paso para la directiva Suplantar un cliente después de la autenticación haciendo doble clic en ella. Seleccione Agregar usuario o Grupo y resuelva la cuenta de servicio de la puerta de enlace de datos en las instalaciones con el nombre completo existente con Comprobar nombres. Seleccione Aceptar.
  9. El nombre de la cuenta de servicio (por ejemplo, CORP\GatewaySvc) ahora se ha agregado a la lista de usuarios de la directiva. Seleccione Aceptar. Cierre el Editor de directivas de grupo local.
  10. Inicie la aplicación de puerta de enlace de datos en las instalaciones desde el vínculo de escritorio del host de puerta de enlace o ejecutando C:\Program Files\On-premises data gateway\EnterpriseGatewayConfigurator.exe. seleccione Iniciar sesión para acceder como el usuario administrador del sistema de Power Platform que registró la puerta de enlace de datos local en el entorno.
  11. Seleccionar Configuración del servicio desde el menú del configurador. Seleccione Cambiar cuenta.
  12. Seleccionar Aplicar y Reiniciar.
  13. Escriba el nombre de la cuenta de servicio en su puerta de enlace local (por ejemplo, CORP\GatewaySvc) y su contraseña. Seleccione Configurar.
  14. Proporcione su cuenta de inicio de sesión del sistema Administrador, seleccionando Power Platform iniciar sesión .
  15. Seleccionar Migrar, restaurar o tomar control de una puerta de enlace existente para restaurar su registro de puerta de enlace.
  16. Seleccionar su clúster de puerta de enlace y su instancia desde los cuadros desplegables y proporcione la clave de recuperación elegida durante el registro inicial. Seleccione Configurar.
  17. Después de que la restauración esté completa, la instancia de servicio de puerta de enlace de datos local usa la cuenta de servicio de dominio (por ejemplo, CORP\GatewaySvc).

Instalar y configurar la biblioteca criptográfica de SAP

Para la comunicación SNC entre el gateway de datos local y el sistema SAP, la biblioteca criptográfica de SAP debe estar instalada en el host del gateway junto con SAP NCo 3.1.

  1. Descargue la última versión de la biblioteca criptográfica de SAP desde la descarga de software del portal de soporte de SAP (se requiere usuario S) y copie el archivo de biblioteca (sapcrypto.dll) en el directorio de instalación de la puerta de enlace de datos local (C:\Program Files\On-premises data gateway). Haga clic con el botón derecho en el archivo sapcrypto.dll y elija Propiedades desde el menú contextual.
  2. Cambie a la pestaña Detalles para comprobar la versión de la biblioteca. Debe ser 8.5.25 o más reciente. Seleccione Aceptar.
  3. Cree un nuevo archivo de texto sapcrypto.ini en el mismo directorio (C:\Program Files\On-premises data gateway) con este contenido: ccl/snc/enable_kerberos_in_client_role = 1.
  4. Guarde el archivo.
  5. Cree una variable de entorno del sistema CCL_PROFILE y establezca su valor en la ruta del archivo de configuración sapcrypto.ini. En el host de la puerta de enlace, inicie el Panel de control y navegue hasta Sistema y Seguridad ->Sistema. Seleccione Configuración avanzada del sistema.
  6. Seleccione Variable de entorno.
  7. En Variables del sistema, seleccione Nuevo.
  8. Ingresar PERFIL CCL como el nombre de la variable. Para el valor de la variable, introduzca la ruta completa al archivo sapcrypto.ini, por ejemplo, C:\Program Files\On-premises data gateway\sapcrypto.ini. Seleccione Aceptar.
  9. Seleccione Aceptar por segunda vez.

Configure FullDomainResolutionEnabled OPDG

Para ayudar al gateway de datos local al buscar usuarios de Active Directory, necesitamos establecer un valor de configuración en la configuración del gateway de datos local.

  1. En el host de puerta de enlace, abra el archivo Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config en la carpeta de instalación de la puerta de enlace de datos local (C:\Program Files\On-premises data gateway) en un editor.
  2. Busque la configuración, FullDomainResolutionEnabled y establezca su valor en True.
  3. Seleccione Reiniciar ahora en la pestaña Ajustes del servicio del configurador de la puerta de enlace de datos local para aplicar los cambios.

Configurar asignaciones de usuario en Active Directory

Si los Nombres Principales de Usuario de Microsoft Entra ID son los mismos que la propiedad de correo electrónico local de Active Directory, este paso se puede omitir.

Para habilitar la propagación del principal basada en Kerberos para un usuario en este escenario, se requiere una asignación del nombre de usuario completo del usuario (nombre principal de usuario, UPN) en Microsoft Entra ID al nombre local del usuario en Active Directory. Para ello, usamos el atributo msDS-cloudExtensionAttribute1 no utilizado del usuario local de Active Directory para almacenar el UPN de Microsoft Entra ID. También se puede utilizar cualquier otro atributo de Active Directory no utilizado.

En el escenario para el usuario de prueba de la aplicación Jack Davis, establezca el atributo msDS-cloudExtensionAttribute1 de la cuenta jdavis@corp.bestrun.com de usuario del dominio local de Active Directory en el UPN Microsoft Entra ID jdavis@bestruncorp.onmicrosoft.com para vincular sus dos cuentas.

  1. En el host de puerta de enlace, abra el archivo Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config en la carpeta de instalación de la puerta de enlace de datos local (C:\Program Files\On-premises data gateway) en un editor.
  2. Busque la configuración, ADUserNameReplacementProperty y establezca su valor en SAMAccountName.
  3. Busque la configuración ADUserNameLookupProperty y establezca su valor en msDS-cloudExtensionAttribute1. Guarde los cambios en el archivo.
  4. Seleccione Reiniciar ahora en la pestaña Ajustes del servicio del configurador de la puerta de enlace de datos local para aplicar los cambios.
  5. En el host del Controlador de dominio, seleccione Inicio y, a continuación, seleccione Herramientas administrativas de Windows ->Edición ADSI en el menú. En el Editor ADSI, navegue en el árbol de objetos del lado izquierdo hasta CN=Usuarios en el contexto de nomenclatura predeterminado del dominio. Haga clic con el botón derecho en el objeto del usuario de prueba (por ejemplo, CN=Jack Davis) y seleccione Propiedades en el menú contextual.
  6. Seleccione el atributo msDS-cloudExtensionAttribute1 de la lista y seleccione Editar.
  7. Introduzca el UPN del usuario de prueba de Microsoft Entra ID (por ejemplo, jdavis@<nombrededominio>.onmicrosoft.com) en el campo Valor. Reemplace <nombrededominio> con el nombre de dominio del inquilino de Microsoft Entra ID, por ejemplo, bestruncorp. Seleccione Aceptar.

Crear un flujo de Power Automate

Todos los componentes local (sistema SAP, puerta de enlace de datos local y AD) ahora están configurados correctamente para la propagación principal basada en Kerberos. En este paso, cree y ejecute un Power Automate flujo para probar la configuración.

  1. Inicie sesión en Power Automate en https://make.powerautomate.com.

  2. Seleccione Mis flujos ->Nuevo flujo ->Flujo de nube instantáneo

  3. Asigne un nombre al flujo y seleccione Desencadenar manualmente un flujo y Crear.

  4. Agregue la acción del conector ERP de SAP Llamar función SAP (V3) al flujo.

  5. Si aún no ha creado una conexión de SAP ERP , se le pedirá que lo haga. Si tiene una conexión existente, cree una nueva.

    • El tipo de autenticación debe ser Microsoft Entra ID (con Kerberos).
    • La puerta de enlace de datos debe ser la puerta de enlace de datos local que se configuró en este guía.
    • Seleccione Iniciar sesión.
  6. En la función Llamar SAP ERP (V3), defina los siguientes parámetros:

    • El nombre RFC se establece en STFC_CONNECTION.
    • El sistema SAP se configura a (cambie estos valores de acuerdo con su administrador de SAP Basis).

    json { "AppServerHost": "<SAP Server Name>", "Client": "<SAP Client>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\On-premises data gateway\sapcrypto.dll", "SncPartnerName": "p:<SAP Partner Name>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<SAP System Number>", "UseSnc": "true" }

  7. Si todo va bien, un parámetro REQUTEXT donde se puede introducir un valor como Hola Mundo .

  8. Guarde y pruebe el flujo.