用於工作空間的SCIM API 2.0 (ServicePrincipals)

預覽

此功能已在公共預覽

這是一篇關於服務主體的工作空間級SCIM API的參考文章。

您可以使用SCIM (serviceprincipal)來創建、讀取、更新和刪除Databricks服務主體。工作區管理員也可以創建或撤銷個人訪問令牌代表服務主體。還可以使用此API列出和讀取有關服務主體的信息。

有關使用api直接向您的帳戶提供服務主體的信息,請參見SCIM API 2.0(賬戶).有關何時使用帳戶級別或工作空間級別的SCIM供應的信息,請參見帳戶級和工作空間級的SCIM配置

有關錯誤代碼,請參見SCIM API 2.0錯誤碼

有關更多示例,請參見Databricks自動化的服務主體

需求

得到服務主體

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals

得到

在Databricks工作空間中檢索所有服務主體的列表。

當由非admin用戶調用時,隻返回用戶名、用戶顯示名和對象。

例子

卷曲——netc -X GEThttps:// < databricks-instance > / api / 2.0 /預覽/ scim / v2 / ServicePrincipals|金橋。

您可以使用過濾器指定服務主體的子集。例如,您可以應用情商(等於)過濾器參數到applicationId要檢索特定的服務主體:

卷曲——netc -X GET“https:// < databricks-instance > / api / 2.0 /預覽/ scim / v2 / ServicePrincipals嗎?過濾器= applicationId + eq + <應用程序id >”|金橋。

在具有大量服務主體的工作空間中,您可以從請求中排除屬性以提高性能。

卷曲——netc -X GET“https:// < databricks-instance > / api / 2.0 /預覽/ scim / v2 / ServicePrincipals嗎?excludedAttributes =權益團體”|金橋。

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

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

這些示例使用. netrc文件和金橋

通過ID獲取服務主體

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals / {id}

得到

給定一個服務主體ID,從Databricks工作空間檢索單個服務主體資源。

例子

卷曲——netc -X GEThttps:// < databricks-instance > / api / 2.0 /預覽/ scim / v2 / ServicePrincipals / < service-principal-id >|金橋。

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體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.eheci.com

  • <顯示名稱>例如,使用服務主體的顯示名稱someone@example.com

  • <組id >例如,使用Databricks工作空間中的組的ID2345678901234567.要獲取組ID,請調用獲得團體

此示例使用. netrc文件和金橋

按ID更新服務主體(PATCH)

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals / {id}

補丁

使用特定屬性上的操作更新服務主體資源displayNameapplicationId,id,它們是不可變的。

使用補丁方法添加、更新或刪除個別屬性。使用PUT方法在單個操作中覆蓋整個服務主體。

請求參數遵循標準的SCIM 2.0協議,並取決於模式屬性。

添加權限

例子

卷曲——netc -X補丁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.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

此示例使用. netrc文件和金橋

刪除權利

例子

卷曲——netc -X補丁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.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

此示例使用. netrc文件和金橋

加入群組

例子

卷曲——netc -X補丁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 >”

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

  • <組id >例如,使用Databricks工作空間中的組的ID2345678901234567.要獲取組ID,請調用獲得團體

此示例使用. netrc文件和金橋

從群組中移除

例子

卷曲——netc -X補丁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”),“操作”“人事處”“刪除”“路徑”“eq \[價值成員”< service-principal-id > \”)”

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • <組id >例如,使用Databricks工作空間中的組的ID2345678901234567.要獲取組ID,請調用獲得團體

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

此示例使用. netrc文件和金橋

按ID停用服務主體

若要禁用服務主體,請設置其活躍的屬性來.未激活的服務主體不會自動清除。

卷曲——netc -X補丁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”),“操作”“人事處”“替換”“路徑”“活躍”“價值”“價值”“假”

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

此示例使用. netrc文件和金橋

按ID更新服務主體(PUT)

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals / {id}

覆蓋整個服務主體資源,除了displayNameapplicationId,id,它們是不可變的。

使用修補方法添加、更新或刪除個別屬性。

重要的

你必須包括模式屬性,帶有確切的值urn: ietf:參數:scim:模式:核心:2.0:ServicePrincipal

例子

添加一個權利

curl——netc -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.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

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

  • <顯示名稱>例如,使用服務主體的顯示名稱someone@example.com

  • <組id >例如,使用Databricks工作空間中的組的ID2345678901234567.要獲取組ID,請調用獲得團體

此示例使用. netrc文件和金橋

刪除所有授權和組

刪除所有授權和組是刪除服務主體的可逆替代方案。

使用方法,以避免需要先檢查現有權限和組成員關係。

curl——netc -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.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體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}

補丁

例子

卷曲——netc -X補丁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 >”

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

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

此示例使用. netrc文件和金橋

按ID從服務主體中刪除角色

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals / {id}

補丁

例子

卷曲——netc -X補丁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”),“操作”“人事處”“刪除”“路徑”“角色”[eq值\ < role-arn > \”)”

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

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

此示例使用. netrc文件和金橋

按ID刪除服務主體

端點

HTTP方法

2.0 /預覽/ scim / v2 / ServicePrincipals / {id}

刪除

刪除業務主體資源。這個操作是不可逆的。

例子

curl——netrc -X DELETEhttps:// < databricks-instance > / api / 2.0 /預覽/ scim / v2 / ServicePrincipals / < service-principal-id >

替換:

  • < databricks-instance >與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.eheci.com

  • < service-principal-id >例如,使用服務主體的ID2345678901234567.要獲取服務主體ID,請調用得到服務主體

此示例使用. netrc文件。

作為一個可逆的選擇,你可以刪除它的所有權利和組而不是刪除服務主體。