Share via


身分識別最佳做法

本文提供如何在 Azure Databricks 中最佳設定身分識別的觀點。 其中包含如何移轉至身分識別同盟的指南,可讓您管理 Azure Databricks 帳戶中的所有使用者、群組和服務主體。

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

如需如何安全地存取 Azure Databricks API 的資訊,請參閱 保護 API 驗證

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

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

  • 使用者:Azure Databricks 所辨識的使用者身分識別,並以電子郵件位址表示。
  • 服務主體:與作業、自動化工具和系統搭配使用的身分識別,例如腳本、應用程式和 CI/CD 平臺。
  • 群組:群組可簡化身分識別管理,讓您更輕鬆地指派工作區、數據和其他安全性實體物件的存取權。

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

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

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

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

Databricks 建議每個帳戶和每個工作區中的帳戶管理員數目有限。

將使用者和群組從 Microsoft Entra ID (先前稱為 Azure Active Directory) 同步至您的 Azure Databricks 帳戶

Databricks 建議使用 SCIM 布建,將使用者和群組自動從 Microsoft Entra ID(先前稱為 Azure Active Directory)同步處理到您的 Azure Databricks 帳戶。 SCIM 使用 Microsoft Entra ID 在 Azure Databricks 中建立使用者和群組,併為他們提供適當的存取層級,以簡化新員工或小組的上線。 當使用者離開您的組織或不再需要存取 Azure Databricks 時,系統管理員可以終止 Microsoft Entra ID 中的使用者,而且該用戶帳戶也會從 Azure Databricks 中移除。 這可確保一致的下架程式,並防止未經授權的使用者存取敏感數據。

您應該將想要使用 Azure Databricks 的所有使用者和群組同步處理到帳戶控制台,而不是個別工作區。 如此一來,您只需要設定一個 SCIM 布建應用程式,讓帳戶中所有工作區的所有身分識別保持一致。

重要

如果您已經有將身分識別直接同步至工作區的 SCIM 連接器,則必須在啟用帳戶層級 SCIM 連接器時停用這些 SCIM 連接器。 請參閱 升級至身分識別同盟

帳戶層級 SCIM 圖表

帳戶層級 SCIM 圖表

如果您的身分識別提供者中有10,000個以下的使用者,Databricks建議您在識別提供者中指派一個群組,其中包含所有使用者到帳戶層級 SCIM 應用程式。 然後,可以使用身分識別同盟,將特定使用者、群組和服務主體從帳戶指派給 Azure Databricks 內的特定工作區。

啟用身分識別同盟

身分識別同盟可讓您在帳戶控制台中設定用戶、服務主體和群組,然後將這些身分識別存取權指派給特定工作區。 這可簡化 Azure Databricks 管理和數據控管。

重要

如果您的帳戶是在 2023 年 11 月 9 日之後建立的,則預設會在所有新的工作區上啟用身分識別同盟,而且無法停用。

使用身分識別同盟時,您會在帳戶控制台中設定 Azure Databricks 使用者、服務主體和群組一次,而不是在每個工作區中個別重複設定。 這兩者都會減少將新小組上架至 Azure Databricks 的摩擦,並可讓您使用 Microsoft Entra ID 將一個 SCIM 布建應用程式維護至 Azure Databricks 帳戶,而不是針對每個工作區個別的 SCIM 布建應用程式。 將使用者、服務主體和群組新增至帳戶之後,您就可以在工作區上指派許可權。 您只能將帳戶層級身分識別存取權指派給已啟用身分識別同盟的工作區。

帳戶層級身分識別圖表

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

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

不過,當群組使用工作區層級介面新增至非身分識別同盟工作區時,該群組是 工作區本機群組 ,且不會新增至帳戶。 您應該的目標是使用帳戶群組,而不是工作區本地組。 Unity 目錄中的訪問控制原則或其他工作區的許可權無法授與工作區-本地組。

升級至身分識別同盟

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

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

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

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

    Databricks 建議將現有的工作區本地組轉換成帳戶群組。 如需指示,請參閱 將工作區本地組移轉至帳戶群組

指派群組工作區許可權

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

新增工作區許可權

深入了解