工作空间的SCIM API 2.0(用户)

预览

此功能已在公共预览

这是一篇用于用户的工作空间级SCIM API的参考文章。

您可以使用SCIM (Users) API在Databricks中创建用户并赋予他们适当的访问级别,向用户添加角色并从用户中删除角色,临时锁定和解锁用户帐户,以及在用户离开组织或不再需要访问Databricks工作区时删除用户的访问权限(取消对他们的配置)。

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

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

需求

可以调用所有SCIM API端点。非管理员用户可以调用让用户端点读取用户显示的名称和id。

请注意

每个工作区最多可以有10,000个用户和5,000个组。服务主体计入用户最大值。

让用户

端点

HTTP方法

2.0 /预览/ scim / v2 /用户

得到

管理用户:在Databricks工作区中检索所有用户的列表。

非admin用户:检索Databricks工作区中所有用户的列表,只返回用户名、用户显示名和对象ID。

例子

这个示例获取关于所有用户的信息。

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

本例使用情商(=)过滤器查询参数用户名获取有关特定用户的信息。

—netrc -X GET“https:// < databricks-instance > / api / 2.0 /预览/ scim / v2 /用户?过滤器=用户名+ eq + <用户名>”|金桥。

替换:

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

  • <用户名>例如,使用用户的Databricks工作空间用户名someone@example.com

本例使用. netrc文件和金桥

通过ID获取用户

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

得到

管理用户:根据Databricks ID,从Databricks工作区检索单个用户资源。

例子

请求

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

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

本例使用. netrc文件和金桥

响应

“权利”:[“价值”“allow-cluster-create”),“模式”:[“urn: ietf:参数:scim:模式:核心:2.0:用户”),“角色”“价值”“攻击:aws:我::123456789012:角色/ <角色名>”),“组织”:[“价值”“123456”),“用户名”“example@www.neidfyre.com”

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

创建用户

端点

HTTP方法

2.0 /预览/ scim / v2 /用户

帖子

管理用户:在Databricks工作区中创建一个用户。该用户将自动添加到帐户中。看到Databricks如何在工作空间和帐户之间同步身份?

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

请求必须包含以下属性:

  • 模式设置为urn: ietf:参数:scim:模式:核心:2.0:用户

  • 用户名

例子

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

create-user.json

“模式”“urn: ietf:参数:scim:模式:核心:2.0:用户”),“用户名”“<用户名>”“组织”“价值”“123456”),“权利”:[“价值”“allow-cluster-create”

替换:

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

  • <用户名>例如,使用用户的Databricks工作空间用户名someone@example.com

本例使用. netrc文件和金桥

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

根据ID更新用户(补丁

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

补丁

管理用户:使用对特定属性的操作更新用户资源,除了那些不可变的属性(用户名而且用户标识).的补丁方法,建议在设置或更新用户权限的方法。

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

例子

此示例添加allow-cluster-create指定用户的授权。

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

update-user.json

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

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

本例使用. netrc文件和金桥

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

根据ID更新用户(

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

管理用户:跨多个属性覆盖用户资源,除了那些不可变的属性(用户名而且用户标识).

请求必须包括模式属性,设置为urn: ietf:参数:scim:模式:核心:2.0:用户

请注意

补丁方法,建议在设置或更新用户权限的方法。

例子

此示例将指定用户以前的权限更改为现在仅具有allow-cluster-create权利。

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

overwrite-user.json

“模式”“urn: ietf:参数:scim:模式:核心:2.0:用户”),“用户名”“<用户名>”“权利”“价值”“allow-cluster-create”

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

  • <用户名>例如,使用用户的Databricks工作空间用户名someone@example.com.要获取用户名,请调用让用户

本例使用. netrc文件和金桥

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

通过ID为用户添加角色

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

补丁

例子

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

add-role-to-user.json

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

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

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

本例使用. netrc文件和金桥

根据ID从用户中删除角色

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

补丁

例子

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

remove-role-from-user.json

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

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

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

本例使用. netrc文件和金桥

按ID删除用户

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

删除

Admin users:删除用户资源。在Databricks中不拥有或不属于工作空间的用户将在30天后自动清除。

从工作空间删除用户也会删除与用户关联的对象。例如,笔记本被归档,集群被终止,作业变得无主。

不会自动删除用户的主目录。只有管理员才能访问或删除已删除用户的主目录。

用户的访问控制列表(ACL)配置即使在该用户从工作空间中删除之后也会保留。

示例请求

—netrc -X DELETEhttps:// < databricks-instance > / api / 2.0 /预览/ scim / v2 /用户/ <用户id >

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567.要获取用户ID,请调用让用户

本例使用. netrc文件。

通过ID激活和去激活用户

预览

此功能已在公共预览

端点

HTTP方法

2.0 /预览/ scim / v2 /用户/ {id}

补丁

管理员用户:激活或去激活用户。取消激活用户将删除该用户对工作空间的所有访问,但保留与用户关联的权限和对象不变。与用户关联的集群将继续运行,而笔记本将保持在其原始位置。用户的令牌将被保留,但在用户被停用时不能用于身份验证。但是,计划作业除非分配给新的所有者,否则将失败。

您可以使用让用户而且通过ID获取用户请求查看用户是否处于活动状态。

请注意

为使去激活生效,至少需要5分钟的时间来清除缓存。

设置active值为禁用用户和真正的激活用户。

例子

请求

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

toggle-user-activation.json

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

替换:

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

  • <用户id >例如,使用用户的Databricks工作区ID2345678901234567

本例使用. netrc文件和金桥

响应

“电子邮件”“类型”“工作”“价值”“someone@example.com”“主”真正的),“displayName”“有人用户”“模式”“urn: ietf:参数:scim:模式:核心:2.0:用户”“urn: ietf:参数:scim:模式:扩展:工作区:2.0:用户”),“名称”“familyName”“用户”“givenName”“一个人”},“活跃”“组织”[],“id”“123456”“用户名”“someone@example.com”

过滤活跃和不活跃的用户

预览

此功能已在公共预览

端点

HTTP方法

2.0 /预览/ scim / v2 /用户

得到

管理用户:检索活动或非活动用户的列表。

例子

—netrc -X GET“https:// < databricks-instance > / api / 2.0 /预览/ scim / v2 /用户?过滤器=活跃+ eq +假”|金桥。

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

本例使用. netrc文件和金桥

自动停用用户

预览

此功能已在公共预览

管理员用户:禁用长时间未登录的用户。用户拥有的预定作业也被认为是活动。

端点

HTTP方法

2.0 /预览/ workspace-conf

补丁

请求体是一个键值对,其中值是用户在自动去激活之前可以处于非活动状态的时间限制。

例子

curl—netrc -X PATCHhttps:// < databricks-instance > / api / 2.0 /预览/ workspace-conf——数据@deactivate-users.json|金桥。

deactivate-users.json

“maxUserInactiveDays”“90”

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

本例使用. netrc文件和金桥

获取工作区的最大用户不活动时间

预览

此功能已在公共预览

管理用户:检索为工作空间定义的用户不活动限制。

端点

HTTP方法

2.0 /预览/ workspace-conf

得到

示例请求

—netrc -X GET“https:// < databricks-instance > / api / 2.0 /预览/ workspace-conf吗?键= maxUserInactiveDays”|金桥。

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

本例使用. netrc文件和金桥

示例响应

“maxUserInactiveDays”“90”