📘Xsuaa
Definición de Xsuaa
Cuando hablamos de seguridad en aplicaciones que corren en SAP Business Technology Platform (BTP), uno de los pilares más importantes es XSUAA, que significa Extended Services for User Account and Authentication. Este servicio, basado en estándares abiertos como OAuth 2.0 y OpenID Connect (OIDC), se encarga de la gestión de identidades, autenticación y autorización dentro del ecosistema SAP en la nube.
Origen y propósito de XSUAA
En el mundo SAP on-premise, la autenticación de usuarios se realizaba mayormente a través de SAP Logon Tickets, SAML, o con el login directo en el sistema. Pero en el entorno de BTP, donde convivimos con aplicaciones cloud nativas, microservicios, APIs expuestas a terceros y diferentes tipos de frontends (SAP Fiori, aplicaciones Node.js, Java, CAP, etc.), se necesitaba un mecanismo unificado, moderno y escalable.
Aquí entra XSUAA:
- Permite emitir tokens de acceso y de ID.
- Asegura que solo los usuarios o sistemas con permisos correctos puedan consumir un servicio.
- Maneja tanto la autenticación (verificación de identidad) como la autorización (qué puede hacer ese usuario).
Relación con OAuth 2.0 y OpenID Connect
- XSUAA está construido sobre OAuth 2.0, el estándar más usado para autorización en servicios web.
- OAuth 2.0 define flujos como Authorization Code, Client Credentials, Implicit, etc.
- XSUAA los implementa, pero además los extiende con conceptos de SAP como role collections y scopes.
Cuando se necesita también autenticación (no solo autorización), entra OpenID Connect (OIDC), que añade información del usuario autenticado en un ID Token. XSUAA combina ambos, entregando tokens JWT (JSON Web Tokens) con datos seguros y firmados digitalmente.
Conceptos clave en XSUAA
- Scopes
Son los permisos más granulares.
Ejemplo: ReadOrders, WriteOrders.
Una aplicación define sus scopes en el archivo de seguridad (xs-security.json).
- Role Templates y Roles
Los scopes se agrupan en role templates.
A su vez, los administradores asignan esos roles a usuarios.
- Role Collections
En lugar de asignar roles uno por uno, se agrupan en colecciones.
Se vinculan con identidades provenientes de SAP Identity Authentication Service (IAS), Azure AD u otros IdPs.
- Service Bindings
Cuando una aplicación se despliega en BTP, se “une” al servicio XSUAA.
Esto le permite pedir tokens de manera segura.
- Tokens JWT
Son los portadores de la identidad y permisos.
Incluyen claims como: user_name, email, scope, authorities.


Disponibilidad Laboral: FullTime