• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

SAP Cloud Identity Services: integración de Identity Authentication (IAS) con Microsoft Azure Active Directory B2C mediante el protocolo OIDC

By s4pcademy 


Descripción general del escenario

A medida que el panorama empresarial moderno evoluciona y se vuelve cada vez más orientado a la nube, hemos visto un impacto directo de esta evolución en la forma en que los clientes de SAP ejecutan e implementan sus aplicaciones de misión crítica. Los clientes de SAP están adoptando la plataforma SAP Business Technology para lograr su viaje al mundo de la nube.

Sin comprometer la seguridad, una de las solicitudes clave de las aplicaciones alojadas en SAP BTP es una experiencia de usuario simplificada y excelente.

En este escenario, lo guiaré a través de los pasos para implementar una aplicación en SAP BTP y otorgar acceso a EXTERNO usuarios para esta aplicación usando Microsoft Azure Active Directory B2C

y Servicios de SAP Cloud Identity: autenticación de identidad.

Pocas cosas a tener en cuenta

  • Usuarios Externos: Usuarios que no son empleados de su organización. Por ejemplo Proveedores
  • Este escenario cubre la parte de autenticación y no la parte de autorización.
  • Los pasos cubiertos en este escenario para Microsoft Azure Active Directory B2C están en un inquilino de prueba de prueba
  • Este escenario cubre la autenticación mediante el protocolo Open ID Connect (OIDC)
  • También necesitará acceso de administrador a su arrendatario de SAP IAS
  • También necesitará acceso de administrador/desarrollador en la subcuenta SAP BTP

Referencias y enlaces a blogs y material útiles.

Agradecimiento especial y mención

Me gustaría agradecer especialmente Martín Raepple y Martijn De Boer por su ayuda y orientación durante esta configuración.

Diagrama de alto nivel

Alto%20Nivel%20Diagrama

Diagrama de alto nivel

Diagrama de flujo de autorización

Autorización%20Flujo%20Diagrama

Diagrama de flujo de autorización

Pasos:

Nota: Estos son los pasos que tomé para entender el concepto y también para mi PoC. Hay algunos atajos aquí. Para su implementación en vivo, todas las partes interesadas relevantes del conjunto de habilidades de SAP y el conjunto de habilidades de Microsoft deben participar.

Configuración en subcuenta SAP BTP

Requisito previo

  • Asegúrese de que su arrendatario de SAP IAS esté configurado en ‘Cuenta global de SAP BTP->Seguridad->Configuración de confianza’ como se muestra a continuación:

Configuración en Subcuenta BTP

  • Vaya a su subcuenta y seleccione ‘Seguridad->Configuración de confianza’. Haga clic en ‘Establecer confianza’. Si se cumplen los requisitos previos, verá una ventana emergente «Establecer confianza en el proveedor de identidad personalizado» y en esta ventana emergente cuando haga clic en el menú desplegable, verá su inquilino IAS como se muestra a continuación.

  • Asegúrese de que en la siguiente pantalla seleccione la casilla de verificación ‘Disponible para inicio de sesión de usuario’

Aplicación Rápida Hola Mundo

  • Hay cientos, si no miles, de blogs disponibles sobre el desarrollo Aplicaciones SAPUI5aplicaciones CAP, por lo tanto, no explicaré cómo crear una aplicación en este blog.
  • Para mi PoC, utilicé SAP Business Application Studio para crear una aplicación de estilo libre SAPUI5 y la implementé en mi subcuenta SAP BTP
  • Esta aplicación es la aplicación ‘Enrutador administrado’. Pero en caso de enrutador personalizado, tendrá que crear un enlace de servicio de su aplicación, pero tendrá que vincular su aplicación a ‘SAP Cloud Identity Service’ en lugar de XSUAA
  • Aquí está mi aplicación simple ‘Hello World’ implementada como aplicación HTML5 en la subcuenta SAP BTP

Configuración en Microsoft Azure Active Directory B2C

Ahora comienza la diversión………

Descargo de responsabilidad: no soy experto en Microsoft. El siguiente conocimiento es lo que recopilé durante la implementación de PoC. Si no tiene acceso al inquilino de Microsoft Azure Active Directory B2C, puede activar su inquilino de prueba en este enlace Azure Active Directory B2C: prueba gratuita | microsoft azure (Tenga en cuenta que necesitará una tarjeta de crédito y también deberá estar atento a cualquier cargo, etc.)

Como toda esta autenticación funciona según el principio de los tokens JWT, el token JWT emitido por Azure AD B2C debe estar en un formato que SAP IAS pueda decodificar y pasar a su aplicación.

Desafío:

¡El token JWT creado a partir del flujo de usuario estándar de Azure AD B2C es rechazado por SAP IAS!

A partir de ahora, cuando crea una aplicación (flujo de usuario) en Azure AD B2C, tiene la opción de elegir

  • Flujo de registro e inicio de sesión
  • Edición de perfil
  • Restablecimiento de contraseña
  • Inscribirse
  • Registrarse
  • Iniciar sesión con las credenciales de contraseña del propietario del recurso

Para nuestra necesidad elegimos ‘Sign Up and Sign In Flow’. Al igual que con este flujo, un usuario externo puede crear un usuario en AD B2C registrándose y, después de registrarse, puede autenticarse en AD B2C. Sin embargo, el token JWT que se emite como notificación de ‘Correo electrónico’ como matriz y SAP IAS espera la notificación de correo electrónico como parámetro único.

Para superar este desafío, tuvimos que crear un ‘Política personalizada‘ en Azure AD B2C. Ahora, con un conocimiento limitado de Microsoft AD B2C, el desafío era cómo crear una política personalizada. ¡Escucho a todos los expertos en seguridad gritar que es fácil! Puede ser que sea…..!!!

Si tampoco eres experto en Microsoft Azure AD B2C como yo. Hay una manera increíble de crear estas políticas personalizadas en su arrendatario AD B2C.

Una vez que se implemente este paquete y si inicia sesión en su arrendatario AD B2C, verá políticas personalizadas en la sección Marco de experiencia de identidad como se muestra a continuación. También verá una aplicación llamada ‘Aplicación de prueba IEF’ en Todas las aplicaciones.

  • Vaya a ‘Registros de aplicaciones’ y haga clic en ‘Todas las aplicaciones’ y allí verá la aplicación de prueba IEF. Haga clic en ‘Aplicación de prueba IEF’ y verá el siguiente tipo de pantalla.

  • Haga clic en Autenticación y, en Web, haga clic en ‘Agregar URI’ e ingrese el arrendatario de IAS de URL de autenticación ( https://.accounts.ondemand.com/oauth2/callback
  • Luego haga clic en ‘Certificados y secretos’ para la aplicación de prueba IEF y haga clic en ‘Nuevo secreto de cliente’. Anote el ‘Valor’, ya que se muestra una vez y no se puede volver a ver y es necesario en su configuración de arrendatario de IAS.

Con esto, ha configurado su arrendatario AD B2C para aceptar solicitudes de autenticación de su arrendatario SAP IAS.

Configuración en arrendatario SAP IAS

  • Inicie sesión en su arrendatario de IAS como administrador
  • Haga clic en Proveedores de identidad y seleccione ‘Proveedores de identidad corporativos’
  • Haga clic en Crear
  • Para el tipo de proveedor de identidad, elija ‘Compatible con OpenID Connect’
  • En Configuración de OpenID Connect, haga lo que se explica a continuación

  • Puede hacer más configuraciones aquí para su sugerencia de inicio de sesión, etc. si es necesario
  • Ahora pasaremos a crear una ‘aplicación’ en la pestaña ‘Aplicación y recursos’ en el arrendatario IAS
  • Haga clic en Crear para crear una nueva aplicación y darle un nombre
  • Elija el protocolo como ‘OpenID Connect’
  • En ‘Configuración de OpenID Connect’, puede configurar su URI de redirección

  • En ‘Identificador de nombre de asunto’, elija ‘Correo electrónico’ como atributo básico seleccionado
  • En ‘Autenticación de cliente’, obtendrá una identificación de cliente que se genera automáticamente
  • Haga clic en ‘Agregar’ en ‘Token web JSON’ y elija el emisor del menú desplegable, será su arrendatario AD B2C que configuró en ‘Proveedores de identidad corporativa’ en los pasos anteriores
  • Para el asunto, tome el valor de ‘Id. de objeto’ de su arrendatario AD B2C en los detalles de registro de la aplicación para su aplicación. Por ejemplo, la aplicación de prueba IEF en mi caso
  • En Autenticación condicional, elija «Proveedor de autenticación predeterminado» como el proveedor de identidad corporativa que creó en los pasos anteriores.

Con esta configuración, está todo listo para probar su aplicación.

Salir

  • Inicie su aplicación HTML5 desde SAP BTP. Para iniciar, copie la URL de la aplicación y use el ‘modo de incógnito’ del navegador. Una vez que inicie la aplicación, su aplicación le pedirá que elija el proveedor de identidad que desea usar. Dependiendo de su configuración, tendrá ‘Proveedor de identidad predeterminado’ y ‘su inquilino IAS’ como se muestra a continuación

  • Elija su arrendatario de IAS para iniciar sesión
  • Al hacer clic en él, si todo se ha configurado correctamente, IAS delegará la autenticación a Azure AD B2C y se le presentará una pantalla como esta

  • Aquí se autenticará con su usuario de Azure AD B2C. Como esta política personalizada en Azure AD B2C que usamos tiene un flujo de ‘Registrarse’ e ‘Iniciar sesión’. Los nuevos usuarios también pueden registrarse. Esto creará un nuevo usuario en el arrendatario AD B2C y le proporcionará acceso a esta aplicación.
  • Como no hay configuración de autorizaciones, los usuarios obtendrán acceso de forma predeterminada

Cosas importantes si estás atascado:

  • Asegúrese de que su configuración en Azure AD B2C sea correcta e intente realizar pruebas localmente en AD B2C y verifique los reclamos de token JWT en las pruebas locales (la documentación de ayuda de Azure AD B2C proporciona cómo probar y he proporcionado enlaces arriba en este blog
  • ¡En SAP IAS, asegúrese de que el proveedor de identidad corporativa tenga valores correctos para ID de cliente y secreto de cliente!

Estoy seguro de que hay otras formas inteligentes de lograr esto, ¡esperando comentarios/sugerencias!




SAP reconocido como líder en 2023 Gartner® Magic Quadrant™ para iPaaS
Previo
Archivo de datos en SAP GRC Access Control y Process Control
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.