轉換角色

你可以以多種方式在 Azure Databricks 中扮演角色。 在所有情況下,你的使用者身份權限會被該角色在會話或連線期間的權限取代,所有動作都歸屬於該角色。

要擔任某個角色,你必須取得 Assume 權限,無論是直接授權還是作為伴奏團體成員。 請參見 「管理群組權限」。

Important

所有分配到工作空間的群組都會繼承該工作區 users 系統群組的權限,該系統群組包含所有工作空間使用者。 當你以某個角色身分運作時,除了直接授與該角色的項目之外,你仍會看到與所有工作區使用者共用的目錄、Unity Catalog 物件、工作區資產和運算資源。 為了限制該角色能看到的內容,可以降低工作空間中系統群組的 users 權限。

工作空間中的角色切換器

使用 角色切換器 來跨整個工作區擔任同一角色。 在整個工作階段期間,所有存取、權限、擁有權和操作皆以該角色為準。

  1. 在 Azure Databricks 工作區中,點選右上方欄的工作區名稱。
  2. 將滑鼠移到目前的工作區(選單頂端項目)上方,即可顯示角色切換子選單。
  3. 在子選單中,點選你想扮演的角色。

使用者介面會重新載入,工作區名稱下方顯示的身分會變更為你所選取的角色。

要切換回使用者身份,請開啟同一個子選單並選擇你的使用者名稱。

Note

如果你沒有看到角色切換子選單,請確認你屬於已指派給工作區的群組,或你已在已指派給工作區的群組上獲得角色切換權限。 請參見 「管理群組權限」。

你可以直接從工作區 URL 中扮演角色,方法是將 aid (假設 ID)查詢參數加入群組的 ID: aid=<group-id>。 開啟該 URL 後,系統會先如同平常一樣以你的一般使用者身分完成驗證,然後自動切換至該角色,因此你不需要使用角色切換功能。

例如,若要開啟已在某個角色身分下運作的工作區:

https://<workspace-url>/?o=<workspace-id>&aid=<group-id>

這對加入書籤或分享可直接進入特定角色的連結很有幫助。 Azure Databricks 會在您於工作區內瀏覽時保留 aid 參數,因此您在該工作階段期間會維持該角色。 切換到其他工作區會清除該設定,因為角色是工作區專屬的。

要查找群組的 ID,請參見 管理群組。 若要切換角色或在開啟連結後回到使用者身份,請使用 角色切換器。

分配給群組的專用運算

當你連接到分配給某個群組的專用運算資源時,你的權限會自動降級到該群組對該計算所有操作的權限。 這等同於在計算會話期間擔任該群組的角色,適用於筆記本、查詢以及其他在計算中執行的工作負載。 與其他方法不同的是,你不會先在工作區介面切換角色:連接計算系統才是將你範圍擴展到群組的。

關於為群組設定專用運算的詳細資訊,請參見 專用運算群組存取。

CLI

當你使用 CLI 驗證 Azure Databricks 工作空間時,CLI 會開啟你的網頁瀏覽器以完成認證流程。 如果你對一個或多個角色擁有「假設權限」,你可以在瀏覽器中選擇以自己的使用者身份身份驗證,或是以這些角色之一進行驗證。

databricks auth login --host <workspace-url>

完成登入流程後,CLI 會使用此設定檔,並以你所選取的角色授權所有作業。 例如:

databricks warehouses list --profile <profile-name>

關於 CLI 認證的詳細資訊,請參見 Databricks CLI 的認證。

API(OAuth 代幣交換)

你可以產生一個限定於特定角色的 OAuth 權杖,並以該角色的身分進行 API 呼叫。 具範圍的權杖會授權以該角色執行所有 API 操作。

若要產生角色範圍限定權杖,請依照 databricks auth login 中的說明執行 ,並在網頁瀏覽器中選取該角色。 產生的代幣其範圍限定於該角色。

你也可以在 OAuth 授權碼流程中,透過傳遞底層群組 ID 作為 assume_group 參數,手動產生角色範圍的 OAuth 令牌。 詳情請參見 Authorize user access to Azure Databricks with OAuth。

第三方 BI 工具

支援 OAuth 的第三方 BI 工具(例如 Tableau 和 Power BI)可以以角色身分進行授權。 設定完成後,BI 工具會以該角色的身分為其執行的所有查詢進行授權。 此授權適用於所有運算與 SQL 倉儲類型。

關於影響 BI 工具與驅動程式在角色扮演時的已知問題,請參見 「已知問題」。

當你擔任一個角色時,會有什麼改變

無論你用哪種方式來扮演一個角色:

  • 筆記本和查詢會以該角色身分執行。 該角色的權限用於所有資料存取及 Unity 目錄操作。
  • 在扮演該角色時所建立的工作,其執行時間會自動設定到該角色。 你也可以設定工作對群組的執行,而不必先假設。 請參見 將「執行身分」設為群組。
  • 這個職位擁有你建立的任何 工作空間資產 (筆記本、SQL 查詢、SQL 倉庫、工作)。
  • 稽核日誌會將 identity_metadata.run_by 記錄為您的使用者身分,並將 identity_metadata.run_as 記錄為角色。

如需了解以角色身分運作時不受支援或僅受部分支援的功能,請參閱 角色型存取控制 (RBAC) 的限制。

下一步

  • 檢閱限制:了解 Azure Databricks 的哪些功能在扮演某個角色時不受支援,或僅受部分支援。 請參見 基於角色的存取控制(RBAC)限制。
  • 限制工作區資產分享:防止以角色身份的使用者分享該角色擁有的工作空間資產。 請參見 工作區資產共享控制。
  • 管理 承擔權限:授予或撤銷群組的 Assume 權限,讓使用者能擔任相應角色。 請參見 「管理群組權限」。