Compartir a través de


Configurar SAP NetWeaver para inicio de sesión único con Microsoft Entra ID

En este artículo, aprenderá a integrar SAP NetWeaver con Microsoft Entra ID. Al integrar SAP NetWeaver con Microsoft Entra ID, puede:

  • Controlar en Microsoft Entra ID quién tiene acceso a SAP NetWeaver.
  • Permitir que los usuarios inicien sesión automáticamente en SAP NetWeaver con sus cuentas de Microsoft Entra.
  • Administre sus cuentas en una ubicación central.

Requisitos previos

En el escenario descrito en este artículo se supone que ya tiene los siguientes requisitos previos:

  • Suscripción habilitada para el inicio de sesión único (SSO) en SAP NetWeaver
  • SAP NetWeaver V7.20 o posterior

Descripción del escenario

  • SAP NetWeaver admite tanto SAML (SSO iniciado por el SP) como OAuth. En este artículo, configura y prueba Microsoft Entra SSO en un entorno de prueba.

Nota:

El identificador de esta aplicación es un valor de cadena fijo, por lo que solo se puede configurar una instancia en una tenencia.

Nota:

Configure la aplicación en SAML o en OAuth, según el requisito de la organización.

Para configurar la integración de SAP NetWeaver con Microsoft Entra ID, debe agregar SAP NetWeaver desde la galería a la lista de aplicaciones SaaS administradas.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como al menos un Administrador de aplicaciones en la nube.
  2. Navegue a Entra ID>Aplicaciones empresariales>Nueva aplicación.
  3. En la sección Agregar desde la galería, escriba SAP NetWeaver en el cuadro de búsqueda.
  4. Seleccione SAP NetWeaver en el panel de resultados y agregue la aplicación. Espere unos segundos mientras la aplicación se agrega al inquilino.

Si lo deseas, puedes usar también el asistente para la configuración de aplicaciones empresariales. En este asistente, puede agregar una aplicación a su cliente, agregar usuarios o grupos a la aplicación, asignar roles y completar la configuración de SSO. Obtenga más información sobre los asistentes de Microsoft 365.

Configuración y prueba del inicio de sesión único de Microsoft Entra para SAP NetWeaver

Configure y pruebe Microsoft Entra SSO con SAP NetWeaver utilizando un usuario de prueba llamado B.Simon. Para que el inicio de sesión único funcione, es necesario establecer una relación de vinculación entre un usuario de Microsoft Entra y el usuario relacionado de SAP NetWeaver.

Para configurar y probar el inicio de sesión único de Microsoft Entra con SAP NetWeaver, complete los siguientes pasos:

  1. Configure el inicio de sesión único de Microsoft Entra, para que los usuarios puedan utilizar esta característica.
    1. Cree un usuario de prueba de Microsoft Entra para probar el inicio de sesión único de Microsoft Entra con B.Simon.
    2. Asigne el usuario de prueba de Microsoft Entra para permitir que B.Simon use el inicio de sesión único de Microsoft Entra.
  2. Configura SAP NetWeaver usando SAML para configurar la configuración de SSO en el lado de la aplicación.
    1. Creación de un usuario de prueba de SAP NetWeaver para tener un homólogo de B.Simon en SAP NetWeaver que esté vinculado a la representación del usuario en Microsoft Entra.
  3. Prueba de inicio de sesión único para verificar si la configuración funciona.
  4. Configuración de SAP NetWeaver para OAuth, para configurar las opciones de OAuth en la aplicación.
  5. Solicite el token de acceso de Microsoft Entra ID para usar microsoft Entra ID como proveedor de identidades (IdP).

Configuración del SSO de Microsoft Entra

En esta sección habilitas el inicio de sesión único de Microsoft Entra.

Para configurar y probar el inicio de sesión único de Microsoft Entra con SAP NetWeaver, complete los siguientes pasos:

  1. Abra una ventana del explorador web e inicie sesión en el sitio de la compañía SAP NetWeaver como administrador.

  2. Asegúrese de que los servicios http y https están activos y de que se asignan los puertos adecuados en el código de transacción SMICM.

  3. Inicie sesión en el cliente empresarial del sistema de SAP (T01) donde se requiere el inicio de sesión único y active la administración de sesiones de seguridad HTTP.

    1. Vaya al código de transacción SICF_SESSIONS. Se muestran todos los parámetros de perfil correspondientes con sus valores actuales. Se ven como se muestra a continuación:

      login/create_sso2_ticket = 2
      login/accept_sso2_ticket = 1
      login/ticketcache_entries_max = 1000
      login/ticketcache_off = 0  login/ticket_only_by_https = 0 
      icf/set_HTTPonly_flag_on_cookies = 3
      icf/user_recheck = 0  http/security_session_timeout = 1800
      http/security_context_cache_size = 2500
      rdisp/plugin_auto_logout = 1800
      rdisp/autothtime = 60
      

      Nota:

      Ajuste los parámetros anteriores según las necesidades de la organización. Los parámetros anteriores se proporcionan solo como indicación.

    2. De ser necesario, ajuste los parámetros en el perfil de instancia o predeterminado del sistema SAP y reinicie el sistema SAP.

    3. Haga doble clic en el cliente pertinente para habilitar la sesión de seguridad HTTP.

      La sesión de seguridad HTTP

    4. Active los siguientes servicios SICF:

      /sap/public/bc/sec/saml2
      /sap/public/bc/sec/cdc_ext_service
      /sap/bc/webdynpro/sap/saml2
      /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
      
  4. Vaya al código de transacción SAML2 en el cliente empresarial del sistema SAP [T01/122]. Se abrirá una interfaz de usuario en el explorador. En este ejemplo, se supone a 122 como el cliente empresarial SAP.

    Código de transacción

  5. Proporcione el nombre de usuario y la contraseña para escribir en la interfaz de usuario y seleccione Editar.

    nombre de usuario y contraseña

  6. Reemplace Nombre de proveedor de T01122 a http://T01122 y seleccione Guardar.

    Nota:

    De forma predeterminada, el nombre de proveedor tiene el formato <sid><client>, pero Microsoft Entra ID espera que el nombre tenga el formato <protocol>://<name>. Se recomienda que el nombre del proveedor se mantenga como https://<sid><client> para permitir la configuración de varios motores ABAP de SAP NetWeaver en Microsoft Entra ID.

    Los numerosos motores de ABAP de SAP NetWeaver

  7. Generación de metadatos del proveedor de servicios: una vez que hayamos terminado con la configuración del proveedor local y los proveedores de confianza en la interfaz de usuario de SAML 2.0, el siguiente paso sería generar el archivo de metadatos del proveedor de servicios (que contendrá todos los valores, contextos de autenticación y otras configuraciones en SAP). Una vez que se genera este archivo, cárguelo en Microsoft Entra ID.

    Generación de metadatos del proveedor de servicios

    1. Vaya a la pestaña Proveedor local.

    2. Seleccione Metadatos.

    3. Guarde el archivo de metadatos XML generado en el equipo y cárguelo en la sección Configuración básica de SAML para rellenar de forma automática los valores Identificador y URL de respuesta en Azure Portal.

Siga estos pasos para habilitar el SSO de Microsoft Entra.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como al menos un Administrador de aplicaciones en la nube.

  2. Vaya a la página de integración de la aplicación Entra ID>Aplicaciones empresariales>SAP NetWeaver, busque la sección Administrar y seleccione Inicio de sesión único.

  3. En la página Seleccione un método de inicio de sesión único, seleccione SAML.

  4. En la página Configurar el inicio de sesión único con SAML, seleccione el icono con forma de lápiz para abrir el cuadro de diálogo Configuración básica de SAML y modificar la configuración.

    Edición de la configuración básica de SAML

  5. En la sección Configuración básica de SAML, si desea configurar la aplicación en modo iniciado por IDP, realice el siguiente paso:

    1. Seleccione Cargar archivo de metadatos para cargar el archivo de metadatos del proveedor de servicios, que ha obtenido anteriormente.

    2. Seleccione el logotipo de la carpeta para seleccionar el archivo de metadatos y seleccione Cargar.

    3. Una vez que se haya cargado correctamente el archivo de metadatos, los valores Identificador y Dirección URL de respuesta se rellenan automáticamente en el cuadro de texto de la sección Configuración básica de SAML, como se muestra a continuación:

    4. En el cuadro de texto URL de inicio de sesión, escriba una dirección URL con el siguiente patrón: https://<your company instance of SAP NetWeaver>

    Nota:

    Algunos clientes han encontrado un error de una dirección URL de respuesta incorrecta configurada para su instancia. Si recibe este error, use estos comandos de PowerShell. En primer lugar, actualice las direcciones URL de respuesta en el objeto de aplicación con la dirección URL de respuesta y, a continuación, actualice la entidad de servicio. Use Get-MgServicePrincipal para obtener el valor del identificador de entidad de servicio.

    $params = @{
       web = @{
          redirectUris = "<Your Correct Reply URL>"
       }
    }
    Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params
    Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
    
  6. La aplicación SAP NetWeaver espera las aserciones de SAML en un formato específico, lo que requiere que se agreguen asignaciones de atributo personalizadas a la configuración de los atributos del token SAML. La siguiente captura de muestra la lista de atributos predeterminados. Seleccione el icono Editar para abrir el cuadro de diálogo Atributos de usuario.

    editar atributo

  7. En la sección Notificaciones del usuario del cuadro de diálogo Atributos de usuario, configure el atributo Token SAML como muestra la imagen anterior y realice los siguientes pasos:

    1. Seleccione el icono Editar para abrir el cuadro de diálogo Administrar notificaciones de usuario .

      icono editar

      imagen

    2. En la lista Transformación, seleccione ExtractMailPrefix() .

    3. En la lista Parámetro 1, seleccione user.userprincipalname.

    4. Haga clic en Guardar.

  8. En la página Configurar el inicio de sesión único con SAML, en la sección Certificado de firma de SAML, busque XML de metadatos de federación y seleccione Descargar para descargar el certificado y guardarlo en su equipo.

    Vínculo de descarga del certificado

  9. En la sección Configurar SAP NetWeaver, copie las direcciones URL adecuadas según sus necesidades.

    Copiar direcciones URL de configuración

Creación y asignación de un usuario de prueba de Microsoft Entra

Siga las directrices en el crear y asignar una cuenta de usuario inicio rápido para crear una cuenta de usuario de prueba llamada B.Simon.

Configuración de SAP NetWeaver con SAML

  1. Inicie sesión en el sistema SAP y vaya al código de transacción SAML2. Se abre una nueva ventana del explorador con la pantalla de configuración de SAML.

  2. Para configurar puntos de conexión para el proveedor de identidades de confianza (Microsoft Entra ID), vaya a la pestaña Proveedores de confianza.

    Configuración de proveedores de confianza de inicio de sesión único

  3. Presione Agregar y seleccione Cargar archivo de metadatos en el menú contextual.

    Configurar inicio de sesión único 2

  4. Cargue el archivo de metadatos que ha descargado.

    Configuración de inicio de sesión único 3

  5. En la siguiente pantalla, escriba el nombre de alias. Por ejemplo, escriba aadsts y presione Siguiente para continuar.

    Configuración de inicio de sesión único 4

  6. Asegúrese de que su algoritmo de síntesis sea SHA-256 y no requiera de ningún cambio y presione Siguiente.

    Configurar inicio de sesión único 5

  7. En Single Sign-On Endpoints (Puntos de conexión de inicio de sesión único), seleccione HTTP POST y elija Next (Siguiente) para continuar.

    Configuración de inicio de sesión único 6

  8. En Puntos de conexión de cierre de sesión único, seleccione HTTPRedirect y seleccione Siguiente para continuar.

    Configuración de inicio de sesión único 7

  9. En Artifact Endpoints (Puntos de conexión de artefacto), presione Siguiente para continuar.

    Configuración de inicio de sesión único 8

  10. En Requisitos de autenticación, seleccione Finalizar.

    Configuración de inicio de sesión único 9

  11. Vaya a la pestaña Proveedor de confianza>Federación de identidades (desde la parte inferior de la pantalla). Seleccione Editar.

    Configuración de inicio de sesión único 10

  12. Seleccione Agregar en la pestaña Federación de identidad (ventana inferior).

    Configuración de inicio de sesión único 11

  13. En la ventana emergente, seleccione Sin especificar en los formatos NameID admitidos y seleccione Aceptar.

    Configuración de inicio de sesión único 12

  14. Proporcione el valor de User ID Source (Origen del identificador de usuario) como Assertion Attribute (Atributo de aserción), el valor de User ID mapping mode (Modo de asignación del identificador de usuario) como Email (Correo electrónico) y Assertion Attribute Name (Nombre del atributo de aserción) como http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name.

    Configurar inicio de sesión único

  15. Tenga en cuenta que los valores de Origen del identificador de usuario y Modo de asignación del identificador de usuario determinan el vínculo entre el usuario de SAP y la notificación de Microsoft Entra.

Escenario: Asignación de usuario SAP a usuario de Microsoft Entra.

  1. Captura de pantalla de los detalles de NameID de SAP.

    Configuración de inicio de sesión único 13

  2. Captura de pantalla que menciona las notificaciones requeridas de Microsoft Entra ID.

    Configuración de inicio de sesión único 14

    Escenario: Seleccione el identificador de usuario SAP según la dirección de correo electrónico configurada en SU01. En este caso, el identificador de correo electrónico debe configurarse en su01 para cada usuario que requiera del inicio de sesión único.

    1. Captura de pantalla de los detalles de NameID de SAP.

      Configuración de inicio de sesión único 15

    2. Captura de pantalla que menciona las notificaciones requeridas de Microsoft Entra ID.

    Configuración de inicio de sesión único 16

  3. Seleccione Save (Guardar) y elija Enable (Habilitar) para habilitar el proveedor de identidades.

    Configuración de inicio de sesión único 17

  4. Seleccione Aceptar una vez que se le solicite.

    Configuración de inicio de sesión único 18

Creación de un usuario de prueba de SAP NetWeaver

En esta sección, va a crear un usuario llamado B.Simon en SAP NetWeaver. Colabore con su equipo experto en SAP interno o con el asociado SAP de su organización para agregar usuarios en la plataforma de SAP NetWeaver.

Prueba de SSO

  1. Una vez activado el proveedor de identidad Microsoft Entra ID, intente acceder a la siguiente dirección URL para comprobar el SSO, asegurándose de que no se le pide el nombre de usuario y la contraseña.

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    (o) use la siguiente dirección URL

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    Nota:

    Reemplace sapurl por el nombre de host real de SAP.

  2. La dirección URL anterior debería dirigirlo a la pantalla que se menciona a continuación. Si puede acceder a la página indicada a continuación, la configuración del inicio de sesión único de Microsoft Entra se ha completado correctamente.

    prueba de inicio de sesión único

  3. Si se solicitan un nombre de usuario y contraseña, puede diagnosticar la incidencia mediante la habilitación de un seguimiento, mediante la dirección URL:

    https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#

Configuración de SAP NetWeaver para OAuth

  1. El proceso documentado de SAP está disponible en la ubicación: NetWeaver Gateway Service Enabling and OAuth 2.0 Scope Creation (Habilitación de un servicio de NetWeaver Gateway y creación del ámbito de OAuth 2.0).

  2. Vaya a SPRO y busque Activate and Maintain Services (Activar y mantener servicios).

    Activación y mantenimiento de servicios

  3. En este ejemplo, queremos conectar el servicio de OData: DAAG_MNGGRP con OAuth para el inicio de sesión único de Microsoft Entra. Use la búsqueda de nombre de servicio técnico para localizar el servicio DAAG_MNGGRP y actívelo si no lo está ya (busque el estado green en la pestaña ICF Nodes [Nodos de ICF]). Asegúrese de que el alias del sistema (el sistema back-end conectado en el que se ejecuta realmente el servicio) es correcto.

    Servicio OData

    • A continuación, seleccione pushbutton OAuth en la barra de botones superior y asígnele scope (mantenga el nombre predeterminado como se ofrece).
  4. En nuestro ejemplo, el ámbito es DAAG_MNGGRP_001. Se genera a partir del nombre del servicio agregando automáticamente un número. Se puede usar el informe /IWFND/R_OAUTH_SCOPES para cambiar el nombre del ámbito o crearlo manualmente.

    Configuración de OAuth

    Nota:

    El mensaje soft state status isn't supported se puede pasar por alto, no supone ningún problema.

Creación de un usuario de servicio para el cliente de OAuth 2.0

  1. OAuth2 utiliza un service ID para obtener el token de acceso en nombre del usuario final. Existe una restricción importante que impone el diseño de OAuth: el valor de OAuth 2.0 Client ID debe ser idéntico al valor de username que utiliza el cliente de OAuth 2.0 para iniciar sesión cuando se solicita un token de acceso. Por lo tanto, en nuestro ejemplo, vamos a registrar un cliente de OAuth 2.0 con el nombre CLIENT1. Como requisito previo, en el sistema SAP deberá existir un usuario con el mismo nombre (CLIENT1). Este usuario se configurará para su uso en la aplicación a la que se hace referencia.

  2. Al registrar un cliente de OAuth, se usa el valor de SAML Bearer Grant type.

    Nota:

    Para más información, consulte el artículo sobre el registro de cliente de OAuth 2.0 para el tipo de concesión de portador de SAML aquí.

  3. Ejecute el código T SU01 para crear el usuario CLIENT1 como System type y asígnele una contraseña. Guarde la contraseña como sea necesario para proporcionar la credencial al programador de la API, que debe guardarla con el nombre de usuario en el código de llamada. No se debe asignar ningún perfil ni rol.

Registro del nuevo identificador de cliente de OAuth 2.0 con el asistente para creación

  1. Para registrar un nuevo cliente de OAuth 2.0, inicie la transacción SOAUTH2. La transacción mostrará información general acerca de los clientes de OAuth 2.0 que ya se han registrado. Elija Crear para iniciar el asistente para el nuevo cliente de OAuth, denominado CLIENT1 en este ejemplo.

  2. Vaya a Código T: SOAUTH2 y Proporcione la descripción y, después, seleccione siguiente.

    SOAUTH2

    Id. de cliente de OAuth 2.0

  3. Seleccione elSAML2 IdP – Microsoft Entra ID ya agregado de la lista desplegable y guarde.

    SAML2 IdP – Microsoft Entra ID 1

    SAML2 IdP – Microsoft Entra ID 2

    SAML2 IdP – Microsoft Entra ID 3

  4. Seleccione Agregar en asignación de ámbito para agregar el ámbito creado anteriormente: DAAG_MNGGRP_001

    Ámbito

    asignación de ámbito

  5. Seleccione Finalizar.

Solicitar token de acceso desde Microsoft Entra ID

Para solicitar un token de acceso desde el sistema SAP mediante microsoft Entra ID (anteriormente Azure AD) como proveedor de identidades (IdP), siga estos pasos:

Paso 1: Registrar la aplicación en el identificador de Entra de Microsoft

  1. Inicia sesión en Azure Portal: ve a Azure Portal en portal.azure.com.
  2. Registro de una nueva aplicación:
    • Vaya a "Microsoft Entra ID".
    • Selecciona "Registros de aplicaciones" > "Nuevo registro".
    • Rellena los detalles de la aplicación, como Nombre, URI de redirección, etc.
    • Seleccione "Registrar".
  3. Configuración de permisos de API:
    • Después del registro, ve a "Permisos de API".
    • Seleccione "Agregar un permiso" y seleccione "API que usa mi organización".
    • Busca el sistema SAP o la API pertinente y agrega los permisos necesarios.
    • Concede el consentimiento del administrador para los permisos.

Paso 2: creación de un secreto de cliente

  1. Navegación hasta la aplicación registrada: ve a "Certificados y secretos".
  2. Creación de un secreto de cliente:
    • Seleccione "Nuevo secreto de cliente".
    • Escribe una descripción y selecciona un periodo de caducidad.
    • Seleccione "Agregar" y anote el valor del secreto de cliente, ya que es necesario para la autenticación.

Paso 3: Configurar el sistema SAP para la integración de Microsoft Entra ID

  1. Acceso a SAP Cloud Platform: inicie sesión en SAP Cloud Platform Cockpit.
  2. Ajuste de la configuración de confianza:
    • Ve a "Seguridad" > "Configuración de confianza".
    • Agregue Microsoft Entra ID como IdP de confianza mediante la importación del XML de metadatos de federación de Microsoft Entra ID. Esto se puede encontrar en la sección "Puntos de conexión" del registro de aplicaciones de Microsoft Entra ID (bajo el documento de metadatos de federación).
  3. Configuración del cliente de OAuth2:
    • En el sistema SAP, configure un cliente de OAuth2 mediante el identificador de cliente y el secreto de cliente obtenidos de Microsoft Entra ID.
    • Establece el punto de conexión del token y otros parámetros de OAuth2 pertinentes.

Paso 4: solicitud de un token de acceso

Sugerencia

Considere la posibilidad de usar Azure API Management para simplificar el proceso de propagación principal de SAP para todas las aplicaciones cliente en Azure, Power Platform, Microsoft 365 y más, en un único lugar, que incluye almacenamiento en caché inteligente de tokens, manejo seguro de tokens y opciones de gobernanza como la limitación de solicitudes. Más información sobre SAP Propagación de entidad con Azure API Management. En caso de que se prefiera SAP Business Technology Platform, consulte este artículo.

  1. Preparación de la solicitud de token:

    • Construye una solicitud de token con estos detalles:
      • Punto de conexión del token: suele ser https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token.
      • ID de Cliente: el ID de aplicación (cliente) de Microsoft Entra ID.
      • Secreto de cliente: el valor del secreto de cliente de Microsoft Entra ID.
      • Ámbito: los ámbitos necesarios (por ejemplo, https://your-sap-system.com/.default).
      • Tipo de concesión: usa client_credentials para la autenticación de servidor a servidor.
  2. Solicitud de token:

    • Usa una herramienta como Postman o un script para enviar una solicitud POST al punto de conexión del token.
    • Solicitud de ejemplo (en cURL):
      curl -X POST \
        https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token \
        -H 'Content-Type: application/x-www-form-urlencoded' \
        -d 'client_id={client_id}&scope=https://your-sap-system.com/.default&client_secret={client_secret}&grant_type=client_credentials'
      
  3. Extracción del token de acceso:

    • La respuesta contendrá un token de acceso si la solicitud se realiza correctamente. Usa este token de acceso para autenticar las solicitudes de API en el sistema SAP.

Paso 5: uso del token de acceso para solicitudes de API

  1. Incluye el token de acceso en las solicitudes de API:
    • En cada solicitud al sistema SAP, incluye el token de acceso en el encabezado Authorization.
    • Encabezado de ejemplo:
      Authorization: Bearer {access_token}
      

Configuración simultánea de la aplicación empresarial para SAP NetWeaver para SAML2 y OAuth2

Para el uso paralelo de SAML2 para el inicio de sesión único y OAuth2 para el acceso a la API, puede configurar la misma aplicación empresarial en Microsoft Entra ID para ambos protocolos.

Un valor predeterminado de configuración típico es SAML2 para el inicio de sesión único y OAuth2 para el acceso a la API.

Captura de pantalla de Azure Portal en la que se resalta la configuración para el uso paralelo de SAML2 y OAuth2.