工作空间的SCIM API 2.0 (ServicePrincipals)
预览
此功能已在公共预览.
这是一篇关于服务主体的工作空间级SCIM API的参考文章。
您可以使用SCIM (ServicePrincipals)来创建、读取、更新和删除Databricks服务主体。工作区管理员也可以创建或撤销个人访问令牌代表服务主体。您还可以使用此API列出和读取有关服务主体的信息。
有关使用api直接向帐户提供服务主体的信息,请参见SCIM API 2.0(帐户).有关何时使用帐户级或工作区级SCIM配置的信息,请参见帐户级和工作空间级的SCIM供应.
有关错误代码,请参见SCIM API 2.0错误代码.
有关更多示例,请参见Databricks自动化的服务主体.
需求
您的Databricks帐户必须具有优质及以上计划.
供应和管理服务主体,您的Databricks工作空间必须在Databricks平台E2版本bob体育客户端下载.有关创建E2工作区的信息,请参见创建和管理工作空间.所有新的Databricks帐户和大多数现有帐户现在都是E2。如果您不确定您拥有哪种帐户类型,请与Databricks代表联系。
获取服务主体
端点 |
HTTP方法 |
---|---|
|
|
在Databricks工作区中检索所有服务主体的列表。
当由非admin用户调用时,只返回用户名、用户显示名和对象。
例子
—netrc -X GET\https:// < 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
.
通过ID获取服务主体
端点 |
HTTP方法 |
---|---|
|
|
给定一个服务主体ID,从Databricks工作区检索一个服务主体资源。
创建服务主体
端点 |
HTTP方法 |
---|---|
|
|
在Databricks工作区中创建一个服务主体。服务主体将自动添加到帐户中。看到Databricks如何在工作空间和帐户之间同步身份?.服务主体计入每个工作区10000个用户的限制。
请求参数遵循标准的SCIM 2.0协议。
请注意
的applicationId
随机生成。在一个身份联合工作区时,可以指定applicationId
将该服务主体分配给您的工作区。
每个服务主体都有一个惟一的applicationId
.但是,多个服务主体可以具有相同的显示名称。
例子
—netrc -X POST\https:// < 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,请呼叫获得团体.
有关Databricks身份类型的可用授权列表,请参阅:
按ID更新服务主体(PATCH)
端点 |
HTTP方法 |
---|---|
|
|
使用对特定属性的操作更新服务主体资源,除了displayName
,applicationId
,id
,它们是不可变的。
使用补丁
方法添加、更新或删除单个属性。使用PUT方法在单个操作中覆盖整个服务主体。
请求参数遵循标准的SCIM 2.0协议,并依赖于模式
属性。
添加权限
例子
curl—netrc -X PATCH\https:// < 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,请调用获取服务主体.
有关Databricks身份类型的可用授权列表,请参阅:
删除权利
例子
curl—netrc -X PATCH\https:// < 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,请调用获取服务主体.
有关Databricks身份类型的可用授权列表,请参阅:
添加到组
例子
curl—netrc -X PATCH\https:// < 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 >”}]}]}
替换:
从组中移除
例子
curl—netrc -X PATCH\https:// < 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 \"\"]" }]}
替换:
按ID停用服务主体
若要禁用服务主体,请设置其活跃的
属性来假
.未激活的服务主体不会自动清除。
curl—netrc -X PATCH\https:// < 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”),“操作”:[{“人事处”:“替换”,“路径”:“活跃”,“价值”:[{“价值”:“假”}]}]}
替换:
按ID更新服务主体(PUT)
端点 |
HTTP方法 |
---|---|
|
|
覆盖整个服务主体资源,除了displayName
,applicationId
,id
,它们是不可变的。
使用修补方法添加、更新或删除单个属性。
重要的
你必须包括模式
属性,并使用准确的值urn: ietf:参数:scim:模式:核心:2.0:ServicePrincipal
.
例子
添加权限
—netrc -X PUT\https:// < 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,请呼叫获得团体.
有关Databricks身份类型的可用授权列表,请参阅:
删除所有授权和组
删除所有授权和组是删除服务主体的可逆替代方案。
使用把
方法,以避免需要首先检查现有权限和组成员关系。
—netrc -X PUT\https:// < 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”:“<显示名称>”,“组织”:[],“权利”:[]}
替换:
按ID向服务主体添加角色
端点 |
HTTP方法 |
---|---|
|
|
例子
curl—netrc -X PATCH\https:// < 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 >”}]}]}
替换:
根据ID从服务主体中删除角色
端点 |
HTTP方法 |
---|---|
|
|
例子
curl—netrc -X PATCH\https:// < 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 \"\"]" }]}
替换:
按ID删除服务主体
端点 |
HTTP方法 |
---|---|
|
|
删除业务主体资源。这个操作是不可逆的。
例子
—netrc -X DELETE\https:// < 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文件。
作为可逆的选择,你可以删除它的所有权利和组而不是删除服务主体。