Contenido
En HANA existen dos tipos de roles:
-
Rol de repositorio (Repository Roles)
También llamados Roles en tiempo diseño (Design-time roles)
Ventajas
- El otorgante no necesita tener privilegio para otorgar el rol
- Permite dividir la posesión del propietario del rol y del que otorga el rol
- Los roles en tiempo de diseño y los privilegios en tiempo de diseño (Analytic Privileges) son transportables
Propiedades importantes de los roles de repositorio
- El otorgante puede conceder/revocar cualquier rol en tiempo de diseño
- El desarrollador puede editar cualquier rol en el paquete (si está autorizado)
- Similar para la activación (la edición y la activación se pueden separar)
- El otorgante puede conceder cualquier privilegio al rol (no es controlable mientras _ SYS _REPO tenga privilegio)
- El usuario debe tener un privilegio específico para otorgar un rol activado
- Creación/edición más difícil que con los roles en tiempo de ejecución
- Hacer los privilegios en las necesidades de datos “conceder a _SYS_ REPO” primero si los objetos del catálogo son involucrados.
-
Rol de catálogo (Catalog Roles)
- También llamados Roles en tiempo de ejecución (Runtime Roles)
Ventajas
- Fácil de crear a través de SQL
- Fácil de generar mediante programación
- Comportamiento típico de SQL para crear, editar, conceder, revocar
- Interfaz de usuario intuitiva para editar roles integrados en SAP HANA Studio
Propiedades importantes de los roles de catálogo
- No son transportable
- No admiten versionado
- Sólo el otorgante puede revocar el rol
- Los privilegios son revocados si el usuario otorgante es eliminado de la base de datos
- La revocación de privilegios es transitiva (quitar del creador del rol -> revocar el rol)
- El usuario debe tener el privilegio de concederlo al rol de catálogo
- El creador posee el rol y puede concederlo siempre a cualquier otro usuario
- El privilegio ROLE ADMIN permite crear, conceder y revocar roles