Compartir vía


Configuración de autenticación (versión preliminar)

Nota:

Para configurar las siguientes opciones de autenticación en la guía de configuración se requiere contar con el rol de administrador global.

Para poder trabajar con la autenticación, debe configurar las tres partes que la componen:

Para poder trabajar con la autenticación en Fabric, siga esta guía.

Aprovisionamiento del servicio de Azure Storage

En este ejemplo se muestra cómo almacenar o leer datos en almacenes de lago. Esto requiere generar tokens para el servicio de Azure Storage en flujos OBO. Para generar tokens, los usuarios deben dar su consentimiento a la aplicación mediante Azure Storage. Para dar su consentimiento, Azure Storage debe aprovisionarse en el inquilino.

Para asegurarse de que Azure Storage está aprovisionado en el inquilino:

  1. Inicie sesión en Azure Portal

  2. Vaya a Microsoft Entra ID>Aplicaciones empresariales

  3. En los filtros, elija tipo de aplicación = todas las aplicaciones. El id. de la aplicación comienza por e406a681-f3d4-42a8-90b6-c2b029497af1

    Captura de pantalla que muestra el aprovisionamiento de Azure Storage.

Si ve la aplicación de Azure Storage, ya está aprovisionada y puede continuar con el paso siguiente. Si no, es necesario que un administrador global lo aprovisione.

Abra Windows PowerShell como administrador y ejecute la siguiente secuencia de comandos:

Install-Module az  
Import-Module az  
Connect-AzureAD  
New-AzureADServicePrincipal -AppId e406a681-f3d4-42a8-90b6-c2b029497af1

Configuración manual de la aplicación en Microsoft Entra ID

Para trabajar con autenticación, debe tener una aplicación registrada en Microsoft Entra ID. Si no tiene ninguna aplicación registrada, siga esta guía para crear una aplicación nueva.

  1. Aplique las siguientes configuraciones a la aplicación:

    • Convierta la aplicación en una aplicación multiinquilino.
    • En el caso de las aplicaciones de desarrollo, configure el URI de redireccionamiento como http://localhost:60006/close con la plataforma SPA. Esta configuración es necesaria para admitir el consentimiento. Puede agregar otros URI de redireccionamiento si es necesario.

    Nota:

    • El URI de redireccionamiento debe ser un URI que simplemente cierre la página al navegar a ella. El URI http://localhost:60006/close ya está configurado en el front-end de muestra y puede cambiarlo en Frontend/src/index.ts (si lo cambia, asegúrese de que coincide con el que se ha configurado para la aplicación).
    • Puede configurar el URI de redireccionamiento después de crear la aplicación en el menú Administrar en Autenticación.

    Captura de pantalla de la interfaz de usuario de registro de aplicación.

  2. Cambie el URI del id. de la aplicación de su aplicación. Vaya a Administrar>Exponer una API y edite el URI del id. de la aplicación:

    En el escenario de desarrollo, el URI de id. de la aplicación debe comenzar por api://localdevinstance/<Workload publisher's tenant ID in lower case (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload> y una subruta opcional al final que comience por / (consulte los ejemplos).

    Donde:

    • El nombre de la carga de trabajo es exactamente como se especifica en el manifiesto.
    • El URI del id. no termina en una barra diagonal.
    • Al final del URI del id. puede haber una subruta opcional: una cadena que conste de letras minúsculas o mayúsculas en inglés, números y guiones, con un máximo de 36 caracteres.

    Sugerencia

    Para obtener ayuda para buscar el id. del inquilino, consulte Procedimiento para buscar el id. del inquilino de Microsoft Entra.

    Por ejemplo, si el id. del inquilino del publicador es 853d9f4f-c71b-4420-b6ec-60e503458946 y el nombre de la carga de trabajo es Fabric.WorkloadSample, entonces:

    • Los siguientes URI son válidos

      • api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample
      • api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/abc
    • Los siguientes URI no son válidos

      • api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/
      • api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample/af/a
      • Cualquier URI de id. que no empiece por api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample

Adición de un ámbito para operaciones CRUD o de trabajos

Para trabajar con las API de las operaciones CRUD (crear, leer, actualizar y eliminar) de los elementos de la carga de trabajo y realizar otras operaciones con trabajos, agregue un ámbito y agregue una aplicación de servicio de Fabric a las aplicaciones previamente autorizadas para ese ámbito para indicar que la API (el ámbito que ha creado) confía en Fabric:

  • En Exponer una API, seleccione Agregar un ámbito. Asigne al ámbito el nombre FabricWorkloadControl y proporcione los detalles necesarios.

  • En Aplicaciones cliente autorizadas, seleccione Agregar una aplicación cliente. Agregue 00000009-0000-0000-c000-000000000000 (aplicación de servicio de Fabric) y seleccione el ámbito.

Adición de ámbitos para la API del plano de datos

Es necesario registrar otros ámbitos para representar grupos de operaciones, expuestos por la API del plano de datos. En el ejemplo de back-end, se proporcionan cuatro ejemplos. Puede verlos en Backend/src/Constants/scopes.cs. Los ámbitos son:

  • Item1.Read.All: se usa para leer los elementos de la carga de trabajo
  • Item1.ReadWrite.All: se usa para leer los elementos de la carga de trabajo y escribir en ellos
  • FabricLakehouse.Read.All: se usa para leer los archivos del almacén de lago
  • FabricLakehouse.ReadWrite.All: se usa para leer y escribir en los archivos del almacén de lago

Autorice 871c010f-5e61-4fb1-83ac-98610a7e9110 (la aplicación cliente de Fabric) previamente para estos ámbitos.

Los identificadores de aplicación de estas aplicaciones se pueden encontrar en Microsoft Power BI y en el servicio Power BI.

Este es el aspecto de la sección Exponer una API en la aplicación. En este ejemplo, el URI de id. es api://localdevinstance/853d9f4f-c71b-4420-b6ec-60e503458946/Fabric.WorkloadSample:

Captura de pantalla que muestra el aspecto de la sección Exponer una API.

Generación de un secreto para la aplicación

En Certificados y secretos, seleccione la pestaña Secretos y agregue un secreto. Asígnele el nombre que quiera y guárdelo. Use este secreto al configurar el ejemplo de back-end.

Captura de pantalla del cuadro de diálogo de generación de secretos.

Agregar notificación opcional "idtyp"

En Configuración del token, seleccione Agregar una notificación opcional. Elija Token de acceso y agregue idtyp.

Captura de pantalla que muestra cómo agregar la notificación idtyp.

Agrega permisos de API

En *Permisos de API, agregue los permisos deseados para la aplicación. Para el back-end de muestra, agregue el almacenamiento user_impersonation (para las API de OneLake) y Power BI Workspace.Read.all (para las API de control de carga de trabajo):

Captura de pantalla que muestra cómo agregar los permisos de API.

Asegúrese de que la aplicación está configurada para que funcione con el token de autenticación v1

En Manifiesto, asegúrese de que accessTokenAcceptedVersion esté establecido en null o "1".

Configuración de la aplicación en Microsoft Entra Identity automáticamente mediante un script

Para una configuración simplificada de la aplicación en Microsoft Entra Identity, puede optar por usar un script automatizado de PowerShell. Para configurar la aplicación, siga estos pasos:

  1. Instalación de la CLI de Azure: empiece por instalar la interfaz de la línea de comandos de Azure (CLI) Instalación de la CLI de Azure para Windows | Microsoft Learn2.
  2. Ejecución del script CreateDevAADApp.ps1: ejecute el script CreateDevAADApp. Se le pedirá que inicie sesión con las credenciales de la cuenta de usuario en la que piensa crear la aplicación.
  3. Suministro de la información necesaria: cuando se le solicite, escriba el nombre deseado para la aplicación, el nombre de la carga de trabajo (con el prefijo "Org.") y el identificador de inquilino.

Después de la ejecución correcta del script, generará todos los detalles necesarios para configurar la carga de trabajo. Además, proporcionará una dirección URL directa a la aplicación y una dirección URL de consentimiento administrativo para la autorización de la aplicación en todo el inquilino.

Ejemplo de uso

Para crear una aplicación denominada "myWorkloadApp" con el nombre de carga de trabajo "Org.Myworkload" para el inquilino especificado, ejecute el siguiente comando en PowerShell:

powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "cb1f79ad-7930-43c0-8d84-c1bf8d15c8c7"

En este ejemplo se muestra cómo usar el script CreateDevAADApp.ps1 con argumentos de línea de comandos para automatizar el proceso de configuración de la aplicación. El identificador de inquilino proporcionado es un ejemplo y se debe reemplazar por el identificador de inquilino real.

Configuración de la carga de trabajo (back-end)

  1. En el ejemplo back-end, vaya al archivo src/appsettings.json en el repositorio y configure las opciones:

    • PublisherTenantId: id. del inquilino del publicador
    • ClientId: id. de la aplicación (puede encontrarlo en Microsoft Entra ID, en información general).
    • ClientSecret : el secreto que creó anteriormente al configurar la aplicación de Entra.
    • Audience : el URI del id. configurado en nuestra aplicación de Entra.
  2. Configure el workloadManifest.xml. Vaya al archivo src/Packages/manifest/files/WorkloadManifest.xml en el repositorio y configure el AppId, redirectUri y ResourceId (URI de identificador) en AADApps.

<AADApp>
    <AppId>YourApplicationId</AppId>
    <RedirectUri>YourRedirectUri</RedirectUri>
    <ResourceId>YourResourceId</ResourceId>
</AADApp>

Configure el manifiesto local de la carga de trabajo y adquiera un token para la aplicación (front-end)

Nota:

Este paso solo es aplicable al escenario de devmode.

Después de configurar la aplicación, agregue las siguientes configuraciones a la sección devAADAppConfig del archivo de configuración Frontend/.env.dev ubicado en el repositorio:

"devAADAppConfig": {  
    "DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for developer scenario
    "DEV_AAD_CONFIG_REDIRECT_URI": "http://localhost:60006/close", // or the path you configured in index.ts
    "DEV_AAD_CONFIG_APPID": "" // your app Id
}

Captura de pantalla en la que se muestra la configuración de un archivo .env.dev.

Nota:

Este paso es necesario para que funcionen las operaciones CRUD y de trabajos.

  1. Ejecute el front-end de muestra y cree un elemento de ejemplo.

  2. Desplácese hacia abajo y seleccione Ir a la página de autenticación.

    Captura de pantalla que muestra la sección de autenticación configurada.

  3. Marque Solicitar consentimiento inicial y seleccione Obtener token de acceso. Esto debe desencadenar un consentimiento para la aplicación:

    Captura de pantalla que muestra el cuadro de diálogo de solicitud de permisos para el consentimiento inicial.

Este consentimiento incluye las dependencias que agregó anteriormente en Adición de permisos de API.

Las tareas siguientes se pueden realizar ahora son:

  • Trabajar con operaciones CRUD o de trabajos.
  • Obtener un token de acceso para la aplicación en el cliente.
  • Usar la página de autenticación en el de front-end de muestra como área de juegos para llamar a las API de carga de trabajo.
  • Ver qué API ofrece el back-end de muestra en Backend/src/controllers.