Integraciones
Breadcrumbs

PowerBI

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:

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:

  1. Asignación de permisos:

    1. Crear un DSA y añadir objetos de Power BI.

      1. En el campo physical_name deberá informarse el nombre del grupo.

    2. Este grupo habrá que asignarlo a cada objeto de Power BI (mirar Anexos)

  2. Sincronización:

    1. El proceso de sincronización entre Azure y PowerBI no es automático ni instantáneo.

    2. 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:

  1. Configuración del App Registration

    1. Ir al Azure Portal.

    2. Navegar a Azure Active Directory > App registrations > + New registration.

    3. 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).

  2. Configurar los Permisos API

    1. Dentro de la App Registration, navegar a API permissions.

    2. Hacer clic en + Add a permission.

    3. Seleccionar Microsoft Power BI.

    4. Seleccionar Delegated permissions (no Application permissions).

    5. Buscar y seleccionar los permisos que la aplicación necesita mencionados anteriormente.

  3. Generar un grupo de seguridad en Azure específico para consumir las APIs de PowerBI

    1. Meter dentro del grupo la APP generada

    2. Meter al grupo dentro de la siguiente opción existente en PowerBI (ver captura)

https://lh7-rt.googleusercontent.com/docsz/AD_4nXecrdWZgcnzYQuG970r8tJivPpPOiHk0cJF1Ur7UJP81EzPXbl7Y7N7CqnjNPs3_oHserXui6M29SVjFVVRvgWp84vv8TZEpnJgkqGwatqr6Pi2N_PBaRbIpcBBb-BTcMnelxL4-g?key=tEG1YCU5X1YeG_N2zrlbqw


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:

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

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBK4CgeMIy3jl_kNHARNrYj4upGED86CLjPTXZXsLEkGekri5teYe6cV0FcvZeTeAhC6g4T9nGuAGApuNrcbml6i3utdZ9BiaUf2vky2uwfttSxeBTVOl1dOnGkwW-Kgxj081ZTHNxZF_l86TkYDONvEs?key=nnd5uwoFtUaM95mkaNApCQ
https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYhVC7kg_GjVCUGJ7j2U52QjUU5kQYpx4n5Tj_zmaHEHK0R_F1kyKuYicAfj_P1jeOlCogoxqCH5tEUHPfmJ4tUTXSgXbyqyVrAtPKNxR5qni3e9DBlUTvoBuwO0es9HziExvlvO8bb9kacVyuvsUwNz7l?key=nnd5uwoFtUaM95mkaNApCQ


Asignación de grupos a Dashboard

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDbvhRwA8DGEjerHiDTI1gBZs66MBfQAnci29QQ5eI1tGKAB2NMdu_7uPzTeuHyFBt7LuejcADdILTzHvgO25YVECaPWjN5m0IiXYRW-fica1QveQWEoLA9yVs2v4sV117mOR_5KtWUjfMa8iNMaFhUzNQ?key=nnd5uwoFtUaM95mkaNApCQ
https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOjVxXA2QURjfzyVg_MloG3cF5TAjSaz16bRBd0wVvX_WKDNVphSwDWviw7M8u6drwQFxcO96N-Ysw4tcyA6oOJiEx9dWu-OIgZLWW9sr4k3Sanhjp0T9e6Ya3gfo9Da9hoVNLcORk6e8fGmP-6wDyLEM?key=nnd5uwoFtUaM95mkaNApCQ


Asignación de grupo a Modelo Semántico

https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7_6OoUtcKfVkw8yd-Vhu8LrqM2b2JIuglFsboFquw8pM4Vfi1NF_PP3u1mliItfdFOSRHCrTSbjTSoKmFkgfYBP5EceXr7R-3LJZ-9zrRxGHM-xvT4sZrUYqCStcnvvkT9wHJ7LU3UBvi2mxjx81EItri?key=nnd5uwoFtUaM95mkaNApCQ
https://lh7-rt.googleusercontent.com/docsz/AD_4nXfv0ts52crbWXzJP6gQkSHy1u_jiYDceGToRJ8x1AFiidrVgxaQANZ6K6vPqvDgw0yYRPpGfr6u3Cz4pVQT7EZKXa3Ju_TnXjwmdVGnZgpFG8fxkhL4J-sWsTCzMzWQaALv42lmbescmfPFUBeQNb1e-noW?key=nnd5uwoFtUaM95mkaNApCQ


Asignación de grupo a APP

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfLpFgnHxgzUw-93tpG-83WJUSKiPTipElEnk5UB5Z4fkoF2OPeDtBK_bSPPRPFRG-R2bwP7bBEbNdpwPrgckb6hvsS32Y737jzs_6b8CLingR6KJEzu_EAp4BcxKnSCJzIJnTM2te91NjdCF7OELEQgsTm?key=nnd5uwoFtUaM95mkaNApCQ
https://lh7-rt.googleusercontent.com/docsz/AD_4nXer35-tYX3fbD544yNtxKutw6e4Cvvv34zYLxfBBOaMMhwFf31seeaL_DbADUCsPdgxehoMqOp3AukH8PsZsc-QZBrOUXu20Ynr3gopW_J15hiAZh-hiHzJbjD6sXbXshzAg3TWb1RneOAvi-7mTT_Vp_u7?key=nnd5uwoFtUaM95mkaNApCQ