分享方式:


識別最佳做法

本文就如何在 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 的使用者和群組同步至 Azure Databricks 帳戶

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

您應該將 Microsoft Entra ID 中的所有使用者和群組同步處理至帳戶主控台,而不是個別工作區。 如此一來,您只需要設定一個 SCIM 佈建應用程式,讓帳戶中的所有工作區的所有身分識別保持一致。 請參閱 啟用所有Microsoft Entra ID 使用者以存取 Azure Databricks

重要

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

帳戶層級 SCIM 圖表

帳戶層級 SCIM 圖表

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

啟用識別身分同盟

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

重要

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

使用識別身分同盟時,您只需要在帳戶主控台中設定 Azure Databricks 使用者、服務主體和群組一次,而不是在每個工作區中分別重複設定。 這既減少了新團隊加入 Azure Databricks 的摩擦,又可讓您使用 Azure Databricks 帳戶的 Microsoft Entra ID 維護一個 SCIM 佈建應用程式,而不是為每個工作區使用單獨的 SCIM 佈建應用程式。 將使用者、服務主體和群組新增至帳戶之後,就可以在工作區上指派權限。 您只能將帳戶層級身分識別存取權指派給已啟用識別身分同盟的工作區。

帳戶層級身分識別圖表

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

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

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

升級至識別身分同盟

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

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

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

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

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

指派群組工作區權限

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

新增工作區權限

深入了解