管理服務主體

本文解釋如何為Databricks帳戶和工作區創建和管理服務主體。

有關Databricks標識模型的概述,請參見數據庫身份和角色

什麼是服務主體?

服務主體是在Databricks中創建的標識,用於自動化工具、作業和應用程序。服務主體為自動化工具和腳本提供了對Databricks資源的僅api訪問,這比使用用戶或組提供了更高的安全性。它還可以防止在用戶離開組織或修改組時作業和自動化失敗。

可以像Databricks用戶那樣授予和限製服務主體對資源的訪問。例如:

  • 給一個服務主體帳戶admin和工作空間admin角色。

  • 給一個服務主體訪問數據的權限,可以在帳戶級別使用Unity Catalog,也可以在工作空間級別。

  • 添加工作區權限到服務主體。

  • 向組中添加服務主體在帳戶和工作空間級別,包括工作空間管理員組。

與Databricks用戶不同,服務主體是一個僅限api的標識;無法訪問Databricks界麵。

請注意

服務主體在Databricks中進行管理。它們不與穀歌雲服務帳戶

Databricks建議您為標識聯合啟用工作區這樣您就可以在帳戶中管理服務主體。如果您的工作空間沒有啟用身份聯合,您可以使用工作空間級別的SCIM api創建和管理服務主體。

向Databricks帳戶添加一個服務主體

帳戶管理員可以使用帳戶控製台或SCIM(帳戶)API向Databricks帳戶添加服務主體。

使用帳戶控製台向帳戶添加服務主體

使用帳戶控製台向帳戶添加服務主體:

  1. 以admin帳戶登錄賬戶控製台

  2. 點擊Account控製台用戶管理圖標用戶管理

  3. 服務主體選項卡上,單擊添加服務主體

  4. 為服務主體輸入一個名稱。

  5. 點擊添加

要使用服務主體,必須將它們添加到工作空間,並在工作空間中為它們生成訪問令牌。看到向工作區添加服務主體

使用SCIM(帳戶)API將服務主體添加到您的帳戶

帳戶管理員可以使用SCIM帳戶API在Databricks帳戶中添加和管理服務主體。

工作區管理員也可以使用此API創建和管理服務主體,但他們必須使用不同的端點URL調用API:

  • 帳戶管理員使用accounts.gcp.m.eheci.com/api/2.0/accounts/ {account_id} / scim / v2 /

  • 工作區管理員使用{workspace-domain} / api / 2.0 /賬戶/ scim / v2 /

詳細信息請參見SCIM API 2.0(帳戶)

從Databricks帳戶中刪除服務主體

帳戶管理員可以從Databricks帳戶中刪除服務主體。工作空間管理員則不能。當您從帳戶中刪除服務主體時,該主體也將從其工作空間中刪除。

重要的

當您從帳戶中刪除服務主體時,該服務主體也將從其工作區中刪除,而不管是否啟用了身份聯邦。我們建議不要刪除帳戶級別的服務主體,除非您希望它們失去對帳戶中所有工作區的訪問權。注意刪除服務主體的後果如下:

  • 使用服務主體生成的令牌的應用程序或腳本將不再能夠訪問Databricks API

  • 服務主體擁有的作業將失敗

  • 服務主體所擁有的集群將停止

  • 由服務主體創建並使用Run as Owner憑據共享的查詢或儀表板必須分配給新的所有者,以防止共享失敗

要使用帳戶控製台刪除服務主體,請執行以下操作:

  1. 以admin帳戶登錄賬戶控製台

  2. 點擊Account控製台用戶管理圖標用戶管理

  3. 服務主體選項卡,找到並單擊用戶名。

  4. 主要信息選項卡,單擊烤肉串菜單在右上角的烤肉菜單中選擇刪除

  5. 在彈出的確認對話框中,單擊確認刪除

向工作區添加服務主體

帳戶管理員可以向標識聯邦工作區使用帳戶控製台和工作區分配API。

工作區管理員可以在其標識聯邦工作區使用工作區管理控製台和工作區分配API。

工作空間管理員可以使用工作空間級別的SCIM (ServicePrincipals) API在其非標識聯邦工作空間中管理服務主體。

使用帳戶控製台將服務主體分配到工作區

要使用帳戶控製台向工作空間添加服務主體,必須啟用工作空間的身份聯合功能。

  1. 以admin帳戶登錄賬戶控製台

  2. 點擊工作空間的圖標工作區

  3. 權限選項卡上,單擊添加權限

  4. 搜索並選擇服務主體,分配權限級別(工作區用戶管理),並按保存

使用管理控製台將服務主體添加到工作區

要使用工作空間管理控製台向工作空間添加服務主體,必須啟用工作空間的身份聯合功能。

  1. 作為一個工作空間管理員,登錄到Databricks工作空間。

  2. 在Databricks工作區的頂部欄中單擊您的用戶名並選擇管理控製台

  3. 服務主體選項卡上,單擊添加服務主體

  4. 選擇一個現有的服務主體分配給工作區,或者創建一個新的。

    若要創建新的服務主體,請單擊搜索框中的下拉箭頭,然後單擊+添加新的服務主體

請注意

如果您的工作空間未啟用聯合身份驗證,則不能將現有帳戶服務主體分配到工作區,也不能使用管理控製台將新服務主體添加到工作區。

使用REST api將服務主體分配給工作空間

可用於將服務主體分配給工作空間的REST api取決於工作空間是否啟用聯合身份驗證

從工作區中刪除服務主體

帳戶管理員可以將服務主體刪除到標識聯邦工作區使用帳戶控製台和工作區分配API。

工作區管理員可以在其標識聯邦工作區使用工作區管理控製台和工作區分配API。

工作空間管理員可以使用工作空間級別的SCIM (ServicePrincipals) API刪除其非標識聯邦工作空間中的服務主體。

使用帳戶控製台從工作區中刪除服務主體

若要使用帳戶控製台從工作區中刪除服務主體,必須啟用工作區聯合身份驗證

  1. 點擊工作空間的圖標工作區

  2. 權限選項卡,查找服務主體。

  3. 單擊烤肉串菜單烤肉菜單在服務主行最右側並選擇刪除

  4. 在彈出的確認對話框中,單擊刪除

使用管理控製台從工作區中刪除服務主體

若要使用管理控製台從工作空間刪除服務主體,必須啟用該工作空間聯合身份驗證

  1. 作為一個工作空間管理員,登錄到Databricks工作空間。

  2. 在Databricks工作區的頂部欄中單擊您的用戶名並選擇管理控製台

  3. 服務主體選項卡,找到服務主體並單擊移除用戶圖標在用戶行最右邊。

  4. 點擊刪除來確認。

使用REST api從工作區中刪除服務主體

可用於從工作空間刪除服務主體的REST api取決於工作空間是否啟用了身份聯合,如下所示:

管理服務主體的訪問令牌

要將服務主體驗證為Databricks上的api,管理員可以代表服務主體創建Databricks個人訪問令牌。

  1. 授予可以使用令牌權限到服務主體。

  2. 屬性為服務主體創建Databricks個人訪問令牌帖子/令牌管理/代表/令牌令牌管理REST API.管理員還可以列出個人訪問令牌,並使用相同的API刪除它們。

請注意

不能在Databricks UI中為服務主體創建、列出或管理令牌。

管理服務主體的授權

授權是允許用戶、服務主體或組以指定的方式與Databricks交互的屬性。授權被分配給工作空間級別的用戶。下表列出了用於管理每個授權的工作區UI和API屬性名。您可以使用工作區管理控製台和工作區級別SCIM REST接口權限管理。

授權名稱(UI)

授權名稱(API)

默認的

描述

工作空間的訪問

workspace-access

默認允許。

當授予用戶或服務主體時,他們可以訪問數據科學與工程和Databricks機器學習基於人物的環境。

不能從工作空間管理員中刪除。

Databricks SQL訪問

databricks-sql-access

默認允許。

當授予用戶或服務主體時,它們可以訪問Databricks SQL。

允許無限製地創建集群

allow-cluster-create

默認情況下不授予用戶或服務主體。

當授予用戶或服務主體時,它們可以創建集群。可以使用。限製對現有集群的訪問集群級別的權限

不能從工作空間管理員中刪除。

允許創建池(不能通過UI)

allow-instance-pool-create

不能授予單個用戶或服務主體。

當授予一個組時,其成員可以創建實例池。

不能從工作空間管理員中刪除。

要為服務主體添加或刪除授權,請使用工作空間的SCIM API 2.0 (ServicePrincipals)API。