Condividi tramite


Configurazione autenticazione

Questo articolo illustra come usare l'autenticazione in Microsoft Fabric.

Per autenticare un carico di lavoro personalizzato in Fabric, configurare prima di tutto tre parti del componente:

Nota

Per configurare le impostazioni di autenticazione descritte in questo articolo, è necessario avere il ruolo di amministratore globale.

Archiviazione di Azure provisioning

L'esempio di autenticazione usato in questo articolo illustra come archiviare e leggere i dati da un'architettura lakehouse. Richiede la generazione di token per il servizio Archiviazione di Azure nei flussi OBO (On-behalf-of). Per generare token, è necessario fornire il consenso all'uso di Archiviazione di Azure con l'applicazione. Per fornire il consenso, Archiviazione di Azure deve prima essere effettuato il provisioning nel tenant.

Per verificare che Archiviazione di Azure sia stato effettuato il provisioning nel tenant:

  1. Accedere al portale di Azure.

  2. Passare alle >Enterprise.

  3. Nei filtri di ricerca selezionare Tipo di applicazione = Tutte le applicazioni. L'ID applicazione inizia con e406a681-f3d4-42a8-90b6-c2b029497af1.

    Screenshot che mostra Archiviazione di Azure provisioning nel portale di Azure.

Se l'applicazione Archiviazione di Azure viene visualizzata nei risultati della ricerca, è già stato effettuato il provisioning dell'archiviazione ed è possibile continuare con il passaggio successivo. In caso contrario, un amministratore globale deve configurare l'applicazione.

Per effettuare il provisioning di Archiviazione di Azure, aprire Windows PowerShell come amministratore ed eseguire lo script seguente:

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

Configurare manualmente l'applicazione Microsoft Entra ID

Per autenticare un carico di lavoro, l'applicazione del carico di lavoro deve essere registrata in Microsoft Entra ID. Se non si ha un'applicazione registrata, creare una nuova applicazione. Completare quindi i passaggi seguenti.

  1. Applicare le configurazioni seguenti all'applicazione:

    1. Rendere l'applicazione un'app multi-tenant.
    2. Per le applicazioni di sviluppo, configurare l'URI di reindirizzamento come http://localhost:60006/close con la piattaforma applicazione a pagina singola . Questa configurazione è necessaria per supportare il consenso Microsoft. È possibile aggiungere altri URI di reindirizzamento.

    Nota

    • L'URI di reindirizzamento deve essere un URI che chiude semplicemente la pagina quando viene visualizzata. L'URI http://localhost:60006/close è già configurato nell'esempio front-end. È possibile modificare l'URI di reindirizzamento in Frontend/src/index.ts. Se si modifica l'URI, assicurarsi che corrisponda all'URI configurato per l'applicazione.
    • È possibile configurare l'URI di reindirizzamento dopo aver creato l'applicazione. Per modificare le impostazioni dell'URI di reindirizzamento, passare a >.
    • L'URL di reindirizzamento deve restituire una pagina HTML che chiama solo a JavaScript windows.close().

    Screenshot dell'interfaccia utente di registrazione dell'applicazione.

  2. Modificare l'URI ID applicazione per l'applicazione. Passare a Gestisci>Esporre un'API e modificare il valore per l'URI ID applicazione per l'app.

    Per uno scenario in modalità sviluppatore, l'URI ID applicazione deve iniziare con 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> e un sottopercorso facoltativo alla fine che inizia con / (vedere gli esempi più avanti in questa sezione).

    Parametri URI ID applicazione:

    • Il nome del carico di lavoro deve essere esattamente come specificato nel manifesto.
    • L'URI ID non può terminare con una barra (/).
    • La fine dell'URI ID può avere un sottopercorso facoltativo identificato da una stringa di un massimo di 36 caratteri. Può contenere solo lettere minuscole e maiuscole, numeri e trattini.

    Suggerimento

    Ottenere assistenza per trovare l'ID tenant di Microsoft Entra.

    Ad esempio, se l'ID tenant dell'editore è aaaabbbb-0000-cccc-1111-dddd2222eeee e il nome del carico di lavoro è Fabric.WorkloadSample, allora:

    • Gli URI seguenti sono validi:

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
    • Gli URI seguenti non sono validi:

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
      • Qualsiasi URI ID che non inizia con api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample

Aggiungere un ambito per LE API CRUD e i processi

Per usare le API CREATE, Read, Update ed Delete (CRUD) per gli elementi del carico di lavoro e per eseguire altre operazioni con i processi, aggiungere un ambito. Aggiungere inoltre due applicazioni fabric dedicate alle applicazioni pre-autorizzate per tale ambito per indicare che l'API (l'ambito creato) considera attendibile Fabric.

Per aggiungere un ambito:

  1. In Esporre un'API, selezionare Aggiungere un ambito. Assegnare un nome all'ambito FabricWorkloadControl e immettere i dettagli necessari.

  2. In Applicazioni client autorizzate selezionare Aggiungi applicazione client. Aggiungere d2450708-699c-41e3-8077-b0c8341509aa (il client fabric per un'applicazione del carico di lavoro) e selezionare l'ambito.

Aggiungere ambiti per l'API del piano dati

È necessario registrare altri ambiti per rappresentare gruppi di operazioni esposte dall'API del piano dati.

Nell'esempio back-end vengono forniti quattro esempi. È possibile visualizzare gli esempi in Backend/src/Constants/scopes.cs.

Gli ambiti sono:

  • Item1.Read.All: per la lettura degli elementi del carico di lavoro
  • Item1.ReadWrite.All: per la lettura/scrittura di elementi del carico di lavoro
  • FabricLakehouse.Read.All: per la lettura dei file lakehouse
  • FabricLakehouse.ReadWrite.All: per la lettura/scrittura di file lakehouse

Preautorizzare 871c010f-5e61-4fb1-83ac-98610a7e9110 (l'applicazione client Fabric) per questi ambiti.

È possibile trovare gli ID applicazione di queste app in Microsoft Power BI e nel servizio Power BI negli ID applicazione delle applicazioni microsoft di uso comune.

Ecco come dovrebbe essere visualizzata la sezione Esporre un'API nell'applicazione. In questo esempio l'URI ID è api://localdevinstance/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/Fabric.WorkloadSample.

Screenshot che mostra l'aspetto della sezione Esporre un'API.

Generare un segreto per l'applicazione

In Certificati e segreti selezionare la scheda Segreti e aggiungere un segreto. Immettere qualsiasi nome da usare e quindi salvarlo. Usare questo segreto quando si configura l'esempio back-end.

Screenshot della finestra di dialogo Genera segreti.

Aggiungere un'attestazione facoltativa idtyp

In Configurazione token selezionare Aggiungi attestazione facoltativa. In Tipo di token selezionare Accesso e quindi idtyp.

Screenshot che mostra l'aggiunta di attestazioni idtyp.

Aggiungere le autorizzazioni API

In Autorizzazioni API aggiungere le autorizzazioni necessarie per l'applicazione. Per l'esempio back-end, aggiungere Archiviazione di Azure user_impersonation (per le API OneLake) e Power BI Service Workspace.Read.all (per le API di controllo del carico di lavoro):

Screenshot che mostra l'aggiunta delle autorizzazioni API.

Per altre informazioni sulle autorizzazioni API, vedere Aggiornare le autorizzazioni richieste di un'app in Microsoft Entra ID.

Impostare l'applicazione per l'uso con il token di autenticazione v1

In Manifesto verificare che accessTokenAcceptedVersion sia impostato su null o su 1.

Configurare l'applicazione in Microsoft Entra ID usando uno script

Per una configurazione semplificata dell'applicazione in Microsoft Entra ID, è possibile usare uno script di PowerShell automatizzato (facoltativo).

  1. Installare l'interfaccia della riga di comando di Azure: per iniziare, installare l'interfaccia della riga di comando di Azure per Windows.
  2. Eseguire lo script CreateDevAADApp.ps1: eseguire lo script CreateDevAADApp. Viene richiesto di accedere usando le credenziali dell'account utente con cui si intende creare l'applicazione.
  3. Specificare le informazioni necessarie: quando richiesto, immettere il nome da usare per l'applicazione, il nome del carico di lavoro (preceduto da Org.) e l'ID tenant.

Quando lo script viene eseguito correttamente, restituisce tutti i dettagli necessari per configurare il carico di lavoro. Fornisce anche un URL diretto all'applicazione e un URL di consenso amministrativo per l'autorizzazione dell'applicazione a livello di tenant.

Esempio di utilizzo

Per creare un'applicazione denominata myWorkloadApp con il nome del carico di lavoro Org.Myworkload per il tenant specificato, eseguire il comando seguente in PowerShell:

powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "bbbbcccc-1111-dddd-2222-eeee3333ffff"

Questo esempio illustra come usare lo script CreateDevAADApp.ps1 con argomenti della riga di comando per automatizzare il processo di installazione dell'applicazione. L'ID tenant specificato è solo un esempio. Sostituire l'ID tenant di esempio con l'ID tenant effettivo.

Configurare il carico di lavoro (back-end)

  1. Nell'esempio back-end passare al file src/appsettings.json nel repository e configurare le impostazioni:

    • PublisherTenantId: l'ID tenant dell'autore.
    • ClientId: ID applicazione (è possibile trovarlo nella panoramica di Microsoft Entra ID).
    • ClientSecret: segreto creato durante la configurazione dell'app Microsoft Entra.
    • Audience : URI ID configurato nell'app Microsoft Entra.
  2. Configurare il file workloadManifest.xml . Nel repository passare al file src/Packages/manifest/files/WorkloadManifest.xml. In AADAppconfigurare AppId, redirectUrie ResourceId (URI ID).

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

Configurare il manifesto locale del carico di lavoro

Nota

Questo passaggio si applica solo in uno scenario in modalità sviluppatore.

Dopo aver configurato l'applicazione, aggiornare le configurazioni seguenti nel file di configurazione con estensione env.dev che si trova nella cartella Front-end:

"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

Screenshot che mostra la configurazione di un file con estensione env.dev.