驗證設定
在本文中,瞭解如何在 Microsoft Fabric 中使用驗證。
若要在 Fabric 中驗證自訂工作負載,請先設定三個元件:
注意
若要設定本文中所述的驗證設定,您必須具備全域管理員角色。
Azure 儲存體 布建
本文中使用的驗證範例示範如何在 Lakehouse 架構中儲存和讀取數據。 它需要為代理者 (OBO) 流程中的 Azure 儲存體 服務產生令牌。 若要產生令牌,您必須同意搭配應用程式使用 Azure 儲存體。 若要同意,必須先在租使用者中布建 Azure 儲存體。
若要確認租使用者中已布建 Azure 儲存體:
登入 Azure 入口網站。
移至 Microsoft Entra ID>Enterprise 應用程式。
在搜尋篩選中,選取 [應用程式類型 = 所有應用程式]。 應用程式標識碼會以
e406a681-f3d4-42a8-90b6-c2b029497af1
開頭。
如果搜尋結果中顯示 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 中註冊。 如果您沒有註冊應用程式, 請建立新的應用程式。 然後,完成下列步驟。
將下列設定套用至您的應用程式:
- 讓應用程式成為多組織用戶共享應用程式。
- 針對開發應用程式,使用單頁應用程式 (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 頁面。
變更應用程式的應用程式識別碼 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。
若要新增範圍:
在 [公開 API] 下,選取 [新增範圍]。 將範圍
FabricWorkloadControl
命名為 ,並輸入必要的詳細數據。在 [授權的用戶端應用程式] 底下,選取 [新增用戶端應用程式]。 新增
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
。
產生應用程式的祕密
在 [憑證與祕密] 下,選取 [祕密] 索引標籤並新增祕密。 輸入您想要使用的任何名稱,然後儲存它。 當您設定後端範例時,請使用此秘密。
新增 idtyp 選擇性宣告
在 [權杖設定] 下,選取 [新增選擇性宣告]。 針對 [令牌類型],選取 [ 存取],然後選取 [idtyp]。
新增 API 權限
在 [API 許可權] 底下,新增應用程式所需的許可權。 針對後端範例,新增 Azure 儲存體 user_impersonation (適用於 OneLake API) 和 Power BI 服務 Workspace.Read.all (適用於工作負載控制 API):
若要深入瞭解 API 許可權,請參閱 在 Microsoft entra 識別碼中更新應用程式的要求許可權。
設定您的應用程式以使用驗證令牌 v1
在 [指令清單] 底下,確定 已accessTokenAcceptedVersion
將 設定為 null
或 。1
使用文稿在 Microsoft Entra ID 中設定您的應用程式
若要在 Microsoft Entra ID 中簡化應用程式的設定,您可以使用自動化的 PowerShell 腳本(選擇性)。
- 安裝 Azure CLI:若要開始, 請安裝適用於 Windows 的 Azure CLI。
- 執行 CreateDevAADApp.ps1 腳本:執行 CreateDevAADApp 腳本。 系統會提示您使用您想要建立應用程式的用戶帳戶認證來登入。
- 提供必要資訊:出現提示時,請輸入要用於應用程式的名稱、工作負載名稱(前面加上 Org.),以及您的租使用者識別碼。
當腳本成功執行時,它會傳回設定工作負載所需的所有詳細數據。 它也提供應用程式的直接 URL,以及全租使用者應用程式授權的系統管理同意 URL。
範例使用方式
若要使用指定租使用者的工作負載名稱 Org.Myworkload 建立名為 myWorkloadApp 的應用程式,請在 PowerShell 中執行下列命令:
powershell .\CreateDevAADApp.ps1 -applicationName "myWorkloadApp" -workloadName "Org.Myworkload" -tenantId "bbbbcccc-1111-dddd-2222-eeee3333ffff"
此範例示範如何使用 CreateDevAADApp.ps1 腳本搭配命令行自變數,將應用程式設定程式自動化。 提供的租用戶標識碼只是範例。 將範例租使用者標識碼取代為您的實際租使用者標識碼。
設定您的工作負載 (後端)
在後端範例中,移至存放庫中的 src/appsettings.json 檔案,並設定設定:
PublisherTenantId
︰發行者的租用戶 ID。ClientId
:您的應用程式識別碼(您可以在 Microsoft Entra ID 概觀中找到它)。ClientSecret
:您在設定 Microsoft Entra 應用程式時建立的秘密。Audience
:您在 Microsoft Entra 應用程式中設定的識別碼 URI。
設定 workloadManifest.xml 檔案。 在存放 庫中,移至 src/Packages/manifest/files/WorkloadManifest.xml 檔案。 在底下
AADApp
,設定AppId
、redirectUri
和ResourceId
(標識碼 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
相關內容
- 瞭解如何在 工作負載中使用驗證。