Configuración de autenticación
En este artículo, aprenderá a trabajar con la autenticación en Microsoft Fabric.
Para autenticar una carga de trabajo personalizada en Fabric, primero debe configurar tres partes de componentes:
Nota:
Para configurar las opciones de autenticación que se describen en este artículo, debe tener el rol Administrador global.
Aprovisionamiento de Azure Storage
En el ejemplo de autenticación que se usa en este artículo, se muestra cómo almacenar y leer datos de una arquitectura de almacén de lago de datos. Requiere la generación de tokens para el servicio Azure Storage en flujos con derechos delegados (OBO). Para generar tokens, debe dar su consentimiento para usar Azure Storage con la aplicación. Para dar su consentimiento, primero se debe aprovisionar Azure Storage en el inquilino.
Para comprobar que Azure Storage está aprovisionado en el inquilino:
Inicie sesión en Azure Portal.
Vaya a Microsoft Entra ID>Aplicaciones empresariales.
En los filtros de búsqueda, seleccione Tipo de aplicación = Todas las aplicaciones. El identificador de aplicación comienza por
e406a681-f3d4-42a8-90b6-c2b029497af1
.
Si la aplicación de Azure Storage se muestra en los resultados de búsqueda, el almacenamiento ya está aprovisionado y puede continuar con el paso siguiente. De lo contrario, un administrador global debe configurar la aplicación.
Para aprovisionar Azure Storage, abra Windows PowerShell como administrador y ejecute el siguiente script:
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 autenticar una carga de trabajo, se debe registrar la aplicación de la carga de trabajo en Microsoft Entra ID. Si no tiene una aplicación registrada, cree una nueva aplicación. A continuación, complete los pasos siguientes.
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 identificador URI de redirección como
http://localhost:60006/close
con la plataforma de aplicación de página única (SPA). Esta configuración es necesaria para admitir el consentimiento de Microsoft. Puede agregar otros identificadores URI de redirección.
Nota:
- El identificador URI de redirección debe ser un identificador URI que simplemente cierre la página cuando vaya a ella. El identificador URI
http://localhost:60006/close
ya está configurado en el ejemplo de front-end. Puede revisar el identificador URI de redirección en Frontend/src/index.ts. Si cambia el identificador URI, asegúrese de que coincida con el identificador URI configurado para la aplicación. - Puede configurar el identificador URI de redirección después de crear la aplicación. Para cambiar la configuración del identificador URI de redirección, vaya a Autenticación>Administrar.
- La dirección URL de redireccionamiento debe devolver una página HTML que simplemente llame al código JavaScript
windows.close()
.
Cambie el identificador URI del identificador de aplicación. Vaya a Administrar>Exponer una API y edite el valor de URI de id. de aplicación correspondiente a la aplicación.
Para un escenario del modo para desarrolladores, el identificador URI del identificador de aplicación debe comenzar por
api://localdevinstance/<Workload publisher's tenant ID in lowercase (the tenant ID of the user used in Fabric to run the sample)>/<Name of your workload>
y una subruta de acceso opcional al final que comienza por/
(consulte los ejemplos más adelante en esta sección).Parámetros del identificador URI de identificador de aplicación:
- El nombre de la carga de trabajo debe ser exactamente como se especifica en el manifiesto.
- El identificador URI del id. no puede terminar con una barra diagonal (
/
). - El final del identificador URI del id. puede tener una subruta opcional identificada por una cadena de hasta 36 caracteres. Solo puede contener letras minúsculas y mayúsculas en inglés, números y guiones.
Sugerencia
Obtenga ayuda para encontrar el identificador de inquilino de Microsoft Entra.
Por ejemplo, si el identificador de inquilino del publicador es
aaaabbbb-0000-cccc-1111-dddd2222eeee
y el nombre de la carga de trabajo esFabric.WorkloadSample
:Los siguientes identificadores URI son válidos:
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
Los siguientes identificadores URI no son válidos:
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
- Cualquier URI de id. que no empiece por
api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
Adición de un ámbito para las API y los trabajos CRUD
Para trabajar con las API Create, Read, Update y Delete (CRUD) para los elementos de la carga de trabajo y para realizar otras operaciones con trabajos, agregue un ámbito. Además, agregue dos aplicaciones de Fabric dedicadas a las aplicaciones autorizadas previamente para ese ámbito para indicar que la API (el ámbito que creó) confía en Fabric.
Para agregar un ámbito:
En Exponer una API, seleccione Agregar un ámbito. Asigne al ámbito el nombre
FabricWorkloadControl
y escriba los detalles necesarios.En Aplicaciones cliente autorizadas, seleccione Agregar una aplicación cliente. Agregue
d2450708-699c-41e3-8077-b0c8341509aa
(el cliente de Fabric de una aplicación de la carga de trabajo) y seleccione el ámbito.
Adición de ámbitos para la API del plano de datos
Es necesario registrar otros ámbitos para representar los grupos de operaciones que expone la API del plano de datos.
En el ejemplo de back-end, se proporcionan cuatro ejemplos. Puede ver los ejemplos en Backend/src/Constants/scopes.cs.
Los ámbitos son:
Item1.Read.All
: para leer elementos de la carga de trabajoItem1.ReadWrite.All
: para leer y escribir los elementos de la carga de trabajoFabricLakehouse.Read.All
: para leer los archivos del almacén de lagoFabricLakehouse.ReadWrite.All
: para leer y escribir los archivos del almacén de lago
Autorice 871c010f-5e61-4fb1-83ac-98610a7e9110
(la aplicación cliente de Fabric) previamente para estos ámbitos.
Puede encontrar los identificadores de aplicación de estas aplicaciones en Microsoft Power BI y el servicio Power BI en Identificadores de aplicación de aplicaciones de Microsoft que se usan habitualmente.
Este es el aspecto que debe tener la sección Exponer una API en la aplicación. En este ejemplo, el identificador URI de id. es api://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample
.
Generación de un secreto para la aplicación
En Certificados y secretos, seleccione la pestaña Secretos y agregue un secreto. Escriba cualquier nombre que quiera usar y guárdelo. Use este secreto al configurar el ejemplo de back-end.
Adición de una notificación idtyp opcional
En Configuración del token, seleccione Agregar una notificación opcional. En Tipo de token, seleccione Acceso y, a continuación, seleccione idtyp.
Agrega permisos de API
En Permisos de API, agregue los permisos que necesite para la aplicación. Para el ejemplo de back-end, agregue user_impersonation de Azure Storage (para las API de OneLake) y Workspace.Read.all del servicio Power BI (para las API de control de la carga de trabajo):
Para obtener más información sobre los permisos de API, consulte Actualización de los permisos solicitados de una aplicación en Microsoft Entra ID.
Establecer la aplicación para que funcione con el token de autenticación v1
En Manifiesto, asegúrese de que accessTokenAcceptedVersion
esté establecido en null
o en 1
.
Configuración de la aplicación en Microsoft Entra ID mediante un script
Para una configuración simplificada de la aplicación en Microsoft Entra ID, puede usar un script automatizado de PowerShell (opcional).
- Instalar la CLI de Azure: para empezar, instale la CLI de Azure para Windows.
- Ejecutar el script CreateDevAADApp.ps1: ejecute el script CreateDevAADApp. Se le solicita que inicie sesión con las credenciales de la cuenta de usuario en la que piensa crear la aplicación.
- Proporcionar la información necesaria: cuando se le solicite, escriba el nombre que se usará para la aplicación, el nombre de la carga de trabajo (con el prefijo Org.) y el identificador de inquilino.
Cuando el script se ejecuta correctamente, devuelve todos los detalles necesarios para configurar la carga de trabajo. También proporciona 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 llamada 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 "bbbbcccc-1111-dddd-2222-eeee3333ffff"
En este ejemplo, se muestra cómo usar el script CreateDevAADApp.ps1 con argumentos de la línea de comandos para automatizar el proceso de configuración de la aplicación. El identificador de inquilino proporcionado es solo un ejemplo. Reemplace el identificador de inquilino del ejemplo por el identificador de inquilino real.
Configuración de la carga de trabajo (back-end)
En el ejemplo de back-end, vaya al archivo src/appsettings.json en el repositorio y configure los valores:
PublisherTenantId
: id. del inquilino del publicador.ClientId
: id. de la aplicación (puede encontrarlo en la información general de Microsoft Entra ID).ClientSecret
: el secreto que creó cuando configuró la aplicación de Microsoft Entra.Audience
: el identificador URI de identificador que configuró en la aplicación de Microsoft Entra.
Configure el archivo workloadManifest.xml. En el repositorio, vaya al archivo src/Packages/manifest/files/WorkloadManifest.xml. En
AADApp
, configureAppId
,redirectUri
yResourceId
(el identificador URI de identificador).
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
Configuración del manifiesto local de carga de trabajo
Nota:
Este paso solo se aplica en un escenario de modo para desarrolladores.
Después de configurar la aplicación, actualice las siguientes configuraciones en el archivo de configuración .env.dev que se encuentra en la carpeta Frontend:
"DEV_AAD_CONFIG_AUDIENCE": "", // The ID URI configured in your application for a 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
Contenido relacionado
- Obtenga información sobre cómo trabajar con la autenticación en cargas de trabajo.