Tutorial: Integración del inicio de sesión único (SSO) de Microsoft Entra con SAP NetWeaver
En este tutorial, obtendrá información sobre cómo 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
Para empezar, necesitas los siguientes elementos:
- Una suscripción a Microsoft Entra. Si no tiene una suscripción, puede obtener una cuenta gratuita.
- 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 tutorial va a configurar y probar el inicio de sesión único de Microsoft Entra 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 un inquilino.
Nota:
Configure la aplicación en SAML o en OAuth, según el requisito de la organización.
Adición de SAP NetWeaver desde la galería
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.
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>Nueva aplicación.
- En la sección Agregar desde la galería, escriba SAP NetWeaver en el cuadro de búsqueda.
- 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 puedes agregar una aplicación al inquilino, agregar usuarios o grupos a la aplicación y asignar roles, así como recorrer 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 el inicio de sesión único de Microsoft Entra con SAP NetWeaver mediante 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:
- Configure el inicio de sesión único de Microsoft Entra, para que los usuarios puedan utilizar esta característica.
- Cree un usuario de prueba de Microsoft Entra para probar el inicio de sesión único de Microsoft Entra con B.Simon.
- Asigne el usuario de prueba de Microsoft Entra para permitir que B.Simon use el inicio de sesión único de Microsoft Entra.
- Configuración de SAP NetWeaver con SAML , para configurar los valores de inicio de sesión único en la aplicación.
- Cree un usuario de prueba de SAP NetWeaver, para tener un homólogo de B.Simon en SAP NetWeaver vinculado a su representación en Microsoft Entra.
- Comprobación del inicio de sesión único , para verificar que la configuración funciona correctamente.
- Configuración de SAP NetWeaver para OAuth, para configurar las opciones de OAuth en la aplicación.
- Solicita el token de acceso de Azure AD para usarlo como proveedor de identidades (IdP).
Configuración del inicio de sesión único de Microsoft Entra
En esta sección va a habilitar 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:
Abra una ventana del explorador web e inicie sesión en el sitio de la compañía SAP NetWeaver como administrador.
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.
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.
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.
De ser necesario, ajuste los parámetros en el perfil de instancia o predeterminado del sistema SAP y reinicie el sistema SAP.
Haga doble clic en el cliente pertinente para habilitar la sesión de seguridad HTTP.
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)
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.
Indique su nombre de usuario y contraseña para ingresar a la interfaz de usuario y haga clic en Editar.
Reemplace el nombre del proveedor de T01122 por
http://T01122
y haga clic en 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 comohttps://<sid><client>
para permitir la configuración de varios motores ABAP de SAP NetWeaver en Microsoft Entra ID.Generación de metadatos del proveedor de servicio: una vez que hemos terminado con la configuración del proveedor local y de 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á todas las configuraciones, contextos de autenticación y otras configuraciones de SAP). Una vez que se genera este archivo, cárguelo en Microsoft Entra ID.
Vaya a la pestaña Proveedor local.
Haga clic en Metadatos.
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.
Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>Página de integración de la aplicación SAP NetWeaver, busque la sección Administrar y seleccione Inicio de sesión único.
En la página Seleccione un método de inicio de sesión único, seleccione SAML.
En la página Configuración del inicio de sesión único con SAML, haga clic en el icono de lápiz de Configuración básica de SAML para editar la configuración.
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:
Haga clic en Cargar archivo de metadatos para cargar el archivo de metadatos del proveedor de servicios que obtuvo anteriormente.
Haga clic en el logotipo de la carpeta para seleccionar el archivo de metadatos y luego en Cargar.
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:
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>"
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. Haga clic en el icono Editar para abrir el cuadro de diálogo Atributos de usuario.
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:
Haga clic en el icono Editar para abrir el cuadro de diálogo Administrar las notificaciones del usuario.
En la lista Transformación, seleccione ExtractMailPrefix() .
En la lista Parámetro 1, seleccione user.userprincipalname.
Haga clic en Save(Guardar).
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.
En la sección Configurar SAP NetWeaver, copie las direcciones URL adecuadas según sus necesidades.
Cree un usuario de prueba de Microsoft Entra
En esta sección, se crea un usuario llamado B.Simon.
- Inicia sesión en el Centro de administración de Microsoft Entra al menos como Administrador de usuario.
- Ve a Identidad>Usuarios>Todos los usuarios.
- Selecciona Nuevo usuario>Crear nuevo usuario, en la parte superior de la pantalla.
- En las propiedades del usuario, sigue estos pasos:
- En el campo Nombre para mostrar, escribe
B.Simon
. - En el campo Nombre principal de usuario, escribe username@companydomain.extension. Por ejemplo,
B.Simon@contoso.com
. - Activa la casilla Mostrar contraseña y, después, anota el valor que se muestra en el cuadro Contraseña.
- Selecciona Revisar + crear.
- En el campo Nombre para mostrar, escribe
- Selecciona Crear.
Asignación del usuario de prueba de Microsoft Entra
En esta sección, va a permitir que B.Simon acceda a SAP NetWeaver mediante el inicio de sesión único.
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>SAP NetWeaver.
- En la página de información general de la aplicación, busque la sección Administrar y seleccione Usuarios y grupos.
- Seleccione Agregar usuario. A continuación, en el cuadro de diálogo Agregar asignación, seleccione Usuarios y grupos.
- En el cuadro de diálogo Usuarios y grupos, seleccione B.Simon de la lista de usuarios y haga clic en el botón Seleccionar de la parte inferior de la pantalla. Si esperas que se asigne un rol a los usuarios, puedes seleccionarlo en la lista desplegable Seleccionar un rol. Si no se ha configurado ningún rol para esta aplicación, verás seleccionado el rol "Acceso predeterminado".
- En el cuadro de diálogo Agregar asignación, haga clic en el botón Asignar.
Configuración de SAP NetWeaver con SAML
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.
Para configurar puntos de conexión para el proveedor de identidades de confianza (Microsoft Entra ID), vaya a la pestaña Proveedores de confianza.
Presione Agregar y seleccione Cargar archivo de metadatos en el menú contextual.
Cargue el archivo de metadatos que ha descargado.
En la siguiente pantalla, escriba el nombre de alias. Por ejemplo, escriba
aadsts
y presione Siguiente para continuar.Asegúrese de que su algoritmo de síntesis sea SHA-256 y no requiera de ningún cambio y presione Siguiente.
En Single Sign-On Endpoints (Puntos de conexión de inicio de sesión único), utilice HTTP POST y haga clic en Siguiente para continuar.
En Single Logout Endpoints (Puntos de conexión de cierre de sesión único), seleccione HTTPRedirect y haga clic en Siguiente para continuar.
En Artifact Endpoints (Puntos de conexión de artefacto), presione Siguiente para continuar.
En Requisitos de autenticación, haga clic en Finalizar.
Vaya a la pestaña Proveedor de confianza>Federación de identidades (desde la parte inferior de la pantalla). Haga clic en Editar.
Haga clic en Agregar bajo la pestaña Federación de identidades (ventana de la parte inferior).
En la ventana emergente, seleccione Sin especificar en Formatos de NameID admitidos y haga clic en Aceptar.
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
.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.
Captura de pantalla de los detalles de NameID de SAP.
Captura de pantalla que menciona las notificaciones requeridas de Microsoft Entra ID.
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.
Captura de pantalla de los detalles de NameID de SAP.
Captura de pantalla que menciona las notificaciones requeridas de Microsoft Entra ID.
Haga clic en Guardar y, a continuación, haga clic en Habilitar para habilitar el proveedor de identidades.
Haga clic en Aceptar cuando se le solicite.
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
Una vez que active el proveedor de identidades de Microsoft Entra ID, intente acceder a la siguiente dirección URL para comprobar el inicio de sesión único. Esto garantizará que no se soliciten su nombre de usuario y 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.
La dirección URL anterior debería dirigirlo a la pantalla que se menciona a continuación. Si puede acceder a la página a continuación, la configuración de SSO de Microsoft Entra se realizó correctamente.
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
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).
Vaya a SPRO y busque Activate and Maintain Services (Activar y mantener servicios).
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 servicioDAAG_MNGGRP
y actívelo si no lo está ya (busque el estadogreen
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.- Después, haga clic en el botón OAuth en la barra de botones superior y asigne el valor de
scope
(mantenga el nombre predeterminado tal como se ofrece).
- Después, haga clic en el botón OAuth en la barra de botones superior y asigne el valor de
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.Nota:
El mensaje
soft state status is not 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
OAuth2 usa un valor de
service ID
para obtener el token de acceso para el usuario final en su nombre. Existe una restricción importante que impone el diseño de OAuth: el valor deOAuth 2.0 Client ID
debe ser idéntico al valor deusername
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.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í.
Ejecute el código T
SU01
para crear el usuario CLIENT1 comoSystem 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
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.
Vaya al código de transacción SOAUTH2 y proporcione la descripción; después, haga clic en Next (Siguiente).
En la lista desplegable, seleccione el proveedor de identidades SAML2 IdP – Microsoft Entra ID ya agregado y guarde.
Haga clic en Add (Agregar) en la asignación de ámbito para agregar el ámbito creado anteriormente:
DAAG_MNGGRP_001
.Haga clic en Finish (Finalizar).
Solicitud de un token de acceso de Azure AD
Para pedir un token de acceso desde el sistema SAP mediante Azure Active Directory (Azure AD) como proveedor de identidades (IdP), haz lo siguiente:
Paso 1: registro de la aplicación en Azure AD
- Inicia sesión en Azure Portal: ve a Azure Portal en portal.azure.com.
- Registro de una nueva aplicación:
- Ve a "Azure Active Directory".
- Selecciona "Registros de aplicaciones" > "Nuevo registro".
- Rellena los detalles de la aplicación, como Nombre, URI de redirección, etc.
- Haz clic en "Registrar".
- Configuración de permisos de API:
- Después del registro, ve a "Permisos de API".
- Haz clic en "Agregar un permiso" y selecciona "API usadas en 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
- Navegación hasta la aplicación registrada: ve a "Certificados y secretos".
- Creación de un secreto de cliente:
- Haz clic en "Nuevo secreto de cliente".
- Escribe una descripción y selecciona un periodo de caducidad.
- Haz clic en "Agregar" y anota el valor del secreto de cliente, ya que será necesario para la autenticación.
Paso 3: configuración del sistema SAP para la integración de Azure AD
- Acceso a SAP Cloud Platform: inicie sesión en SAP Cloud Platform Cockpit.
- Ajuste de la configuración de confianza:
- Ve a "Seguridad" > "Configuración de confianza".
- Agrega Azure AD como idP de confianza mediante la importación del XML de metadatos de federación desde Azure AD. Esto se puede encontrar en la sección "Puntos de conexión" del registro de aplicación de Azure AD (en Documento de metadatos de federación).
- Configuración del cliente de OAuth2:
- En el sistema SAP, configura un cliente de OAuth2 mediante el id. de cliente y el secreto de cliente obtenidos de Azure AD.
- 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 de entidades de seguridad de SAP para todas las aplicaciones cliente de Azure, Power Platform, M365 y mucho más, en un solo lugar, incluido el almacenamiento en caché de tokens inteligentes, el control seguro de tokens y las 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.
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: para el id. de la aplicación (cliente) de Azure AD.
- Secreto de cliente: el valor del secreto de cliente de Azure AD.
- Á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.
- Punto de conexión del token: suele ser
- Construye una solicitud de token con estos detalles:
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'
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
- 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}
- En cada solicitud al sistema SAP, incluye el token de acceso en el encabezado
Pasos siguientes
- Configure Microsoft Entra SAP NetWeaver para aplicar el control de sesión, que protege a su organización en tiempo real frente a la filtración e infiltración de información confidencial. El control de sesión procede del acceso condicional. Aprende a aplicar el control de sesión con Microsoft Defender para aplicaciones en la nube.
- Configure la propagación de entidades de seguridad de SAP (OAuth2) mediante Azure API Management para controlar y proteger el acceso a sistemas SAP desde aplicaciones cliente en Azure, Power Platform, Microsoft 365 y otros. Más información sobre SAP Propagación de entidad con Azure API Management.