Fabric 允許你以安全的方式存取啟用防火牆的 Azure Blob 儲存體 和 Azure Data Lake Storage(ADLS)帳號。 具有工作區身分識別的 Fabric 工作區,可在已啟用公用網路存取(僅限所選虛擬網路和 IP 位址)或已停用公用網路存取的情況下,安全地存取 Blob 儲存體和 ADLS 帳戶。 你可以限制 Blob 儲存體 和 ADLS 帳號對特定 Fabric 工作區的存取。
存取具有受信任工作區存取權之儲存體帳戶的 Fabric 工作區需要對要求進行適當的授權。 授權支援透過 Microsoft Entra 憑證進行,適用於組織帳戶或服務主體。 若要深入了解資源執行個體規則,請參閱從 Azure 資源執行個體授與存取權。
若要限制和保護特定 Fabric 工作區對已啟用防火牆的儲存體帳戶的存取,您可以設定資源執行個體規則,以允許來自特定 Fabric 工作區的存取。
Note
可信工作空間存取功能普遍可用,但你只能在購買的 Microsoft Fabric 功能(F SKUs)中使用。 有關購買 Fabric 容量的資訊,請參閱 在 Azure 中購買 Fabric 容量。 試用容量不支援信任的工作區存取。
本文章說明如何:
在 ADLS Gen2 儲存體帳戶中設定受信任的工作區存取。
在 Fabric Lakehouse 中建立 OneLake 捷徑,以連線到啟用受信任工作區存取權的 ADLS Gen2 儲存體帳戶。
建立管線,以直接連線到已啟用防火牆且已啟用受信任工作區存取的 ADLS Gen2 帳戶。
使用 T-SQL COPY 陳述式,將資料匯入至倉儲,從已啟用防火牆且已啟用受信任工作區存取的 ADLS Gen2 帳戶。
在匯入模式中建立語意模型,以連線到已啟用受信任工作區存取的已啟用防火牆的 ADLS Gen2 帳戶。
使用 AzCopy 將資料從 已啟用防火牆的 Azure 儲存體帳戶載入 OneLake。
在 Blob 儲存體 或 ADLS 中設定受信任的工作區存取權限
Prerequisites
- 與已購買的 Microsoft Fabric 容量 (F SKU) 關聯的 Fabric 工作區。
- 建立與 Fabric 工作區相關聯的工作區身分識別。 請參閱工作區身分識別。 請移至 [管理存取權 ] ( 工作區設定旁) ,並將工作區身分識別新增至清單中作為參與者,以確保工作區身分識別具有工作區的參與者存取權。
- 快捷方式中用於驗證的主體應該在記憶體帳戶上具有 Azure RBAC 角色。 主體必須在記憶體帳戶範圍中具有記憶體 Blob 數據參與者、記憶體 Blob 數據擁有者或記憶體 Blob 數據讀取者角色,或記憶體帳戶範圍中的記憶體 Blob 委派器角色,以及容器內資料夾層級的存取權。 您可以透過容器層級的 RBAC 角色,或透過特定資料夾層級的權限來提供資料夾的存取權。
- 設定儲存體帳戶的資源實例規則。
透過 ARM 範本制定的資源實例規則
您可以設定特定的 Fabric 工作區,以根據其工作區身分識別來存取儲存體帳戶。 您可以使用包含資源執行個體規則的 ARM 範本來建立資源執行個體規則。 若要建立資源執行個體規則:
登入 Azure 入口網站,然後移至 [自訂部署]。
選擇 [在編輯器中建置自己的範本]。 如需建立資源執行個體規則的範例 ARM 範本,請參閱 ARM 範本範例。
在編輯器中創建資源實例規則。 完成後,選取 [檢閱 + 建立]。
在出現的 [基本] 索引標籤上,指定必要的專案和執行個體詳細資料。 完成後,選取 [檢閱 + 建立]。
在出現的 [檢閱+建立] 索引標籤上,檢閱摘要,然後選取 [建立]。 規則已提交以供部署。
部署完成後,您可以移至資源。
Note
- 網狀架構工作區的資源實例規則只能透過ARM範本或PowerShell來建立。 不支援透過 Azure 入口網站建立。
- subscriptionId「00000000-0000-0000-0000-000000000000」必須用於 Fabric 工作區的資源 ID。
- 您可以透過 Fabric 工作區的網址列 URL 取得工作區識別碼。
以下是可透過 ARM 範本建立的資源執行個體規則的範例。 如需完整的範例,請參閱 ARM 範本範例。
"resourceAccessRules": [
{ "tenantId": " aaaabbbb-0000-cccc-1111-dddd2222eeee",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
}
]
透過PowerShell腳本的資源實例規則
您可以使用下列腳本,透過PowerShell建立資源實例規則。
$resourceId = "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/<YOUR_WORKSPACE_GUID>"
$tenantId = "<YOUR_TENANT_ID>"
$resourceGroupName = "<RESOURCE_GROUP_OF_STORAGE_ACCOUNT>"
$accountName = "<STORAGE_ACCOUNT_NAME>"
Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $accountName -TenantId $tenantId -ResourceId $resourceId
信任的服務例外狀況
如果你選擇了 Blob 儲存體 或 ADLS 帳號的可信服務例外,且該帳號已啟用從特定虛擬網路和 IP 位址開啟公共網路存取,擁有工作區身份的 Fabric 工作區就能存取該儲存帳號。 當你選擇可信服務例外(trusted service exception)方框時,租戶 Fabric 容量中任何擁有工作區身份的工作空間都可以存取儲存帳號中儲存的資料。
不建議使用此設定,而且未來可能會停止支援此設定。 建議您使用資源執行個體規則來授與特定資源的存取權。
誰可以設定儲存體帳戶以進行受信任的服務存取?
儲存體帳戶上的參與者 (Azure RBAC 角色) 可以設定資源執行個體規則或信任的服務例外狀況。
如何在 Fabric 中使用受信任的工作區存取
有數種方式可以使用受信任的工作區存取權,以安全的方式從 Fabric 存取您的數據:
您可以在 Fabric Lakehouse 中建立新的 ADLS 捷徑,以開始使用 Spark、SQL 和 Power BI 分析您的資料。
您可以建立管 線 ,使用受信任的工作區存取權,直接存取已啟用防火牆的 ADLS Gen2 帳戶。
您可以使用 T-SQL Copy 陳述式,利用受信任的工作區存取將資料內嵌至 Fabric 倉儲。
您可以使用語意模型(匯入模式)來利用受信任的工作區存取權,並建立數據的模型和報表。
您可以使用 AzCopy ,以效能將資料從已啟用防火牆的 Azure 儲存體帳戶載入至 OneLake。
下列各節將示範如何使用這些方法。
建立具有受信任工作區存取權之儲存體帳戶的 OneLake 捷徑
當你在 Fabric 中設定工作區身份,並在 Blob 儲存體 或 ADLS 儲存帳號啟用受信任工作區存取時,你可以建立 OneLake 捷徑來存取 Fabric 的資料。 你只需要在 Fabric Lakehouse 裡建立一個新的 Blob 儲存體 或 ADLS 捷徑,就可以開始用 Spark、SQL 和 Power BI 分析你的資料。
Note
- 工作區中符合必要條件的預先存在的捷徑會自動開始支援受信任的服務存取。
- 您必須使用儲存體帳戶的 DFS URL 識別碼。 以下是範例:
https://StorageAccountName.dfs.core.windows.net - 服務主體也可以為具有受信任存取權的儲存帳戶建立快捷方式。
Steps
首先,在 Lakehouse 中建立新的捷徑。
[新增捷徑] 精靈隨即開啟。
在 [外部來源] 下,選取 [Azure Data Lake Storage Gen2]。
提供已設定受信任工作區存取權之儲存體帳戶的 URL,然後選擇連線的名稱。 針對 [驗證種類],選擇 [組織帳戶] 或 [服務主體]。
完成時,請選取 [下一步]。
提供捷徑名稱和子路徑。
完成後,請選擇 [建立]。
湖屋捷徑已建立,您現在應能在此捷徑中預覽儲存資料。
使用 OneLake 捷徑來連接具有信賴工作區存取的儲存體帳戶在 Fabric 項目中
使用 Fabric 中的 OneCopy,您可以從所有 Fabric 工作負載中,信賴地存取 OneLake 捷徑。
Spark:您可以使用 Spark 從 OneLake 捷徑存取資料。 在 Spark 中使用捷徑時,它們會在 OneLake 中顯示為資料夾。 您只需引用資料夾名稱即可存取資料。 您可以使用 OneLake 捷徑存取 Spark 筆記本中具有受信任工作區存取權的儲存體帳戶。
SQL 分析端點:在 Lakehouse 的 [資料表] 區段中建立的捷徑也可以在 SQL 分析端點中使用。 您可以開啟 SQL 分析端點,並像查詢任何其他資料表一樣查詢資料。
管線:管線可以存取具有受信任工作區存取權的儲存體帳戶的受控快捷方式。 管線可用來透過 OneLake 快捷方式讀取或寫入儲存體帳戶。
資料流程 v2:資料流程 Gen2 可用於存取具有受信任工作區存取權之儲存體帳戶的受控捷徑。 Dataflows Gen2 可以透過 OneLake 快捷方式讀取或寫入儲存帳戶。
語意模型和報告:與 Lakehouse 的 SQL 分析端點相關聯的預設語意模型可以讀取具有受信任工作區存取權之儲存體帳戶的受控捷徑。 若要查看預設語意模型中的受控資料表,請前往 SQL 分析端點項目,選取 [報告],然後選擇 [自動更新語意模型]。
您也可以建立新的語意模型,參考具有受信任工作區訪問權限的儲存帳戶捷徑。 移至 SQL 分析端點,選取 [報告],然後選擇 [ 新增語意模型]。
您可以在預設語意模型和自訂語意模型之上建立報告。
KQL 資料庫:您也可以在 KQL 資料庫中建立 ADLS Gen2 的 OneLake 捷徑。 建立具有受信任工作區存取權的受控捷徑的步驟保持不變。
建立具有受信任工作區存取權的儲存體帳戶管線
在 Fabric 中設定工作區身分識別,並在 ADLS Gen2 儲存體帳戶中啟用信任存取權後,您可以建立管線,以從 Fabric 存取資料。 您可以建立新的管線,將資料複製到 Fabric 湖庫,然後就可以開始使用 Spark、SQL 和 Power BI 分析資料。
Prerequisites
- 與已購買的 Microsoft Fabric 容量(F SKU)關聯的 Fabric 工作區。 請參閱工作區身分識別。
- 建立與 Fabric 工作區相關聯的工作區身分識別。
- 用於管線中驗證的主體應該在記憶體帳戶上具有 Azure RBAC 角色。 主體必須在儲存體帳號範疇內具有儲存體 Blob 資料參與者角色、儲存體 Blob 資料擁有者角色或儲存體 Blob 資料讀者角色。
- 設定儲存體帳戶的資源實例規則。
Steps
首先,在湖倉中選取 [取得資料]。
選擇 新增管線。 提供管線的名稱,然後選取 [建立]。
選擇 Azure Data Lake Gen2 或 Azure Blobs 作為資料來源。
提供已設定受信任工作區存取權之儲存體帳戶的 URL,然後選擇連線的名稱。 針對 [驗證種類],選擇 [組織帳戶] 或 [服務主體]。
完成時,請選取 [下一步]。
選擇您需要複製到 Lakehouse 的檔案。
完成時,請選取 [下一步]。
在 [檢閱 + 儲存] 畫面上,選取 [立即開始資料傳輸]。 完成時,選取 [儲存 + 執行]。
當管線狀態從已排入佇列變更為成功時,前往湖庫並確認資料表已建立。
使用 T-SQL COPY 陳述式將資料內嵌至倉儲
當你在 Fabric 中設定工作區身份,並在 Blob 儲存體 或 ADLS 儲存帳號啟用信任存取時,你可以使用 COPY T-SQL 語句將資料匯入 Fabric 倉庫。 將資料匯入倉庫後,你可以開始用 SQL 和 Power BI 分析資料。 擁有管理員、成員、貢獻者或檢視者工作空間角色,或在倉庫中擁有讀取權限的使用者,可以搭配 T-SQL COPY 指令使用受信任存取權限。
建立具有受信任工作區存取權的語意模型
匯入模式中的語意模型支援對記憶體帳戶的受信任工作區存取。 使用此功能為防火牆啟用的 Blob 儲存體 或 ADLS 儲存帳號建立模型與報告。
Prerequisites
- 與已購買的 Microsoft Fabric 容量(F SKU)關聯的 Fabric 工作區。 請參閱工作區身分識別。
- 建立與 Fabric 工作區相關聯的工作區身分識別。
- ADLS Gen2 儲存帳戶的連線。 在系結至語意模型的連線中,用於驗證的主體應該在記憶體帳戶上具有 Azure RBAC 角色。 主體必須在儲存體帳號範疇內具有儲存體 Blob 資料參與者角色、儲存體 Blob 資料擁有者角色或儲存體 Blob 資料讀者角色。
- 設定儲存體帳戶的資源實例規則。
Steps
- 請按照使用 Power BI 分析 Azure Data Lake Storage Gen2 中的數據中所列的步驟,在 Power BI Desktop 中建立語意模型,以連接到 ADLS Gen2 儲存帳戶。 您可以使用組織帳戶連線到 Desktop 中的 Azure Data Lake Storage Gen2。
- 將模型匯入使用工作區身分識別設定的工作區。
- 流覽至模型設定,然後展開 [網關和雲端連線] 區段。
- 在 [雲端連線] 下,選取 ADLS Gen2 儲存器帳戶的數據連線(此連線可以有工作區身分識別、服務主體和組織帳戶作為驗證方法)
- 選取 [套用 ],然後重新整理模型以完成設定。
使用 AzCopy 和受信任的工作區存取權載入資料
設定受信任的工作區存取權後,AzCopy 複製作業可以存取儲存在已啟用防火牆的 Azure 儲存體帳戶中的資料,讓您以效能的方式將資料從 Azure 儲存體載入至 OneLake。
Prerequisites
- 與所購買的 Microsoft Fabric 容量(F SKU)相關聯的 Fabric 工作區。 請參閱工作區身分識別。
- 安裝 AzCopy 並使用用於驗證的主帳戶登入。 請參閱 開始使用 AzCopy。
- 建立與 Fabric 工作區相關聯的工作區身分識別。
- 快捷方式中用於驗證的主體應該在記憶體帳戶上具有 Azure RBAC 角色。 主體必須在記憶體帳戶範圍中具有記憶體 Blob 數據參與者、記憶體 Blob 數據擁有者或記憶體 Blob 數據讀取者角色,或記憶體帳戶範圍中的記憶體 Blob 委派器角色,以及容器內資料夾層級的存取權。 您可以透過容器層級的 RBAC 角色,或透過特定資料夾層級的權限來提供資料夾的存取權。
- 設定儲存體帳戶的資源實例規則。
Steps
- 使用可存取 Azure 儲存體帳戶和 Fabric 專案的主體登入 AzCopy。 選擇包含已啟用防火牆的 Azure 儲存體帳戶的訂閱。
azcopy login
- 建置您的 AzCopy 命令。 您需要複製來源、目的地和至少一個參數。
- source-path:已啟用防火牆的 Azure 儲存體帳戶中的檔案或目錄。
- destination-path:OneLake 中資料的登陸區域。 例如,Lakehouse 中的 /Files 資料夾。
- --trusted-microsoft-suffixes:必須包含 “fabric.microsoft.com”。
azcopy copy "https://<source-account-name>.blob.core.windows.net/<source-container>/<source-path>" "https://onelake.dfs.fabric.microsoft.com/<destination-workspace>/<destination-path>" --trusted-microsoft-suffixes "fabric.microsoft.com"
- 執行 copy 命令。 AzCopy 會使用您登入時使用的身分識別來存取 OneLake 和 Azure 儲存體。 複製作業是同步的,因此當指令傳回時,會複製所有檔案。 如需搭配 OneLake 使用 AzCopy 的詳細資訊,請參閱 AzCopy。
限制與考量
支援的案例和限制
- 受信任的工作區存取支援已購買的 Microsoft Fabric 容量(F SKUs)中的工作區。
- 您只能在 OneLake 快捷方式、管線、語意模型、T-SQL COPY 陳述式和 AzCopy 中使用受信任的工作區存取。 若要從 Fabric Spark 安全地存取儲存體帳戶,請參閱適用於 Fabric 的受控私人端點。
- 管線無法寫入擁有已授信工作區存取權的儲存體帳戶上的 OneLake 資料表捷徑。 這是暫時性限制。
- 如果您在快捷方式、管線和語意模型以外的 Fabric 專案中,或在其他工作區中重複使用支援受信任工作區存取的連線,它們可能無法運作。
- 受信任的工作區存取與跨租使用者要求不相容。
驗證方法和連線管理
- 您可以在 管理連線和閘道中建立信任工作區存取的連線;不過,工作區身分識別是唯一支援的驗證方法。 如果使用組織帳戶或服務主體驗證方法,則測試連線會失敗。
- 只有 組織帳戶、服務主體和 工作區身分識別 的驗證方法可用於存取快捷方式、管線以及其他方式中用於受信工作區的存儲帳戶的身份驗證。
- 如果您想要使用服務主體帳戶或組織帳戶作為連線到啟用防火牆的儲存帳戶的驗證方法,您可以使用快捷方式的創建體驗、管線的創建體驗,或 Power BI 快速報告的體驗來建立連線。 稍後,您可以將此連線繫結至語意模型,以及其他捷徑和管線。
- 如果語意模型使用個人雲端連線,您只能使用工作區身分識別作為記憶體受信任存取的驗證方法。 建議將個人雲端連線取代為共用雲端連線。
- 已啟用防火牆的儲存體帳戶連線在 [管理連線和閘道] 中的狀態為 [離線 ]。
遷移和現有的捷徑
- 如果您將具有工作區身分識別的工作區遷移至非 Fabric 容量、非 F SKU Fabric 容量或試用容量,受信任的工作區存取會在一小時後失效。
- 在 2023 年 10 月 10 日之前建立的預先存在的捷徑不支援信任的工作區存取。
- 符合必要條件的工作區中預先存在的捷徑將自動開始支援受信任的服務存取。
安全性、網路和資源配置
- 受信任的工作區存取僅適用於從選取的虛擬網路和IP位址啟用公用存取,或停用公用存取時。
- 必須透過 ARM 範本建立 Fabric 工作區的資源執行個體規則。 不支援透過 Azure 入口網站 UI 建立的資源執行個體規則。
- 最多可以設定 200 個資源執行個體規則。 如需詳細資訊,請參閱 Azure 訂用帳戶限制和配額 - Azure Resource Manager。
- 如果您的組織具有包含所有服務主體的工作負載身分識別的 Microsoft Entra 條件式存取原則,則受信任的工作區存取將無法運作。 在這種情況下,您需要從工作負載身分識別的條件式存取原則中排除特定的 Fabric 工作區身分識別。
ARM 範本範例
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-01-01",
"name": "<storage account name>",
"id": "/subscriptions/<subscription id of storage account>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>",
"location": "<region>",
"kind": "StorageV2",
"properties": {
"networkAcls": {
"resourceAccessRules": [
{
"tenantId": "<tenantid>",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabric/providers/Microsoft.Fabric/workspaces/<workspace-id>"
}]
}
}
}
]
}