管理服务主体

预览

此功能已在公共预览

本文解释如何为Databricks帐户和工作区创建和管理服务主体。

有关Databricks标识模型的概述,请参见数据库身份和角色

什么是服务主体?

服务主体是在Databricks中创建的标识,用于自动化工具、作业和应用程序。服务主体为自动化工具和脚本提供了对Databricks资源的仅api访问,这比使用用户或组提供了更高的安全性。它还可以防止在用户离开组织或修改组时作业和自动化失败。

可以像Databricks用户那样授予和限制服务主体对资源的访问。例如:

  • 给一个服务主体帐户admin和工作空间admin角色。

  • 给一个服务主体访问数据的权限,可以在帐户级别使用Unity Catalog,也可以在工作空间级别。

与Databricks用户不同,服务主体是一个仅限api的标识;无法访问Databricks界面。

Databricks建议您为标识联合启用工作区这样您就可以在帐户中管理服务主体。如果您的工作空间没有启用身份联合,您可以使用工作空间级别的SCIM api创建和管理服务主体。

帐户管理员可以通过以下接口管理服务主体:

工作空间管理员可以使用以下接口管理工作空间中的服务主体:

有关帐户级身份如何与工作区一起工作的详细信息,请参见管理用户、服务主体和组

有关服务主体及其使用方法的详细信息,请参见Databricks自动化的服务主体

向Databricks帐户添加一个服务主体

帐户管理员可以使用帐户控制台或SCIM(帐户)API向Databricks帐户添加服务主体。

使用帐户控制台向帐户添加服务主体

使用帐户控制台向帐户添加服务主体:

  1. 以admin帐户登录账户控制台

  2. 点击Account控制台用户管理图标用户管理

  3. 服务主体选项卡上,单击添加服务主体

  4. 为服务主体输入一个名称。

  5. 点击添加

要使用服务主体,必须将它们添加到工作空间,并在工作空间中为它们生成访问令牌。看到向工作区添加服务主体

使用SCIM(帐户)API将服务主体添加到您的帐户

帐户管理员可以使用SCIM帐户API在Databricks帐户中添加和管理服务主体。

工作区管理员也可以使用此API创建和管理服务主体,但他们必须使用不同的端点URL调用API:

  • 帐户管理员使用accounts.cloud.www.neidfyre.com/api/2.0/accounts/ {account_id} / scim / v2 /

  • 工作区管理员使用{workspace-domain} / api / 2.0 /账户/ scim / v2 /

使用SCIM API添加一个服务主体:

  1. 使用SCIM API 2.0(帐户)确定服务主体是否已经存在。

  2. 如果服务主体不存在,则使用相同的API创建主体。

  1. 属性将服务主体分配给工作区工作空间分配API

详细信息请参见SCIM API 2.0(帐户)

将帐户管理权限分配给服务主体

通过帐户控制台为帐户admin分配权限,请执行以下操作:

  1. 以admin帐户登录账户控制台

  2. 点击Account控制台用户管理图标用户管理

  3. 服务主体选项卡,找到并单击用户名。

  4. 角色Tab,打开账户管理

从Databricks帐户中删除服务主体

帐户管理员可以从Databricks帐户中删除服务主体。工作空间管理员则不能。当您从帐户中删除服务主体时,该主体也将从其工作空间中删除。

重要的

当您从帐户中删除服务主体时,该服务主体也将从其工作区中删除,而不管是否启用了身份联邦。您应该避免删除帐户级别的服务主体,除非您希望它们失去对帐户中所有工作区的访问权。注意删除服务主体的后果如下:

  • 使用服务主体生成的令牌的应用程序或脚本将不再能够访问Databricks API

  • 服务主体拥有的作业将失败

  • 服务主体所拥有的集群将停止

  • 由服务主体创建并使用Run as Owner凭据共享的查询或仪表板必须分配给新的所有者,以防止共享失败

要使用帐户控制台删除服务主体,请执行以下操作:

  1. 以admin帐户登录账户控制台

  2. 点击Account控制台用户管理图标用户管理

  3. 服务主体选项卡,找到并单击用户名。

  4. 主要信息选项卡,单击烤肉串菜单烤肉菜单到右上方并选择删除

  5. 在弹出的确认对话框中,单击确认删除

向工作区添加服务主体

帐户管理员可以向identity-federated工作区使用以下方法:

  • 帐户控制台

  • 工作空间分配API

工作空间管理员可以使用以下方法管理工作空间中的服务主体:

  • 工作空间管理控制台(如果为标识联合启用了工作空间)

  • 工作空间级别的SCIM (ServicePrincipals) API

  • 工作空间分配API(如果为身份联合启用了工作空间)

使用帐户控制台将服务主体分配到工作区

要使用帐户控制台向工作空间添加服务主体,必须启用工作空间的身份联合功能。

  1. 以admin帐户登录账户控制台

  2. 点击工作空间的图标工作区

  3. 权限选项卡上,单击添加权限

  4. 搜索并选择服务主体,分配权限级别(工作区用户管理),并按保存

使用管理控制台将服务主体添加到工作区

要使用工作空间管理控制台向工作空间添加服务主体,必须启用工作空间的身份联合功能。

  1. 作为一个工作空间管理员,登录到Databricks工作空间。

  2. 在Databricks工作区的顶部栏中单击您的用户名并选择管理控制台

  3. 点击用户设置图标设置并选择管理控制台

  4. 服务主体选项卡上,单击添加服务主体

  5. 选择一个现有的服务主体分配给工作区,或者创建一个新的。

    若要创建新的服务主体,请单击搜索框中的下拉箭头,然后单击+添加新的服务主体

请注意

如果您的工作空间未启用联合身份验证,则不能将现有帐户服务主体分配到工作区,也不能使用管理控制台将新服务主体添加到工作区。

使用REST api将服务主体分配给工作空间

可用于将服务主体分配给工作空间的REST api取决于工作空间是否启用联合身份验证

从工作区中删除服务主体

帐户管理员可以从中删除服务主体identity-federated工作区使用以下方法:

  • 帐户控制台

    • 工作空间分配API

    工作空间管理员可以使用以下方法从工作空间中删除服务主体:

    • 工作空间管理控制台(如果为标识联合启用了工作空间)

    • 工作空间级别的SCIM (ServicePrincipals) API

    • 工作空间分配API(如果为身份联合启用了工作空间)

    使用帐户控制台从工作区中删除服务主体

    若要使用帐户控制台从工作区中删除服务主体,必须启用工作区联合身份验证

    1. 点击工作空间的图标工作区

    2. 权限选项卡,查找服务主体。

    3. 单击烤肉串菜单烤肉菜单在服务主行最右侧并选择删除

    4. 在弹出的确认对话框中,单击删除

    使用管理控制台从工作区中删除服务主体

    若要使用管理控制台从工作空间删除服务主体,必须启用该工作空间联合身份验证

    1. 作为一个工作空间管理员,登录到Databricks工作空间。

    2. 在Databricks工作区的顶部栏中单击您的用户名并选择管理控制台

    3. 管理控制台

    4. 服务主体选项卡,找到服务主体并单击移除用户图标在用户行最右边。

    1. 点击删除来确认。

    使用REST api从工作区中删除服务主体

    可用于从工作空间删除服务主体的REST api取决于工作空间是否启用了身份联合,如下所示:

管理服务主体的访问令牌

要将服务主体验证为Databricks上的api,管理员可以代表服务主体创建Databricks个人访问令牌。

  1. 授予可以使用令牌权限到服务主体。

  2. 属性为服务主体创建Databricks个人访问令牌帖子/令牌管理/代表/令牌令牌管理REST API.管理员还可以列出个人访问令牌,并使用相同的API删除它们。

有关为服务主体创建访问令牌的详细步骤说明,请参见Databricks自动化的服务主体

请注意

不能在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。