Microsoft Fabric 可與多種資料來源合作,涵蓋本地端及雲端。 每個資料來源都有特定的設定需求。 這篇文章示範如何將 Azure SQL Server 加入雲端資料來源,其他來源的流程也類似。 如果您需要內部部署資料來源的協助,請參閱 新增或移除閘道資料來源。
注意
目前,雲端連線可與管線和 Kusto 搭配使用。 對於資料集和資料流,你需要使用 Power Query Online 的「取得資料」體驗來建立個人雲端連線。
新增資料來源
以下是新增資料來源的方法:
打開Microsoft Fabric服務,並在標頭中選擇 Settings 圖示。 然後選取 [管理連線和閘道]。
在 [連線 ] 索引標籤上,選取畫面頂端的 [新增 ]。
在 [新增連線 ] 畫面中:
- 選取 雲端
- 輸入描述性 連線名稱
- 選擇您的 連線類型 (在此範例中使用 SQL Server )
填寫資料來源詳細資料。 針對 SQL Server,您需要:
- 伺服器 名稱
- 資料庫 名稱
選擇您的 驗證方法:
- 基本
- OAuth2
- 服務主體
注意
如果您使用 OAuth2:
- 如果長時間執行的查詢超過 OAuth 權杖到期時間,則可能會失敗
- 不支援跨租戶的 Microsoft Entra 帳號
選用: 在 一般> 下設定隱私權層級。 此設定不會影響 DirectQuery 連線。
選取 ,創建。 成功時,您會在「設定」下看到「已建立新連線」訊息。
建立後,你可以利用這個資料來源來處理支援的 Microsoft Fabric 項目中的 Azure SQL 資料。
允許閘道上的雲端連線使用
建立連線時,您會看到標示為 [此連線可與內部部署資料閘道和 VNet 資料閘道搭配使用] 的設定。 此設定可控制您的連線是否可與閘道搭配使用:
- 未核取時:連線無法與閘道型評估搭配使用
- 當選取此選項時:連線可以進行基於閘道的評估
謹慎
雖然透過 Dataflow Gen2 建立雲端連線時會出現此設定,但目前不會強制執行。 所有可共用的雲端連線都透過閘道運作 (如果有閘道)。
移除資料來源
若要移除不再需要的資料來源,請遵循下列步驟:
- 移至 [管理連線和閘道] 中的 [資料] 畫面
- 選取您的資料來源
- 從頂端功能區選取 [移除]
這很重要
當您移除資料來源時,相依於它的任何項目都會停止運作。
取得資料來源連線識別碼
若要取得用於 Microsoft Fabric 項目或 REST API 的連線 ID,請使用以下其中一種方法:
使用服務介面
移至 管理連線和閘道
在 [連線 設定] 畫面底下,複製數據源的聯機標識符。
使用 REST API
使用 「列出連線」 端點來擷取您的連線資訊:
將 HTTP GET 傳送至 Fabric Connections API,並在
Authorization標頭中包含您的令牌:curl -X GET https://api.fabric.microsoft.com/v1/connections \ -H "Authorization: Bearer $ACCESS_TOKEN"成功的回應會傳回類似下列的 JSON 承載:
{ "value": [ { "id": "bbbbbbbb-1111-2222-3333-cccccccccccc", "displayName": "ContosoConnection1", … }, { "id": "cccccccc-2222-3333-4444-dddddddddddd", "displayName": "ContosoConnection2", … } ], "continuationToken": "…", "continuationUri": "…" }陣列下
id的每個物件value屬性都是連接標識碼。 視需要從回應中擷取id屬性。注意
如果您有超過 100 個連線,請在後續請求上使用
continuationTokenquery 參數來分頁瀏覽所有結果。
這裡有一個範例Python片段,使用 requests 和 Microsoft 驗證資源庫(msal)來呼叫 GET /v1/connections 端點並解析連線 ID:
import requests
import msal
# 1. Acquire token
app = msal.ConfidentialClientApplication(
client_id="YOUR_CLIENT_ID",
client_credential="YOUR_CLIENT_SECRET",
authority="https://login.microsoftonline.com/YOUR_TENANT_ID"
)
result = app.acquire_token_for_client(scopes=["https://api.fabric.microsoft.com/.default"])
token = result["access_token"]
# 2. Call API
headers = {"Authorization": f"Bearer {token}"}
resp = requests.get("https://api.fabric.microsoft.com/v1/connections", headers=headers)
resp.raise_for_status()
# 3. Parse IDs
for conn in resp.json().get("value", []):
print(f"{conn['displayName']}: {conn['id']}")
連線最近度(預覽)
Microsoft Fabric 提供基於使用量的屬性,幫助您更了解連線如何配置與使用。 這些屬性提升了審計的可視性,並支援更安全的連線生命週期管理。
隨著時間推移,連接可能會被重複使用、更換或閒置。 若沒有明確的使用訊號,要判斷連線是否仍然活躍、並且是否安全進行憑證的修改、輪換或移除,會變得困難。 「最後使用時間」功能會引入更多元資料,幫助你做出更明智的決策。
連線元資料中新增了兩個屬性:
最後連結到的項目
顯示最近一次連結到 Fabric 項目的時間。
反映組態活動(例如,當連線與管線或其他產物相關聯時)。
協助辨識近期建立或新重複使用的連線。
此屬性表示連線最後一次設定或關聯於某項目的時間。
最後使用的憑證
顯示連線憑證在執行時最近一次被使用的時間。
反映的是實際執行的使用情況,而不只是設定。
有助於區分已定義的連線與實際使用的連線。
此特性表示連線最後一次用於執行工作負載的時間。
這些特性共同提供配置訊號與執行時使用訊號,以提供更佳的操作洞察。
管理使用者
將雲端資料來源加入閘道之後,您可以授與使用者和安全性群組對特定資料來源的存取權。 資料來源的存取清單僅控制誰可以在包含資料來源資料的項目中使用該資料來源。
注意
與其他使用者共享連線可能會造成未經授權的變更和潛在的數據遺失。 具有數據源存取權的使用者可以寫入數據源,並根據您在建立數據源時選取的預存認證或 SSO 進行連線。 在共用數據源連線之前,請一律確定您共用的使用者或群組帳戶受到信任,而且只有它所需的許可權(在理想情況下是具有窄範圍許可權的服務帳戶)。
將使用者加入至資料來源
選取 [ 設定 ] 圖示,然後開啟 [管理連線和閘道]
在清單中尋找您的資料來源。 使用篩選器或在頂端功能區中搜尋,快速找到雲端連線。
從頂端功能區選取 [管理使用者]
在 「管理使用者」 畫面中:
- 從組織新增使用者或安全性群組
- 選取新的使用者名稱
- 選擇其角色: 使用者、 具有重新共用功能的使用者或 擁有者
選取 [共用] 以授與他們存取權
注意
您必須個別將使用者新增至每一個資料來源 - 每個資料來源都有自己的存取清單。
注意
使用者在「管理連接與閘道」的「連接」標籤中只看到自己有權限的連線。 使用者不屬於的連線不會出現在本頁面,即使使用者是租戶管理員且已啟用 租戶管理 切換。
從資料來源中移除使用者
若要移除存取權,請移至 [管理使用者] 索引標籤,然後從清單中移除使用者或安全性群組。
管理共用權限
控制誰可以在組織中分享連接。 依預設,如果使用者符合以下條件,則可以共用連線:
- 連線擁有者或系統管理員
- 具有共用權限的使用者
連線共用可協助團隊共同作業,同時確保認證安全。 共用連線只能在 Fabric 內運作。
注意
若組織的 Microsoft Entra B2B 訪客使用者屬性阻擋使用者的發現與分享權限,訪客用戶在 Fabric 中分享連線時可能會面臨限制。
限制連線共用
身為租用戶系統管理員,您可以限制誰可以共用連線:
你需要 Power BI 服務管理員權限
打開 Power BI 或 Fabric 設定,然後到 管理連線與閘道
將右上角的租用戶管理開關開啟
選取 [封鎖可共用的雲端連線] ,然後將其開啟。
- 關閉時 (預設):任何使用者都可以共用連線
- 開啟時:封鎖全租用戶的共用
選用:將特定使用者新增至允許清單:
- 搜尋使用者,然後選取 [新增]
- 列出的使用者仍可共用連線
- 其他人被阻止共享
注意
- 阻止共享可能會限制用戶之間的協作
- 當您開啟限制時,現有的共用連線會保持共用狀態
透過管理員 API 管理整個租戶的連線
注意
管理員連線的 API 目前還在預覽階段。 名稱、端點和行為可能會在正式上市前改變。
租戶管理員可以用管理員連線 API 來盤點和管理租戶內的每一個連線,不論是誰建立的,或是在哪個工作區使用。 管理端點涵蓋所有連線類型,不僅限於雲端連線。 與只回傳你擁有或共用的連線擁有者列表( List Connections )端點不同,管理員端點會回傳整個租戶的連線。
呼叫者必須是 Fabric 系統管理員,或使用服務主體並以 Tenant.Read.All 或 Tenant.ReadWrite.All 範圍進行驗證。
這些 API 能幫助你:
- 發現與盤點:列出租戶內的所有連線,並檢視連結器類型、認證類型、端點及近期距離等細節。
- 治理所有權:當原始建立者離開組織時,接管無主連線,並重新指派連線,讓工作負載持續運作。
- 管理安全與合規:識別不安全的憑證類型,並根據你的網路政策審查終端域名。
- 維持營運衛生:尋找重複或過時的連線,刪除不再需要的。
| Operation | API |
|---|---|
| 列出租用戶中的所有連線 | 即將推出 |
| 取得單一連線 | 即將推出 |
| 刪除連線 | 即將推出 |
| 列出連線上的角色指派 | GET /v1/admin/connections/{connectionId}/roleAssignments |
| 新增角色指派(指派一位擁有者) | POST /v1/admin/connections/{connectionId}/roleAssignments |
| 更新角色分配 | PATCH /v1/admin/connections/{connectionId}/roleAssignments/{roleAssignmentId} |
| 刪除角色指派 | DELETE /v1/admin/connections/{connectionId}/roleAssignments/{roleAssignmentId} |
管理員連線 API 參考即將發布。 在可供使用之前,請使用本節中的端點和範例。
若要列出租戶中的所有連線,請對管理連線端點傳送 HTTP GET 要求,並在 Authorization 標頭中附上你的權杖:
GET https://api.fabric.microsoft.com/v1/admin/connections
Authorization: Bearer <token>
成功回應會回傳一個 value 連線物件陣列。 每個物件包含身份、連接類型、連線細節(端點路徑與類型)、隱私等級、憑證細節及連線新近性:
{
"value": [
{
"id": "6952a7b2-aea3-414f-9d85-6c0fe5d34539",
"displayName": "ContosoConnection1",
"gatewayId": "8f72eea3-d989-4a5a-aeed-02b3aaa2ddd0",
"connectivityType": "ShareableCloud",
"connectionDetails": {
"type": "Web",
"path": "https://www.contoso.com"
},
"privacyLevel": "Public",
"credentialDetails": {
"credentialType": "Anonymous",
"singleSignOnType": "None",
"connectionEncryption": "NotEncrypted",
"skipTestConnection": false
},
"connectionRecency": {
"createdDateTime": "2023-05-23T16:22:20Z",
"lastBoundDateTime": "2023-05-26T16:22:20Z",
"lastCredentialUsedDateTime": "2023-05-27T16:22:20Z"
}
}
],
"continuationToken": "LDEsMTAwMDAwLDA%3D"
}
如果您有超過 100 個連線,請在後續請求上使用 continuationToken query 參數來分頁瀏覽所有結果。
取得擁有權或重新指派連線
當連線的原始擁有者離開組織,或你需要將連線轉移給其他擁有者時,請使用角色指派 API 將 擁有者 角色授予使用者或服務主體。 此動作維持相依管線、資料流及其他項目的運行。
要指派擁有者,向連線端 roleAssignments 點發送 HTTP POST 並包含請求主體與角色:
POST https://api.fabric.microsoft.com/v1/admin/connections/{connectionId}/roleAssignments
Authorization: Bearer <token>
Content-Type: application/json
{
"principal": {
"id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"type": "User"
},
"role": "Owner"
}
要查看目前誰有連線存取權,可以發送 HTTP GET 到同一端點,列出所有角色分配。 若要變更現有的指派,請將 HTTP PATCH 傳送至 role,並使用新的 .../roleAssignments/{roleAssignmentId} 值。 要移除存取權限,請向 發送 HTTP DELETE 至 .../roleAssignments/{roleAssignmentId}。