Para usar el análisis de Power BI Embedded, debe registrar una aplicación de Azure Active Directory (Azure AD) en Azure. La aplicación de Azure AD establece permisos para los recursos REST de Power BI y permite el acceso a las API REST de Power BI.
Determinación de la solución de inserción
Antes de registrar la aplicación, decida cuál de las siguientes soluciones es la más adecuada para usted:
Inserción para los clientes
Inserción para la organización
Inserción para los clientes
Use la solución de inserción para los clientes, lo que también se conoce como aplicación poseedora de los datos, si tiene previsto crear una aplicación diseñada para los clientes. Los usuarios no tendrán que iniciar sesión en Power BI ni disponer de una licencia de Power BI para usar la aplicación. La aplicación usará uno de los métodos siguientes para autenticarse en Power BI:
Cuenta de usuario principal (licencia de Power BI Pro usada para iniciar sesión en Power BI)
Los fabricantes de software independientes (ISV) y los desarrolladores que crean aplicaciones para terceros suelen usar la solución de inserción para los clientes.
Inserción para la organización
Use la solución de inserción para la organización, lo que también se conoce como usuario poseedor de los datos, si tiene previsto crear una aplicación que requiera que los usuarios empleen sus credenciales para autenticarse en Power BI.
La solución de inserción para la organización suelen usarla empresas y organizaciones de gran tamaño, y está pensada para los usuarios internos.
Registrar una aplicación de Azure AD
La forma más fácil de registrar una aplicación de Azure AD es mediante la herramienta de configuración de la inserción de Power BI. La herramienta ofrece un proceso de registro rápido para ambas soluciones de inserción mediante una simple interfaz gráfica.
Si va a crear una aplicación de inserción para la organización y quiere tener más control sobre la aplicación de Azure AD, puede registrarla manualmente en Azure Portal.
En la sección Choose an embedding solution (Elegir una solución de inserción), seleccione Embed for your customers (Inserción para los clientes).
En el Paso 1: iniciar sesión en Power BI, inicie sesión con un usuario que pertenezca a su inquilino de Power BI. La aplicación de Azure AD se registrará con este usuario.
Si ya ha iniciado sesión, compruebe que lo haya hecho con el usuario que quiera usar para crear la aplicación de Azure AD. Para cambiar el usuario, seleccione el vínculo Cerrar sesión y, una vez que se reinicie la herramienta, vuelva a iniciar sesión.
En el Paso 2: registro de la aplicación, rellene los campos siguientes:
Nombre de la aplicación: asigne un nombre a la aplicación.
El valor Id. de aplicación de la aplicación de Azure AD se muestra en el cuadro Resumen. Copie este valor para su uso posterior.
(Opcional) En el Paso 3: creación de un área de trabajo, puede crear un área de trabajo en servicio Power BI.
Si ya tiene un área de trabajo de Power BI, seleccione Omitir.
Para crear un área de trabajo, escriba un nombre para el área y seleccione Crear área de trabajo. El nombre y el identificador del área de trabajo aparecen en el cuadro Resumen. Copie estos valores para su uso posterior.
Nota
Para que la aplicación de ejemplo de análisis de inserción funcione según lo previsto, tiene que crear un área de trabajo mediante la herramienta.
(Opcional) En el Paso 4: importación de contenido, seleccione una de las opciones siguientes:
Si tiene su propia aplicación de Power BI, puede seleccionar Omitir.
Si quiere crear una aplicación de Power BI de ejemplo mediante un informe de ejemplo, seleccione Sample Power BI report (Informe de Power BI de ejemplo) y, luego, Importar.
Si quiere crear una aplicación de Power BI de ejemplo mediante un informe propio, seleccione Upload a .pbix file (Cargar un archivo .pbix) y, luego, Importar.
En el Paso 5: concesión de permisos, seleccione Conceder permisos y, en la ventana emergente, seleccione Aceptar. Esto permite que la aplicación de Azure AD acceda a las API seleccionadas (también conocidas como ámbitos) con el usuario que ha iniciado sesión. Este usuario también se conoce como usuario principal.
(Opcional) Si ha creado un área de trabajo de Power BI y ha cargado contenido en ella mediante la herramienta, ahora puede seleccionar Download sample application (Descargar aplicación de ejemplo). Asegúrese de copiar toda la información en el cuadro Resumen.
Nota
Si ha omitido las fases opcionales, puede descargar igualmente una aplicación de Power BI de ejemplo, pero en el código de la aplicación descargada faltarán las propiedades que no haya rellenado durante el registro. Por ejemplo, si no ha creado un área de trabajo, la aplicación de ejemplo no incluirá el identificador del área de trabajo.
En estos pasos se describe cómo registrar una aplicación de Azure AD para la solución de inserción para la organización de Power BI.
En la sección Choose an embedding solution (Elegir una solución de inserción), seleccione Embed for your organization (Inserción para la organización).
En el Paso 1: iniciar sesión en Power BI, inicie sesión con un usuario que pertenezca a su inquilino de Power BI. La aplicación de Azure AD se registrará con este usuario.
Si ya ha iniciado sesión, compruebe que lo haya hecho con el usuario que quiera usar para crear la aplicación de Azure AD. Para cambiar el usuario, seleccione el vínculo Cerrar sesión y, una vez que se reinicie la herramienta, vuelva a iniciar sesión.
En el Paso 2: registro de la aplicación, rellene los campos siguientes:
Nombre de la aplicación: asigne un nombre a la aplicación.
Dirección URL de la página principal: escriba una dirección URL de la página principal.
URL de redireccionamiento: tras iniciar sesión, se redirigirá a los usuarios de la aplicación a esta dirección, mientras la aplicación recibe un código de autenticación de Azure. Seleccione una de estas opciones:
Use a default URL (Usar una URL predeterminada): esta opción creará y descargará automáticamente una aplicación de análisis insertada de ejemplo. La dirección URL predeterminada es http://localhost:13526/.
Use a custom URL (Usar una URL personalizada): seleccione esta opción si ya tiene una aplicación de análisis insertada y sabe qué quiere usar como URL de redireccionamiento.
Los valores Id. de aplicación y Secreto de aplicación de la aplicación de Azure AD se muestran en el cuadro Resumen. Copie estos valores para su uso posterior.
(Opcional) En el Paso 3: creación de un área de trabajo, puede crear un área de trabajo en servicio Power BI.
Si ya tiene un área de trabajo de Power BI, seleccione Omitir.
Para crear un área de trabajo, escriba un nombre para el área y seleccione Crear área de trabajo. El nombre y el identificador del área de trabajo aparecen en el cuadro Resumen. Copie estos valores para su uso posterior.
Nota
Para que la aplicación de ejemplo de análisis de inserción funcione según lo previsto, tiene que crear un área de trabajo mediante la herramienta.
(Opcional) En el Paso 4: importación de contenido, seleccione una de las opciones siguientes:
Si tiene su propia aplicación de Power BI, puede seleccionar Omitir.
Si quiere crear una aplicación de Power BI de ejemplo mediante un informe de ejemplo, seleccione Sample Power BI report (Informe de Power BI de ejemplo) y, luego, Importar.
Si quiere crear una aplicación de Power BI de ejemplo mediante un informe propio, seleccione Upload a .pbix file (Cargar un archivo .pbix) y, luego, Importar.
(Opcional) Si ha creado un área de trabajo de Power BI y ha cargado contenido en ella mediante la herramienta, ahora puede seleccionar Download sample application (Descargar aplicación de ejemplo). Asegúrese de copiar toda la información en el cuadro Resumen.
Nota
Si ha omitido las fases opcionales, puede descargar igualmente una aplicación de Power BI de ejemplo, pero en el código de la aplicación descargada faltarán las propiedades que no haya rellenado durante el registro. Por ejemplo, si no ha creado un área de trabajo, la aplicación de ejemplo no incluirá el identificador del área de trabajo.
Use el registro manual de la aplicación de Azure AD solo si va a crear una de las siguientes soluciones:
Una aplicación de inserción para la organización.
Una aplicación de inserción para los clientes con una entidad de servicio.
Elija el inquilino de Azure AD mediante la selección de la cuenta en la esquina superior derecha de la página.
Seleccione App registrations (Registros de aplicaciones). Si no puede ver esta opción, búsquela.
En Registros de aplicaciones, seleccione Nuevo registro.
Rellene los campos siguientes:
Nombre: asigne un nombre a la aplicación.
Supported account type (Tipo de cuenta admitido): seleccione quién puede usar la aplicación.
(Opcional) En el URI de redireccionamiento, agregue una dirección URL de redireccionamiento.
Seleccione Registrar. Una vez registrada la aplicación, se le dirigirá a la página de información general de la aplicación, donde puede obtener el valor Id. de aplicación.
Cambio de los permisos de la aplicación de Azure AD
Después de registrar la aplicación, puede realizar cambios en los permisos. Los cambios en los permisos se pueden realizar mediante programación o en Azure Portal.
Nota
Los permisos de aplicación de Azure AD solo se aplican a estos escenarios:
Insertar para la organización
Insertar para los clientes con el método de autenticación de usuario maestro
Elija el inquilino de Azure AD mediante la selección de la cuenta en la esquina superior derecha de la página.
Seleccione App registrations (Registros de aplicaciones). Si no puede ver esta opción, búsquela.
En la pestaña Aplicaciones propias, seleccione la aplicación. La aplicación se abre en la pestaña Información general, donde puede revisar el valor Id. de la aplicación.
Seleccione la pestaña Permisos de API.
Para agregar permisos, siga estos pasos:
Seleccione Agregar un permiso y, luego, Servicio Power BI.
Seleccione Permisos delegados, y agregue o quite los permisos específicos que necesite.
Cuando haya terminado, seleccione Agregar permisos para guardar los cambios.
Para quitar un permiso, siga estos pasos:
Seleccione los puntos suspensivos (…) situados a la derecha del permiso.
Seleccione Quitar permiso.
En la ventana emergente Quitar permiso, seleccione Sí, quitar.
Para cambiar los permisos de la aplicación de Azure AD mediante programación, deberá obtener las entidades de servicio (usuarios) existentes en el inquilino. Para información sobre cómo hacerlo, consulte servicePrincipal.
Para obtener todas las entidades de servicio del inquilino, llame a la API Get servicePrincipal sin {ID}.
Busque una entidad de servicio con el Id. de la aplicación de su aplicación como propiedad appId.
Conceda permisos de Power BI a la aplicación. Para ello, asigne uno de estos valores a consentType:
AllPrincipals: solo lo puede usar un administrador de Power BI para conceder permisos en nombre de todos los usuarios del inquilino.
Principal: se usa para conceder permisos en nombre de un usuario específico. Si usa esta opción, agregue la propiedad principalId={User_ObjectId} al cuerpo de la solicitud.
Si usa un usuario principal, para evitar que Azure AD le pida consentimiento, debe conceder permisos a la cuenta maestra.
El valor resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e depende del inquilino y no es universal. Este valor es el elemento objectId de la aplicación Servicio Power BI en Azure AD. Para obtener este valor en Azure Portal, vaya a Aplicaciones empresariales > Todas las aplicaciones y busque Servicio Power BI.
Conceda permisos de aplicación a Azure AD mediante la asignación de un valor a consentType.
También puede cambiar los permisos de la aplicación de Azure AD mediante C#. Para más información, vea la API oAuth2PermissionGrant. Este método puede ser útil si está pensando en automatizar algunos de los procesos.
Para obtener más información sobre las solicitudes HTTP, consulte la pestaña HTTP.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();