Servicios disponibles en el plugin
-
Listado y extracción de metadatos
-
Gestión de accesos (delegada sobre AzureAD)(en Roadmap)
Modelo de integración
Extracción de metadatos
Para la extracción de metadata de un objeto se utilizan las APIS:
-
https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin
-
https://learn.microsoft.com/en-us/rest/api/power-bi/admin/apps-get-apps-as-admin
Con estas APIs se es capaz de extraer los siguientes tipos de objeto de PowerBI:
-
APP
-
Dataset (modelo de datos)
-
Workspace
-
Report
-
Dashboard
-
Workbook (BETA)
El plugin extrae los siguientes atributos que deben llamarse igual en la tabla attribute_definition, campo name para que aparezcan en la plantilla:
Nombre de atributo |
Tipo de atributo |
Descripción |
physicalName, name |
INPUT_TEXT |
nombre del objeto |
path |
INPUT_TEXT |
ruta al objeto |
infrastructure |
SELECT |
valor seleccionado |
technology |
SELECT |
valor seleccionado |
zone |
SELECT |
valor seleccionado |
Además la propia API de Azure permite devolver más atributos, que de la misma manera, para que aparezcan en Anjana Data deberán existir la definición de los atributos en la plantilla del objeto, en caso de duda del valor devuelto INPUT_TEXT siempre aceptará insertar cualquier valor.
Dashboard: https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin#admindashboard
Dataset (modelo de datos) : https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin#admindataset
Workbook: https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin#workbook
App: https://learn.microsoft.com/en-us/rest/api/power-bi/admin/apps-get-apps-as-admin#adminapp
Report: https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin#adminreport
WoorkBook (BETA): https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin#workbook
Gestión de accesos (En Roadmap)
Dado que la API de PowerBI no tiene accesible la gestión de accesos, la única manera de hacerlo posible es mediante la delegación de estos a través de AzureAD. Para ello habrá dos actuaciones manuales requeridas para que este mecanismo funcione:
-
Asignación de permisos:
-
Crear un DSA y añadir objetos de Power BI.
-
En el campo physical_name deberá informarse el nombre del grupo.
-
-
Este grupo habrá que asignarlo a cada objeto de Power BI (mirar Anexos)
-
-
Sincronización:
-
El proceso de sincronización entre Azure y PowerBI no es automático ni instantáneo.
-
Forzarlo si es posible
-
Credenciales requeridas
Extracción de metadatos
Se necesitan los siguientes permisos:
-
Tenant.Read.All
Estos permisos se deben dar sobre el service principal que se vaya a usar para el cometido del plugin. Estos permisos no pueden ser consentimiento de Administración si no que tienen que ser permisos delegados:
-
Configuración del App Registration
-
Ir al Azure Portal.
-
Navegar a Azure Active Directory > App registrations > + New registration.
-
Proporcionar un nombre para la aplicación y seleccionar el tipo de cuenta (lo más común es Accounts in this organizational directory only).
-
-
Configurar los Permisos API
-
Dentro de la App Registration, navegar a API permissions.
-
Hacer clic en + Add a permission.
-
Seleccionar Microsoft Power BI.
-
Seleccionar Delegated permissions (no Application permissions).
-
Buscar y seleccionar los permisos que la aplicación necesita mencionados anteriormente.
-
-
Generar un grupo de seguridad en Azure específico para consumir las APIs de PowerBI
-
Meter dentro del grupo la APP generada
-
Meter al grupo dentro de la siguiente opción existente en PowerBI (ver captura)
-
En la mayoría de escenarios no es necesario la concesión de permisos delegados (Tenant.Read.All) siempre y cuando cumplamos con el punto 3 anteriormente descrito
Los endpoint utilizados para realizar la extracción de los objetos de PowerBI son los siguientes:
-
Dataset (modelo de datos): https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin
-
Dashboard: https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin
-
Woorkbook (BETA): https://learn.microsoft.com/en-us/rest/api/power-bi/admin/groups-get-groups-as-admin
Gestión de accesos (En Roadmap)
Para la gestión de accesos el usuario encargado de la asignación de un grupo a un objeto de PowerBI (dentro de la aplicación de PowerBI) deberá tener permiso de Owner o Member sobre el Workspace donde reside el objeto o desde el que se publica una App.
Configuración
En la Configuración técnica y en Tot despliegue de plugins hay algunas directrices.
Existe un YAML de ejemplo para facilitar la configuración en YAML de ejemplo - Plugin PowerBI con explicaciones de las propiedades y valores por defecto.
Este plugin puede conectarse a varias instancias de la misma tecnología, también se puede ver el YAML de ejemplo.
Anexos
Asignación grupo a Report
Asignación de grupos a Dashboard
Asignación de grupo a Modelo Semántico