MicroStrategy Security
Joaquin Attanasio

Joaquin Attanasio

Business Intelligence Consultant | Microstrategy Expert | Data Specialist

Otros Artículos:

MicroStrategy: Security

Share on linkedin
LinkedIn
Share on facebook
Facebook
Share on twitter
Twitter
Share on whatsapp
WhatsApp

¡Buenas, buenas! ¿Qué tal Amiguitos? ¿cómo les va? ¡Bienvenidos a todos de vuelta a un nuevo episodio de #BestInMicro! Hoy vamos a entrar en un tema que realmente hace destacar a MicroStrategy por sobre el resto de las herramientas. Hoy hablaremos de las capas de seguridad en MicroStrategy. 

MicroStrategy

Como ya sabemos, a diferencia del resto de las herramientas de visualización, MicroStrategy tiene una arquitectura mucho más compleja. Para empezar, la gran ventaja que tiene sobre el resto de las herramientas es su capa semántica, que nos brinda un abanico de facilidades en cuanto a materia de seguridad, ya que nos permite administrar una estructura altamente compleja y gestionar en gran nivel de detalle los accesos a la información que tenemos.

Como siempre, comenzamos desde el principio…

La importancia de la seguridad de datos.

Hay un dicho muy conocido que dice «la información es poder». Y por esto, precisamente, es que muy importante saber, entender y controlar Quién mira qué datos. Cuándo. Cómo los procesa. Como empresa es importante entender que los datos deben ser accedidos sólo por aquellos que cuenten con el acceso para ello.

Hoy revisaremos 6 capas de seguridad que tiene MicroStrategy. Estas son :

  •   Seguridad a nivel autentificación de usuario (Authentication type)
  •   Seguridad a nivel base de datos (Connection mapping)
  •   Seguridad de acceso a los objetos (ACL)
  •   Filtros de seguridad 
  •   Privilegios de usuario 
  •   Roles de seguridad
Security Image

No olvidemos que todas estas capas de seguridad pueden asignarse tanto a nivel de usuario como a nivel de grupo de usuarios, y prima siempre la máxima restricción. Por ejemplo, si un usuario pertenece a un grupo que le da acceso a un reporte, y también pertenece a otro el cual tiene el acceso bloqueado, el usuario no podrá acceder al mismo.

Seguridad a nivel autentificación de usuario (Authentication type)

Esta es la primera barrera de seguridad, lógicamente. Al querer conectarnos a MicroStrategy, lo primero que nos pide es usuario y contraseña para conectarnos. Básico, ¿no? Esto es común a prácticamente todas las herramientas. Lo que me interesa destacar aquí es que estas credenciales pueden estar definidas en distintos orígenes. Es decir, tenemos la autenticación genérica de MicroStrategy, la cual almacena (de forma encriptada, por supuesto) las credenciales en su Metadata. Pero también existen otros tipos de autenticación, donde las credenciales se validan contra la base de datos, contra un servidor LDAP, un Kerberos u otros servidores externos, con las credenciales de Windows, etc.…

Security Autentication

Seguridad a nivel base de datos (Connection mapping)

Como todos ya sabemos, desde para conectarnos desde MicroStrategy a una base de datos utilizamos una database instance, la cual nos indica:

  • A que base de datos nos conectaremos
  • Con que DSN nos conectaremos
  • Con qué credenciales nos conectaremos.
Security Data Base

El connection mapping nos da la posibilidad de configurar el DSN y credenciales que se utilizan al conectarse a la base de datos, dependiendo el usuario o grupo que este queriendo hacer la consulta.

Security Connection Mapping

Esto no solo permite gestionar el acceso y permisos desde la base de datos, sino que tambien nos permite conectar a distintas bases de datos en un mismo proyecto para los mismos objetos. Por ejemplo, si tenemos un informe que nos muestra las ventas a nivel país, y cada país tiene su propia base de datos, se puede utilizar para que el grupo “Europa” se conecten a la base de datos de Europa, mientras que quien este en el grupo “US” hará lo correspondiente con la de Estados Unidos.

Security Connection

Seguridad de acceso a los objetos (ACL)

Pues no hay mucho que comentar acerca de este tipo de seguridad. El famoso ACL que existe en cualquier directorio, donde se especifican qué permisos (lectura, ejecución o escritura, entre otras) se tiene sobre un objeto, además de poder definir los permisos sobre sus hijos (en caso de ser una carpeta, lógicamente). 

Recuerden que siempre que quieran hacer una auditoría expliqué en el artículo de Metadata Queries una consulta para hacer una extracción de todos los objetos con sus ACLs.

ACL Security

Filtros de seguridad

Los filtros de seguridad es uno de los grandes diferenciales que tiene MicroStrategy. Básicamente, es asignarle un filtro a cualquier consulta que haga un usuario o un grupo. 

Por ejemplo, imaginemos que un usuario ejecuta un reporte simple, y la query que se genera en el reporte es select Month_id, Sum (Revenue). 

 

Si este usuario se encuentra afectado por un security filter, a la hora de generar la consulta se le agregará el filtro correspondiente al Security filter en cuestión. Por ejemplo, Si tuviese un security Filter donde Country sea ‘US’, la query que se ejecutará contra el warehouse será  

select Month_id, Sum (Revenue) where country = ‘US’ y lógicamente, el usuario no podrá quitar este filtro.

Security Filter

Esto es, a grandes rasgos, la funcionalidad de un Filtro de Seguridad: filtrar datos a nivel consulta por usuario o grupo. Podemos ver todos los security filters que existen en un proyecto en la carpeta de “Project objects”:

Md Security Filters

Más allá de lo que he explicado aquí, hay que tener encuentra muchos puntos en cuanto a este tema. Por ejemplo, también se puede asignar a nivel de jerarquías, y hay que tener consideraciones cuando trabajamos con cubos o consultas Freeform SQL… ¡Ya haré alguna nota más exclusiva sobre security filters en el futuro!

Privilegios de usuario

Así como en los ACL nos referimos al acceso que tiene un usuario a cierto objeto, aquí definimos qué puede hacer un usuario. Los privilegios es un listado de acciones que puede hacer un usuario (o grupo de usuarios) en la herramienta. Esto va desde ejecutar un reporte, crear un objeto o incluso utilizar alguna herramienta de la suite. 

MicroStrategy Desktop Analyst

Dependiendo de la finalidad del usuario, es decir, sus tareas o capacidades a realizar con la herramienta, es que se le asignara un conjunto de privilegios para que pueda cumplir dichas tareas. Los privilegios que tenga un usuario estarán ligados directamente a la licencia que consuma, por lo que hay que tener mucho cuidado a la hora de asignarlos, ya que pueden terminar teniendo un impacto en el coste final (y recordemos que las licencias no son lo que comúnmente llamamos gratuitas).

Pueden consultar qué tipos de privilegios existen en esta nota de MicroStrategy donde explica los privilegios que corresponden a cada licencia.

Roles de seguridad

Los roles de seguridad son un conjunto de privilegios que se “empaquetan” o se agrupan y nos facilitan la gestión a nivel proyecto.

Si miramos el editor de roles de seguridad, verán que es prácticamente igual al de asignación de privilegios:

Security Role Editor

Básicamente nos pide un nombre para el rol y seleccionar qué privilegios tendrán aquellos a quienes se les asigne dicho rol. Por defecto hay varios roles de seguridad que vienen predefinidos en MicroStrategy. Pueden encontrar todos los security roles dentro del menu administracion, y alli, si los editan, podrán ver qué privilegios contiene cada uno. 

Administration Security Role

Decimos que los roles de seguridad son a nivel proyecto porque, precisamente, a la hora de configurar el acceso que tiene una persona o un grupo a un proyecto lo definimos tanto uno a uno (como vimos en el punto anterior, aunque no es recomendable) o asignando el rol que tendrá en cada proyecto.  Por ejemplo, en la siguiente imagen el usuario tendrá acceso al proyecto Enterprise manager con privilegios de Power user. Si ven debajo, verán que ademas se le asignan a mano algunos privilegios como “user view filter editor” y “Alias objects”.  Dependiendo el color, se verá de donde es que obtiene cada permiso.

Security Role Selection

Conclusiones

Realmente en cuestiones de seguridad creo que MicroStrategy es de las herramientas que más a la vanguardia se encuentra. Alguna vez me he encontrado con una situación donde se necesitaba enmascarar cierta parte de un string de un atributo (si, realmente fue un caso muy particular) pero incluso eso se terminó resolviendo con unas líneas de código en el sdk, por lo que aun teniendo desafíos más allá de las capas mencionadas he encontrado soluciones a temas de seguridad. Me queda pendiente investigar un poco si hay algún punto a destacar para este artículo en cuanto a cómo funciona el platform cloud de MicroStrategy, pero creo que, para hacer un análisis general en cuestiones de seguridad, ¡el objetivo queda cumplido!

Así que hasta aquí llegamos esta semana, como siempre, los invito a que pregunten y comenten cualquier duda, ¡y nos reencontramos en el próximo artículo!

Referencias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *