Desarrollo seguro con SAP Hana XSA
Con Hana 1.0 SPS11, se introdujo SAP Hana Extended Application Services, Advanced Model (SAP Hana XSA). Este modelo se basa en el enfoque de microservicios y permite una modularización del desarrollo de software. Esto permite diferentes despliegues (entornos de desarrollo separados) dentro de una única base de datos Hana.
Cada aplicación se almacena en su propio contenedor y tiene su propio entorno de ejecución. Esto significa que cualquier problema con la aplicación no afecta a otras aplicaciones.
Al utilizar SAP Hana XSA, deben observarse diversos criterios de seguridad para que el desarrollo de la aplicación pueda autorizarse de acuerdo con los requisitos.
La solución se gestiona con SAP Hana XSA Cockpit. Aquí se gestionan los usuarios y las autorizaciones, así como la configuración de seguridad. Esta última incluye, por ejemplo, los inquilinos, que pueden gestionarse desde aquí, y la gestión de los proveedores de identidad SAML.
En la administración de usuarios se pueden crear nuevos usuarios o migrar usuarios Hana existentes a usuarios XSA. Las autorizaciones para ello se asignan a través de las denominadas colecciones de roles. Por ejemplo, la colección de funciones XS User Admin es necesaria para la administración de usuarios, y la colección de funciones XS Authorisation Admin es necesaria para la administración de funciones.
Para la visualización pura están disponibles las colecciones de roles estándar XS Authorisation Display y XS User Display. La trazabilidad de la administración de usuarios y autorizaciones es posible mediante la auditoría de la base de datos de Hana; aquí deben activarse las acciones de auditoría correspondientes.
La estructura básica de SAP Hana XSA consiste en organizaciones y espacios. Las aplicaciones se desarrollan dentro de los Espacios. Las organizaciones son contenedores para estructurar los espacios. Los desarrolladores se asignan a los Spaces.
Deben haber sido creados previamente como registro maestro de usuario. Al asignar los usuarios a los Espacios, se les asignan las autorizaciones. Se distingue entre Gestor de Espacio (mantenimiento de la asignación de usuarios al Espacio y visualización y evaluación de las aplicaciones), Desarrollador de Espacio (integración, inicio y parada de aplicaciones, asignación de aplicaciones a servicios) y Auditor de Espacio (visualización y evaluación de las aplicaciones y de las asignaciones de usuarios al Espacio).
Esto define qué usuarios están activos como desarrolladores dentro del Espacio. A nivel de organización, la autorización de Gestor de organización puede utilizarse para autorizar el mantenimiento de la asignación de usuarios a la organización y el mantenimiento de los Espacios en la organización.
Los cambios en las organizaciones y los espacios se registran en un archivo de seguimiento en el sistema operativo. Pueden evaluarse con Hana Database Explorer, por ejemplo.
La plataforma de desarrollo central para las aplicaciones SAPUI5 es SAP WebIDE (Entorno de Desarrollo Integrado). Se admiten varios lenguajes, como Java, Java Script, SAPUI5 HTML5, Node.js, etc. WebIDE puede utilizarse tanto para aplicaciones locales (Hana XSA) como para una aplicación de desarrollo central para SAP Cloud Platform (Cloud Foundry).
Para utilizar la WebIDE, los desarrolladores deben tener asignadas autorizaciones en SAP Hana XSA. Para ello ya existen dos roles de plantilla, WebIDE Developer y WebIDE Administrator. Para autorizar a los usuarios a desarrollar aplicaciones, debe derivarse un rol de la plantilla WebIDE Developer.
Deben definirse especificaciones internas de la empresa para la implementación de autorizaciones en desarrollos propios. También se pueden integrar acciones en los desarrollos propios, que se registran a través de Hana Auditing.
Para ello, en la auditoría existe la categoría Auditoría de aplicaciones, en la que, entre otras cosas, se pueden registrar acciones como Acceso a datos personales y Modificación de datos personales. Para el uso de SAP Hana XSA debe crearse un concepto de seguridad y autorización independiente, que también se revisa periódicamente.