工作空间的SCIM API 2.0 (ServicePrincipals)

预览

此功能已在公共预览

这是一篇关于服务主体的工作空间级SCIM API的参考文章。

您可以使用SCIM (ServicePrincipals)来创建、读取、更新和删除Databricks服务主体。工作区管理员也可以创建或撤销个人访问令牌代表服务主体。您还可以使用此API列出和读取有关服务主体的信息。

有关使用api直接向帐户提供服务主体的信息,请参见SCIM API 2.0(帐户).有关何时使用帐户级或工作区级SCIM配置的信息,请参见帐户级和工作空间级的SCIM供应

有关错误代码,请参见SCIM API 2.0错误代码

有关更多示例,请参见Databricks自动化的服务主体

需求

获取服务主体

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals

得到

在Databricks工作区中检索所有服务主体的列表。

当由非admin用户调用时,只返回用户名、用户显示名和对象。

例子

—netrc -X GEThttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals|金桥。

你可以使用过滤器指定服务主体的子集。例如,您可以应用情商(等于)过滤器参数为applicationId检索特定的服务主体:

—netrc -X GET“https:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals吗?过滤器= applicationId + eq + <应用程序id >”|金桥。

在具有大量服务主体的工作区中,您可以从请求中排除属性以提高性能。

—netrc -X GET“https:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals吗?excludedAttributes =权益团体”|金桥。

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • <应用程序id >applicationId例如,服务主体的值12345 a67 - 8 b9c - 0 - d1e - 23 - fa - 4567 b89cde01

这些例子使用了. netrc文件和金桥

通过ID获取服务主体

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

得到

给定一个服务主体ID,从Databricks工作区检索一个服务主体资源。

例子

—netrc -X GEThttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >|金桥。

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件和金桥

创建服务主体

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals

帖子

在Databricks工作区中创建一个服务主体。服务主体将自动添加到帐户中。看到Databricks如何在工作空间和帐户之间同步身份?.服务主体计入每个工作区10000个用户的限制。

请求参数遵循标准的SCIM 2.0协议。

请注意

applicationId随机生成。在一个身份联合工作区时,可以指定applicationId将该服务主体分配给您的工作区。

每个服务主体都有一个惟一的applicationId.但是,多个服务主体可以具有相同的显示名称。

例子

—netrc -X POSThttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals——头内容类型:应用程序/ scim + json的——数据@create-service-principal.json|金桥。

create-service-principal.json

“displayName”“<显示名称>”“权利”“价值”“allow-cluster-create”),“组织”“价值”“<组id >”),“模式”“urn: ietf:参数:scim:模式:核心:2.0:ServicePrincipal”),“活跃”真正的

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • <显示名称>例如,使用服务主体的显示名称someone@example.com

  • <组id >例如,Databricks工作区中的组ID2345678901234567.要获取组ID,请呼叫获得团体

本例使用. netrc文件和金桥

有关Databricks身份类型的可用授权列表,请参阅:

按ID更新服务主体(PATCH)

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

补丁

使用对特定属性的操作更新服务主体资源,除了displayNameapplicationId,id,它们是不可变的。

使用补丁方法添加、更新或删除单个属性。使用PUT方法在单个操作中覆盖整个服务主体。

请求参数遵循标准的SCIM 2.0协议,并依赖于模式属性。

添加权限

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@change-service-principal.json|金桥。

change-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“添加”“路径”“权利”“价值”“价值”“allow-cluster-create”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件和金桥

有关Databricks身份类型的可用授权列表,请参阅:

删除权利

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@change-service-principal.json|金桥。

change-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“删除”“路径”“权利”“价值”“价值”“allow-cluster-create”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件和金桥

有关Databricks身份类型的可用授权列表,请参阅:

添加到组

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@change-service-principal.json|金桥。

change-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“添加”“路径”“组织”“价值”“价值”“<组id >”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

  • <组id >例如,Databricks工作区中的组ID2345678901234567.要获取组ID,请呼叫获得团体

本例使用. netrc文件和金桥

从组中移除

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 /团体/ <组id >——头内容类型:应用程序/ scim + json的——数据@remove-from-group.json|金桥。

remove-from-group.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“删除”“路径”"members[value eq \"\"]"

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • <组id >例如,Databricks工作区中的组ID2345678901234567.要获取组ID,请呼叫获得团体

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件和金桥

按ID停用服务主体

若要禁用服务主体,请设置其活跃的属性来.未激活的服务主体不会自动清除。

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@deactivate-service-principal.json|金桥。

deactivate-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“替换”“路径”“活跃”“价值”“价值”“假”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件和金桥

按ID更新服务主体(PUT)

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

覆盖整个服务主体资源,除了displayNameapplicationId,id,它们是不可变的。

使用修补方法添加、更新或删除单个属性。

重要的

你必须包括模式属性,并使用准确的值urn: ietf:参数:scim:模式:核心:2.0:ServicePrincipal

例子

添加权限

—netrc -X PUThttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@update-service-principal.json|金桥。

update-service-principal.json

“模式”“urn: ietf:参数:scim:模式:核心:2.0:ServicePrincipal”),“applicationId”“< applicationId-id >”“displayName”“<显示名称>”“组织”“价值”“<组id >”),“权利”“价值”“allow-cluster-create”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

  • <应用程序id >applicationId例如,服务主体的值12345 a67 - 8 b9c - 0 - d1e - 23 - fa - 4567 b89cde01

  • <显示名称>例如,使用服务主体的显示名称someone@example.com

  • <组id >例如,Databricks工作区中的组ID2345678901234567.要获取组ID,请呼叫获得团体

本例使用. netrc文件和金桥

有关Databricks身份类型的可用授权列表,请参阅:

删除所有授权和组

删除所有授权和组是删除服务主体的可逆替代方案。

使用方法,以避免需要首先检查现有权限和组成员关系。

—netrc -X PUThttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@update-service-principal.json|金桥。

update-service-principal.json

“模式”“urn: ietf:参数:scim:模式:核心:2.0:ServicePrincipal”),“applicationId”“<应用程序id >”“displayName”“<显示名称>”“组织”[],“权利”[]

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

  • <应用程序id >applicationId例如,服务主体的值12345 a67 - 8 b9c - 0 - d1e - 23 - fa - 4567 b89cde01

  • <显示名称>例如,使用服务主体的显示名称someone@example.com

本例使用. netrc文件和金桥

按ID向服务主体添加角色

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

补丁

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >——头内容类型:应用程序/ scim + json的——数据@add-role-to-service-principal.json|金桥。

add-role-to-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“添加”“路径”“角色”“价值”“价值”“< role-arn >”

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

  • < role-arn >例如,使用角色的Amazon资源名(ARN)攻击:aws:我::123456789012:/我的角色作用

本例使用. netrc文件和金桥

根据ID从服务主体中删除角色

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

补丁

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / <用户id >——头内容类型:应用程序/ scim + json的——数据@remove-role-from-service-principal.json|金桥。

remove-role-from-service-principal.json

“模式”“urn: ietf:参数:scim: api:消息:2.0:PatchOp”),“操作”“人事处”“删除”“路径”"roles[value eq \"\"]"

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

  • < role-arn >例如,使用角色的Amazon资源名(ARN)攻击:aws:我::123456789012:/我的角色作用

本例使用. netrc文件和金桥

按ID删除服务主体

端点

HTTP方法

2.0 /预览/ scim / v2 / ServicePrincipals / {id}

删除

删除业务主体资源。这个操作是不可逆的。

例子

—netrc -X DELETEhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 / ServicePrincipals / < service-principal-id >

替换:

  • < databricks-instance >和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com

  • < service-principal-id >使用服务主体的ID,例如2345678901234567.要获得服务主体ID,请调用获取服务主体

本例使用. netrc文件。

作为可逆的选择,你可以删除它的所有权利和组而不是删除服务主体。