Tutorial: Integración del inicio de sesión único (SSO) de Azure Active Directory con SAP NetWeaver
En este tutorial, aprenderá a integrar SAP NetWeaver con Azure Active Directory (Azure AD). Al integrar SAP NetWeaver con Azure AD, puede hacer lo siguiente:
- Controlar en Azure AD quién tiene acceso a SAP NetWeaver.
- Permitir que los usuarios inicien sesión automáticamente en SAP NetWeaver con sus cuentas de Azure AD.
- Administrar las cuentas desde una ubicación central (Azure Portal).
Requisitos previos
Para empezar, necesita los siguientes elementos:
- Una suscripción de Azure AD. Si no tiene una suscripción, puede crear una cuenta gratuita.
- Suscripción habilitada para el inicio de sesión único (SSO) en SAP NetWeaver
- Se requiere SAP NetWeaver V7.20 como mínimo
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 Azure AD 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 en Azure AD, deberá agregar esta solución desde la galería a la lista de aplicaciones SaaS administradas.
- Inicie sesión en Azure Portal con una cuenta personal, profesional o educativa de Microsoft.
- En el panel de navegación de la izquierda, seleccione el servicio Azure Active Directory.
- Vaya a Aplicaciones empresariales y seleccione Todas las aplicaciones.
- Para agregar una nueva aplicación, seleccione 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.
Configuración y prueba del inicio de sesión único de Azure AD para SAP NetWeaver
Configure y pruebe el inicio de sesión único de Azure AD 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 Azure AD y el usuario relacionado de SAP NetWeaver.
Para configurar y probar el inicio de sesión único de Azure AD con SAP NetWeaver, siga estos pasos:
- Configuración del inicio de sesión único de Azure AD , para permitir que los usuarios puedan utilizar esta característica.
- Creación de un usuario de prueba de Azure AD , para probar el inicio de sesión único de Azure AD con B.Simon.
- Asignación del usuario de prueba de Azure AD , para habilitar a B.Simon para que use el inicio de sesión único de Azure AD.
- Configuración de SAP NetWeaver con SAML , para configurar los valores de inicio de sesión único en la aplicación.
- Creación de un usuario de prueba de SAP NetWeaver , para tener un homólogo de B.Simon en SAP NetWeaver vinculado a su representación en Azure AD.
- 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.
Configuración del inicio de sesión único de Azure AD
En esta sección, habilitará el inicio de sesión único de Azure AD en Azure Portal.
Para configurar el inicio de sesión único de Azure AD con SAP NetWeaver, realice los pasos siguientes:
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.
a. 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 = 60Nota
Ajuste los parámetros anteriores según las necesidades de la organización. Los parámetros anteriores se proporcionan solo como indicación.
b. De ser necesario, ajuste los parámetros en el perfil de instancia o predeterminado del sistema SAP y reinicie el sistema SAP.
c. Haga doble clic en el cliente pertinente para habilitar la sesión de seguridad HTTP.

d. 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://T01122y haga clic en Guardar.Nota
De forma predeterminada, el nombre de proveedor tiene el formato
<sid><client>, pero Azure AD 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 Azure AD.
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, es necesario cargarlo en Azure AD.

a. Vaya a la pestaña Proveedor local.
b. Haga clic en Metadatos.
c. 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 inicio de sesión único de Azure AD en Azure Portal.
En Azure Portal, en la 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:
a. Haga clic en Cargar archivo de metadatos para cargar el archivo de metadatos del proveedor de servicios que obtuvo anteriormente.
b. Haga clic en el logotipo de la carpeta para seleccionar el archivo de metadatos y luego en Cargar.
c. 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:
d. 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
Hemos visto que algunos clientes informan de que se ha producido un error al configurar una dirección URL de respuesta incorrecta para su instancia. Si recibe algún error de ese tipo, puede usar el siguiente script de PowerShell como forma provisional de establecer la dirección URL de respuesta correcta para la instancia:
Set-AzureADServicePrincipal -ObjectId $ServicePrincipalObjectId -ReplyUrls "<Your Correct Reply URL(s)>"Puede establecer usted mismo el identificador de objeto de ServicePrincipal en primer lugar o bien puede pasarlo también aquí.
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:
a. Haga clic en el icono Editar para abrir el cuadro de diálogo Administrar las notificaciones del usuario.


b. En la lista Transformación, seleccione ExtractMailPrefix() .
c. En la lista Parámetro 1, seleccione user.userprincipalname.
d. 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 Set up SAP NetWeaver (Configurar SAP NetWeaver), copie las direcciones URL adecuadas según sus necesidades.

Creación de un usuario de prueba de Azure AD
En esta sección, va a crear un usuario de prueba llamado B.Simon en Azure Portal.
- En el panel izquierdo de Azure Portal, seleccione Azure Active Directory, Usuarios y Todos los usuarios.
- Seleccione Nuevo usuario en la parte superior de la pantalla.
- En las propiedades del usuario, siga estos pasos:
- En el campo Nombre, escriba
B.Simon. - En el campo Nombre de usuario, escriba username@companydomain.extension. Por ejemplo,
B.Simon@contoso.com. - Active la casilla Show password (Mostrar contraseña) y, después, anote el valor que se muestra en el cuadro Contraseña.
- Haga clic en Crear.
- En el campo Nombre, escriba
Asignación del usuario de prueba de Azure AD
En esta sección, va a permitir que B.Simon acceda a SAP NetWeaver mediante el inicio de sesión único de Azure.
- En Azure Portal, seleccione sucesivamente Aplicaciones empresariales y Todas las aplicaciones.
- En la lista de aplicaciones, seleccione 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 espera que se asigne un rol a los usuarios, puede seleccionarlo en la lista desplegable Seleccionar un rol. Si no se ha configurado ningún rol para esta aplicación, verá 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 (Azure AD), 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 desde Azure Portal.

En la siguiente pantalla, escriba el nombre de alias. Por ejemplo, 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 User ID Source (Origen del identificador de usuario) y User ID mapping mode (Modo de asignación del identificador de usuario) determinan el vínculo entre el usuario de SAP y la notificación de Azure AD.
Escenario: usuario SAP para la asignación de usuario de Azure AD.
a. Captura de pantalla de los detalles de NameID de SAP.

b. Captura de pantalla en la que se mencionan las notificaciones necesarias de Azure AD.

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.
a. Captura de pantalla de los detalles de NameID de SAP.

b. Captura de pantalla en la que se mencionan las notificaciones necesarias de Azure AD.

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 Azure AD, intente acceder a la siguiente dirección URL para comprobar el inicio de sesión único (no se solicitará 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.htmNota
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 Azure AD se realizó correctamente.

Si se le solicita el nombre de usuario y contraseña, diagnostique el problema al habilitar el seguimiento mediante la siguiente 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_MNGGRPcon OAuth para el inicio de sesión único de Azure AD. Use la búsqueda de nombre de servicio técnico para localizar el servicioDAAG_MNGGRPy actívelo si no lo está ya (busque el estadogreenen 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_SCOPESpara cambiar el nombre del ámbito o crearlo manualmente.
Nota
El mensaje
soft state status is not supportedse puede pasar por alto, no supone ningún problema. Para más detalles, consulte aquí.
Creación de un usuario de servicio para el cliente de OAuth 2.0
OAuth2 usa un valor de
service IDpara 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 IDdebe ser idéntico al valor deusernameque 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í.
En el código de transacción SU01, cree el usuario CLIENT1 como
System typey asígnele una contraseña; guárdela como sea necesario para proporcionar la credencial al programador de la API, que debe grabarla 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 Create (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 – Azure AD 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).
Pasos siguientes
Una vez que haya configurado Azure AD SAP NetWeaver, puede aplicar el control de sesión, que protege 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. Aprenda a aplicar el control de sesión con Microsoft Defender para aplicaciones en la nube.