共用方式為


識別最佳做法

本文就如何在 Azure Databricks 中以最佳方式設定身分識別提供了真知灼見。 其中包括了如何移轉至識別身分同盟的指引,這可讓您管理 Azure Databricks 帳戶中的所有使用者、群組和服務主體。

如需 Azure Databricks 身分識別模型的概觀,請參閱 Azure Databricks 身分識別

如需如何安全地存取 Azure Databricks API 的資訊,請參閱管理個人存取權杖權限

設定使用者、服務主體和群組

Azure Databricks 身分識別有三種類型:

  • 使用者:由 Azure Databricks 辨識並透過電子郵件地址表示的使用者身分識別。
  • 服務主體:服務識別,用於作業、自動化工具和系統,例如指令碼、應用程式和 CI/CD 平台。
  • 群組:群組可簡化身分識別管理,讓您更輕鬆地指派對工作區、資料和其他安全性實體物件的存取權。

Databricks 建議建立服務主體來執行生產作業或修改生產資料。 如果使用服務主體執行生產資料的所有程序,互動式使用者就不需要在生產環境中執行任何寫入、刪除或修改權限。 這可避免使用者意外覆寫生產資料的風險。

最佳做法是將 Unity 目錄中工作區的存取權和訪問控制原則指派給群組,而不是個別指派給使用者。 所有 Azure Databricks 身分識別都可以指派為群組的成員,而成員會繼承指派給其群組的權限。

以下是可管理 Azure Databricks 身分識別的系統管理角色:

  • 帳戶管理員可以將使用者、服務主體和群組新增至帳戶,並指派系統管理員角色。 只要這些工作區使用識別身分同盟,他們可以讓使用者存取工作區。
  • 工作區管理員可以將使用者、服務主體新增至 Azure Databricks 帳戶。 如果已啟用識別身分同盟的工作區,也可以將群組新增至 Azure Databricks 帳戶。 工作區管理員可以將工作區的存取權授與用戶、服務主體和群組。
  • 群組管理員可以管理群組成員資格。 他們也可以為其他使用者指派群組管理員角色。
  • 服務主體管理員可以在服務主體上管理角色。

Databricks 建議為每個帳戶安排有限數量的帳戶管理員,為每個工作區安排有限數量的工作區管理員。

從 Microsoft Entra ID 自動同步使用者和群組 (公開預覽)

您可以將使用者、服務主體和群組從 Microsoft Entra ID 新增至 Azure Databricks,而不需使用自動身分識別管理在 Microsoft Entra ID 中設定應用程式。 啟用自動身分識別管理時,您可以直接在身分識別同盟工作區中搜尋 Microsoft Entra ID 使用者、服務主體和群組,並將其新增至您的工作區。 Databricks 會使用 Microsoft Entra 標識符作為事實來源,因此 Azure Databricks 中會尊重使用者或群組成員資格的任何變更。

使用者也可以在 Microsoft Entra ID 中,與任何使用者、服務主體或群組共用儀錶板。 這些使用者會在登入時自動新增至 Azure Databricks 帳戶。

只有身分識別同盟工作區才支持自動身分識別管理。 如需身分識別同盟的詳細資訊,請參閱 從 Microsoft Entra ID自動同步使用者和群組。

啟用識別身分同盟

識別身分同盟可讓您在帳戶主控台中設定使用者、服務主體和群組,然後向其指派特定工作區的身分識別存取權。 這可簡化 Azure Databricks 管理和資料控管。

重要

Databricks 於 2023 年 11 月 9 日自動啟用身分識別同盟和 Unity 目錄的新工作區,並逐步跨帳戶進行推出。 如果您的工作區預設為識別身分同盟啟用,則無法停用。 如需更詳細的資訊,請參閱 自動啟用 Unity Catalog

使用身分識別同盟時,您會在帳戶控制台中設定 Azure Databricks 使用者、服務主體和群組一次,而不是在每個工作區中個別重複設定。 將使用者、服務主體和群組新增至帳戶之後,就可以在工作區上指派權限。 您只能將帳戶層級身分識別存取權指派給已啟用識別身分同盟的工作區。

帳戶層級身分識別圖表

若要啟用身分識別同盟的工作區,請參閱 啟用身分識別同盟。 指派完成時,識別身分同盟會在帳戶控制台的工作區 [組態] 索引標籤上標示為 [已啟用]

識別身分同盟會在工作區層級啟用,而且您可以結合識別身分同盟和非識別身分同盟工作區。 對於未啟用識別身分同盟的工作區,工作區管理員會完全在工作區範圍內管理其工作區使用者、服務主體和群組 (舊版模型)。 他們無法使用帳戶主控台或帳戶層級 API,將帳戶中的使用者指派給這些工作區,但可以使用任何工作區層級介面。 每當使用工作區層級介面將新的使用者或服務主體新增至工作區時,該使用者或服務主體就會同步至帳戶層級。 這可讓您在帳戶中擁有一組一致的用戶和服務主體。

不過,當使用工作區層級介面將群組新增至非識別身分同盟工作區時,該群組是工作區本機群組,且不會新增至帳戶。 您應該致力於使用帳戶群組,而不是工作區本機群組。 無法在 Unity Catalog 中為工作區本地的群組授與存取控制原則或其他工作區的權限。

升級至識別身分同盟

如果您要在現有的工作區上啟用識別身分同盟,請執行下列動作:

  1. 將工作區層級 SCIM 佈建移轉至帳戶層級

    如果您已在工作區設定 SCIM 佈建,您應該設定帳戶層級的 SCIM 佈建,並停用工作區層級的 SCIM 佈建功能。 工作區層級 SCIM 將繼續建立及更新工作區本地組。 Databricks 建議使用帳戶群組,而不是使用工作區本地組,利用 Unity 目錄的集中式工作區指派和數據存取管理。 工作區層級 SCIM 也無法識別指派給識別身分同盟工作區的帳戶群組,如果涉及帳戶群組,工作區層級 SCIM API 呼叫將會失敗。 如需關於如何停用工作區層級 SCIM 的詳細資訊,請參閱將工作區層級 SCIM 佈建移轉至帳戶層級

  2. 將工作區本機群組轉換為帳戶群組

    Databricks 建議將現有的工作區本機群組轉換成帳戶群組。 有關指示,請參閱將工作區本機群組移轉到帳戶群組

指派群組工作區權限

現在已在工作區上啟用識別身分同盟,可以在該工作區的帳戶權限中指派使用者、服務主體和群組。 Databricks 建議您將群組權限指派給工作區,而不是將工作區權限單獨指派給使用者。 所有 Azure Databricks 身分識別都可以指派為群組的成員,而成員會繼承指派給其群組的權限。

新增工作區權限

深入了解