Privilegios analíticos en SAP HANA: ¿Cómo crear?
⚡ Resumen inteligente
Privilegios analíticos en SAP HANA agrega autorización a nivel de fila sobre los privilegios de objeto, por lo que dos usuarios que consultan la misma vista de información ven solo los registros que permiten sus restricciones asignadas. SAP Estudio HANA.

¿Qué son los privilegios analíticos en SAP ¿HANA?
Los privilegios analíticos restringen a un usuario a los datos que está autorizado a ver, por lo que son una parte fundamental de SAP Seguridad HANA.
Los privilegios SQL otorgan autorización a nivel de objeto, no a nivel de registro. Un usuario con permisos SELECT sobre una vista puede leer todas sus filas. Cuando se requiere una restricción a nivel de fila, se utiliza un privilegio analítico.
Los privilegios analíticos proporcionan esa autorización sobre las siguientes vistas de información.
A continuación, se crea un privilegio analítico y se asigna al usuario “ABHI_TEST”, de modo que este pueda ver únicamente los datos de la empresa con valor 1000. Ambos privilegios son necesarios conjuntamente: el privilegio de objeto abre la vista y el privilegio analítico decide qué filas se muestran.
Cómo crear un privilegio analítico en SAP HANA
Los seis pasos siguientes se ejecutan SAP Estudio Hana, desde la creación del privilegio hasta su prueba con un segundo usuario.
Paso 1) Vaya a Privilegios analíticos. Haga clic con el botón derecho en el paquete Modelado y, a continuación, seleccione Nuevo -> Privilegios analíticos, como se muestra a continuación.
Paso 2) Aparece la nueva ventana emergente. Introduzca los detalles del privilegio analítico que se muestran a continuación.
- Introduzca el nombre y la etiqueta del privilegio analítico.
- El nombre del paquete se selecciona automáticamente.
- La opción de selección crea un nuevo privilegio.
En el siguiente paso, se muestra el editor de privilegios analíticos para agregar y editar privilegios.
Paso 3) Haga clic en el botón "Aceptar". Se abrirá el editor de privilegios analíticos y se seleccionará primero el modelo de referencia.
- La sección General muestra el nombre y la etiqueta.
- Haga clic en el botón “Agregar” en la sección Modelos de referencia, como se muestra a continuación.
- Seleccione la vista de cálculo (CA_FI_LEDGER) creada anteriormente.
La validez y la restricción de atributos se definen en el mismo editor.
- Haz clic en el botón Agregar para establecer la validez del privilegio.
- Asignar la validez del privilegio.
- Haz clic en el botón Agregar para seleccionar el atributo que conlleva la restricción.
- Seleccione el atributo Empresa.
- Haz clic en el botón "Agregar" para asignar un valor a ese atributo.
- Asigne el valor seleccionando el tipo u operador y el valor. En este caso, el usuario está restringido a los datos de la vista de cálculo solo para la empresa 1000, como se muestra a continuación.
Valide y active el privilegio analítico. Este se creará en la carpeta Privilegios analíticos, dentro del paquete Modelado, como se muestra a continuación.
Paso 4) Asigne el privilegio analítico al usuario “ABHI_TEST”, que ya posee privilegios en el paquete de modelado. Double-Haz clic en el usuario “ABHI_TEST” en Seguridad -> Usuarios.
- Seleccione la pestaña Privilegios analíticos.
- Haz clic en el botón “+”.
- Aparecerá una ventana emergente para seleccionar privilegios analíticos. Introduzca el nombre del privilegio analítico creado anteriormente.
- Seleccione el privilegio analítico.
- Haz clic en el botón Aceptar, como se muestra a continuación.
El privilegio analítico se agrega al usuario, como se muestra a continuación.
Paso 5) Implementa el cambio para el usuario haciendo clic en el botón de implementación. Se mostrará un mensaje indicando que el usuario 'ABHI_TEST' ha sido modificado, como se muestra a continuación.
Paso 6) Verifique el privilegio analítico. Inicie sesión como “ABHI_TEST” desde el sistema HANAUSER para confirmar que la asignación funciona.
- Seleccione el sistema actual HDB (HANAUSER) y haga clic con el botón derecho sobre él.
- Seleccione “Agregar sistema con usuario diferente” y luego ingrese el nombre de usuario y la contraseña para “ABHI_TEST”, como se muestra a continuación.
- Se agrega un sistema HDB (ABHI_TEST) a la lista de sistemas.
El usuario ABHI_TEST no tiene acceso completo a los datos de la vista de cálculo creada por HANAUSER, porque HANAUSER creó un privilegio analítico que restringe esa vista a la empresa 1000 y se lo asignó a ABHI_TEST.
Vaya a la carpeta Contenido -> seleccione el paquete -> vista de cálculo (CA_FI_LEDGER) -> haga clic con el botón derecho -> Vista previa de datos. La pantalla de vista previa de datos se muestra como se indica a continuación.
Los datos en la vista de cálculo están restringidos al código de empresa 1000, lo que confirma que el privilegio analítico está activo para ese usuario.
Comparación de los privilegios analíticos de XML clásico y SQL
Existen dos tipos de privilegios analíticos, y la elección es importante para cualquier nuevo desarrollo. El editor que se muestra arriba crea el privilegio clásico, basado en XML. Los privilegios analíticos SQL se introdujeron en SAP HANA 1.0 SPS 10 y expresa la misma restricción como una condición de filtro SQL.
| Aspecto | Clásico (basado en XML) | privilegio analítico SQL |
|---|---|---|
| Definición | Se mantiene gráficamente en el modelador y se almacena como un objeto XML en tiempo de diseño. | Definido mediante una condición de filtro SQL, de modo que la lógica compleja se mantiene legible. |
| Condiciones | Restricciones de atributos con operadores simples. | Expresiones SQL completas, incluyendo condiciones anidadas y combinadas. |
| Estado | Obsoleto desde SAP HANA 2.0 SPS 02. | Recomendado para cada nuevo privilegio. |
| Disponibilidad | no disponible en SAP Nube HANA. | Apoyado en SAP HANA 2.0 y SAP Nube HANA. |
El SAP HANA Modeler incluye una actividad de migración que convierte los privilegios clásicos basados en XML en privilegios basados en SQL, por lo que las restricciones existentes no tienen que reescribirse manualmente. SAP En HANA Cloud, el privilegio se convierte en un artefacto de tiempo de diseño dentro de un contenedor HDI y llega al usuario a través de un rol en lugar de a través del editor de usuario.
Cómo se evalúan las restricciones de privilegios analíticos
Saber cómo se combinan las condiciones evita restricciones que produzcan resultados excesivos o nulos.
- Varios valores enumerados para un atributo se combinan con una lógica OR, por lo que un usuario puede ver la empresa 1000 o la empresa 2000.
- Las restricciones en diferentes atributos se combinan con una lógica YPor lo tanto, tanto la empresa como el país deben coincidir.
- Cuando un usuario posee varios privilegios analíticos sobre la misma vista, los resultados se suman, lo que amplía el acceso en lugar de restringirlo.
- Una restricción estática almacena valores fijos, mientras que una restricción dinámica lee los valores permitidos en tiempo de ejecución desde un procedimiento, de modo que un mismo privilegio puede servir a muchos usuarios.
Una vista solo se comprueba cuando su propiedad Apply Privileges especifica el tipo de privilegio, y la comprobación se ejecuta además del privilegio de objeto SELECT. Las vistas de columna generadas por la activación residen en el esquema _SYS_BIC, y las restricciones efectivas de un usuario se pueden consultar en la vista del sistema EFFECTIVE_STRUCTURED_PRIVILEGES.
Errores comunes en los privilegios analíticos y sus soluciones
La mayoría de los problemas de autorización en una vista de información provienen de alguna de las siguientes situaciones.
- Error de autorización en una vista. El usuario posee el privilegio analítico, pero no el de SELECT sobre la vista de columna generada ni sobre el esquema subyacente. Otorgar ambos.
- La vista previa no devuelve ninguna fila. El atributo restringido no tiene ningún valor coincidente, o bien el período de validez del privilegio ya ha finalizado.
- La restricción se ignora. El privilegio se creó pero nunca se activó, o la vista no tiene configurada su propiedad Aplicar privilegios.
- El cambio no tiene ningún efecto. La tarea no se implementó o la sesión del usuario se inició antes de la implementación y debe volver a conectarse.
- De todos modos, todo es visible. El usuario posee el permiso _SYS_BI_CP_ALL, que otorga acceso sin restricciones a todas las vistas de información y debe mantenerse fuera de los roles de producción.
Conceda privilegios analíticos a través de roles en lugar de directamente a los usuarios, de modo que la misma restricción pueda revisarse, transportarse y revocarse en un solo lugar. El contexto de modelado para las vistas protegidas se trata en el SAP Modelado HANA y SAP HANA guías.









