domingo, 8 de enero de 2017

Autenticación y autorización con Power BI Embedded

El servicio Power BI Embedded usa claves y tokens de aplicación para la autenticación y la autorización en lugar de la autenticación explícita de usuario final. En este modelo, la aplicación, la aplicación administra la autenticación y la autorización de sus usuarios finales. Si es necesario, la aplicación crea y envía los tokens de aplicación que indican a nuestro servicio que presente el informe solicitado. En este diseño no es necesario que la aplicación use Azure Active Directory para la autenticación y la autorización de usuarios, aunque puede hacerlo.

Dos modos de autenticación

Clave: puede usar claves para todas las llamadas de API de REST de Power BI Embedded. Las claves pueden encontrarse en Azure portal haciendo clic en Toda la configuración y, luego, en Claves de acceso. Debe tratar siempre la clave como si fuese una contraseña. Estas claves tienen permisos para llamar a cualquier API de REST en una colección de área de trabajo determinada.
Para utilizar una clave en una llamada de REST, agregue el siguiente encabezado de autorización:
Copy
 
Authorization: AppKey {your key}
Token de aplicación : los tokens de aplicación se utilizan para todas las solicitudes de inserción. Están diseñados para ejecutarse en el lado del cliente, por lo que están restringidas a un único informe y se recomienda establecer un tiempo de expiración.
Los tokens de aplicación son un JWT (JSON Web Token) que está firmado por una de sus claves.
El token de la aplicación puede contener las siguientes notificaciones:
NotificaciónDescription
verLa versión del token de aplicación. La versión actual es 0.2.0.
audEl destinatario previsto del token. Para usar Power BI Embedded: "https://analysis.windows.net/powerbi/api".
issUna cadena que indica la aplicación que emitió el token.
typeEl tipo de token de aplicación que se está creando. El único tipo admitido actualmente es insertar.
wcnEl nombre de la colección de área de trabajo para el que se emite el token.
widEl id. del área de trabajo para el que se emite el token.
ridEl id. del informe para el que se emite el token.
username (opcional)Se utiliza con RLS y es una cadena que ayuda a identificar el usuario cuando se aplican las reglas RLS.
roles (opcional)Una cadena que contiene los roles que seleccione al aplicar las reglas de seguridad de nivel de fila. Si se pasa más de un rol, se deben pasar como una matriz de cadenas.
exp (opcional)Indica la hora a la que caducará el token. Se deben pasar como marcas de tiempo de Unix.
nbf (opcional)Indica la hora a la que comienza a ser válido el token. Se deben pasar como marcas de tiempo de Unix.
Un ejemplo de token de aplicación tendrá este aspecto:
Cuando se descodifica, tendrá un aspecto similar al siguiente:

Funcionamiento del flujo

  1. Copie las claves de API a la aplicación. Puede obtener las claves en el Portal de Azure.
  2. El token impone una notificación y tiene un tiempo de expiración.
  3. El token se firma con las claves de acceso de la API.
  4. El usuario solicita ver un informe.
  5. El token se valida con claves de acceso de una API.
  6. Power BI Embedded envía un informe al usuario.
Después de que Power BI Embedded envíe un informe al usuario, este puede ver el informe en su aplicación personalizada. Por ejemplo, si ha importado el ejemplo .pbix de análisis de datos de venta, la aplicación web de ejemplo tendría el siguiente aspecto: