共用方式為


驗證設定

在本文中,瞭解如何在 Microsoft Fabric 中使用驗證。

若要在 Fabric 中驗證自訂工作負載,請先設定三個元件:

注意

若要設定本文中所述的驗證設定,您必須具備全域管理員角色。

Azure 儲存體 布建

本文中使用的驗證範例示範如何在 Lakehouse 架構中儲存和讀取數據。 它需要為代理者 (OBO) 流程中的 Azure 儲存體 服務產生令牌。 若要產生令牌,您必須同意搭配應用程式使用 Azure 儲存體。 若要同意,必須先在租使用者中布建 Azure 儲存體。

若要確認租使用者中已布建 Azure 儲存體:

  1. 登入 Azure 入口網站

  2. 移至 Microsoft Entra ID>Enterprise 應用程式。

  3. 在搜尋篩選中,選取 [應用程式類型 = 所有應用程式]。 應用程式標識碼會以 e406a681-f3d4-42a8-90b6-c2b029497af1開頭。

    顯示 Azure 入口網站 中 Azure 儲存體 布建的螢幕快照。

如果搜尋結果中顯示 Azure 儲存體 應用程式,則已布建記憶體,您可以繼續進行下一個步驟。 否則,全域管理員必須設定應用程式。

若要布建 Azure 儲存體,請以系統管理員身分開啟 Windows PowerShell,然後執行下列腳本:

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

在 Microsoft Entra ID 中手動設定應用程式

若要驗證工作負載,工作負載應用程序必須在 Microsoft Entra ID 中註冊。 如果您沒有註冊應用程式, 請建立新的應用程式。 然後,完成下列步驟。

  1. 將下列設定套用至您的應用程式:

    1. 讓應用程式成為多組織用戶共享應用程式。
    2. 針對開發應用程式,使用單頁應用程式 (SPA) 平臺將重新導向 URI 設定為 http://localhost:60006/close 。 需要此設定才能支援Microsoft同意。 您可以新增其他重新導向 URI。

    注意

    • 重新導向 URI 應該是一個 URI,當您移至頁面時,它只會關閉頁面。 前端範例中已設定 URI http://localhost:60006/close 。 您可以在 Frontend/src/index.ts修改重新導向 URI。 如果您變更 URI,請確定它符合為應用程式設定的 URI。
    • 您可以在建立應用程式之後設定重新導向 URI。 若要變更重新導向 URI 設定,請移至 [驗證>管理]。
    • 重新導向 URL 必須傳回只呼叫 JavaScript windows.close()的 HTML 頁面。

    應用程式註冊UI的螢幕快照。

  2. 變更應用程式的應用程式識別碼 URI。 移至 [管理>公開 API],然後編輯應用程式的應用程式識別碼 URI 值。

    針對開發人員模式案例,應用程式標識碼 URI 應該以 開頭 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> ,以及開頭為 的選擇性子路徑 / (請參閱本節稍後的範例)。

    應用程式識別碼 URI 參數:

    • 工作負載名稱必須完全符合指令清單中指定的名稱。
    • 標識碼 URI 不能以斜線結尾(/)。
    • 標識元 URI 的結尾可以有一個選擇性的子路徑,由最多 36 個字元的字串識別。 它只能包含英文小寫和大寫字母、數位和虛線。

    提示

    取得尋找 您Microsoft Entra 租用戶標識碼的說明。

    例如,如果發行者的租使用者標識碼是 aaaabbbb-0000-cccc-1111-dddd2222eeee ,且工作負載名稱為 Fabric.WorkloadSample,則:

    • 下列 URI 有效

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/abc
    • 下列 URI 無效

      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/
      • api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample/af/a
      • 未以 api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample 開頭的任何 ID URI

新增 CRUD API 和作業的範圍

若要使用工作負載專案的建立、讀取、更新和刪除 (CRUD) API,以及使用作業執行其他作業, 請新增範圍。 此外,將兩個專用網狀架構應用程式新增至該範圍的預先授權應用程式,以指出您的 API(您所建立的範圍)信任 Fabric。

若要新增範圍:

  1. 在 [公開 API] 下,選取 [新增範圍]。 將範圍 FabricWorkloadControl 命名為 ,並輸入必要的詳細數據。

  2. [授權的用戶端應用程式] 底下,選取 [新增用戶端應用程式]。 新增 d2450708-699c-41e3-8077-b0c8341509aa [工作負載應用程式的網狀架構用戶端],然後選取您的範圍。

新增數據平面 API 的範圍

其他範圍必須註冊,才能代表數據平面 API 所公開的作業群組。

在後端範例中,我們提供四個範例。 您可以在 Backend/src/Constants/scopes.cs 中看到範例。

範圍如下:

  • Item1.Read.All:讀取工作負載專案
  • Item1.ReadWrite.All:讀取/寫入工作負載專案
  • FabricLakehouse.Read.All:用於讀取 Lakehouse 檔案
  • FabricLakehouse.ReadWrite.All:讀取/寫入 Lakehouse 檔案

針對這些範圍預先授權 871c010f-5e61-4fb1-83ac-98610a7e9110 (Fabric 用戶端應用程式)。

您可以在 Microsoft常用應用程式的應用程式識別碼中,於 Microsoft Power BI 和 Power BI 服務找到這些應用程式的應用程式識別碼。

以下是 [公開 API] 區段在應用程式中的外觀。 在這裡範例中,識別碼 URI 為 api://localdevinstance/aaaabbbb-0000-cccc-1111-dddd2222eeee/Fabric.WorkloadSample

顯示 [公開 API] 區段外觀的螢幕擷取畫面。

產生應用程式的祕密

在 [憑證與祕密] 下,選取 [祕密] 索引標籤並新增祕密。 輸入您想要使用的任何名稱,然後儲存它。 當您設定後端範例時,請使用此秘密。

[產生秘密] 對話框的螢幕快照。

新增 idtyp 選擇性宣告

在 [權杖設定] 下,選取 [新增選擇性宣告]。 針對 [令牌類型],選取 [ 存取],然後選取 [idtyp]。

顯示新增宣告 idtyp 的螢幕擷取畫面。

新增 API 權限

在 [API 許可權] 底下,新增應用程式所需的許可權。 針對後端範例,新增 Azure 儲存體 user_impersonation (適用於 OneLake API) 和 Power BI 服務 Workspace.Read.all (適用於工作負載控制 API):

顯示新增 API 權限的螢幕擷取畫面。

若要深入瞭解 API 許可權,請參閱 在 Microsoft entra 識別碼中更新應用程式的要求許可權。

設定您的應用程式以使用驗證令牌 v1

在 [指令清單] 底下,確定 已accessTokenAcceptedVersion將 設定為 null 或 。1

使用文稿在 Microsoft Entra ID 中設定您的應用程式

若要在 Microsoft Entra ID 中簡化應用程式的設定,您可以使用自動化的 PowerShell 腳本(選擇性)。

  1. 安裝 Azure CLI:若要開始, 請安裝適用於 Windows 的 Azure CLI。
  2. 執行 CreateDevAADApp.ps1 腳本:執行 CreateDevAADApp 腳本。 系統會提示您使用您想要建立應用程式的用戶帳戶認證來登入。
  3. 提供必要資訊:出現提示時,請輸入要用於應用程式的名稱、工作負載名稱(前面加上 Org.),以及您的租使用者識別碼。

當腳本成功執行時,它會傳回設定工作負載所需的所有詳細數據。 它也提供應用程式的直接 URL,以及全租使用者應用程式授權的系統管理同意 URL。

範例使用方式

若要使用指定租使用者的工作負載名稱 Org.Myworkload 建立名為 myWorkloadApp 的應用程式,請在 PowerShell 中執行下列命令:

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

此範例示範如何使用 CreateDevAADApp.ps1 腳本搭配命令行自變數,將應用程式設定程式自動化。 提供的租用戶標識碼只是範例。 將範例租使用者標識碼取代為您的實際租使用者標識碼。

設定您的工作負載 (後端)

  1. 在後端範例中,移至存放庫中的 src/appsettings.json 檔案,並設定設定:

  2. 設定 workloadManifest.xml 檔案。 在存放 庫中,移至 src/Packages/manifest/files/WorkloadManifest.xml 檔案。 在底下 AADApp,設定 AppIdredirectUriResourceId (標識碼 URI)。

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

設定工作負載本機指令清單

注意

此步驟僅適用於開發人員模式案例。

設定應用程式之後,請在位於Frontend資料夾中的 .env.dev 組態檔 中更新下列組態:

"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

顯示 .env.dev 檔案組態的螢幕快照。