用於工作空間的SCIM API 2.0 (ServicePrincipals)
預覽
此功能已在公共預覽.
這是一篇關於服務主體的工作空間級SCIM API的參考文章。
您可以使用SCIM (serviceprincipal)來創建、讀取、更新和刪除Databricks服務主體。工作區管理員也可以創建或撤銷個人訪問令牌代表服務主體。還可以使用此API列出和讀取有關服務主體的信息。
有關使用api直接向您的帳戶提供服務主體的信息,請參見SCIM API 2.0(賬戶).有關何時使用帳戶級別或工作空間級別的SCIM供應的信息,請參見帳戶級和工作空間級的SCIM配置.
有關錯誤代碼,請參見SCIM API 2.0錯誤碼.
有關更多示例,請參見Databricks自動化的服務主體.
需求
您的Databricks帳戶必須具有優質計劃或以上.
供應和管理服務主體,您的Databricks工作空間必須位於Databricks平台的E2版本Beplay体育安卓版本.有關創建E2工作區的信息,請參見使用帳戶控製台創建和管理工作空間.所有新的Databricks帳戶和大多數現有帳戶現在都是E2。如果您不確定您擁有的帳戶類型,請與您的Databricks代表聯係。
得到服務主體
端點 |
HTTP方法 |
---|---|
|
|
在Databricks工作空間中檢索所有服務主體的列表。
當由非admin用戶調用時,隻返回用戶名、用戶顯示名和對象。
例子
卷曲——netc -X GET\https:// < 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
.
通過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”),“活躍”:真正的}
替換:
按ID更新服務主體(PATCH)
端點 |
HTTP方法 |
---|---|
|
|
使用特定屬性上的操作更新服務主體資源displayName
,applicationId
,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”}]}]}
替換:
刪除權利
例子
卷曲——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”}]}]}
替換:
加入群組
例子
卷曲——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 >”}]}]}
替換:
從群組中移除
例子
卷曲——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 > \”)”}]}
替換:
按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”),“操作”:[{“人事處”:“替換”,“路徑”:“活躍”,“價值”:[{“價值”:“假”}]}]}
替換:
按ID更新服務主體(PUT)
端點 |
HTTP方法 |
---|---|
|
|
覆蓋整個服務主體資源,除了displayName
,applicationId
,id
,它們是不可變的。
使用修補方法添加、更新或刪除個別屬性。
重要的
你必須包括模式
屬性,帶有確切的值urn: ietf:參數:scim:模式:核心:2.0:ServicePrincipal
.
例子
添加一個權利
curl——netc -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.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,請調用獲得團體.
刪除所有授權和組
刪除所有授權和組是刪除服務主體的可逆替代方案。
使用把
方法,以避免需要先檢查現有權限和組成員關係。
curl——netc -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方法 |
---|---|
|
|
例子
卷曲——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 >”}]}]}
替換:
按ID從服務主體中刪除角色
端點 |
HTTP方法 |
---|---|
|
|
例子
卷曲——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 > \”)”}]}
替換:
按ID刪除服務主體
端點 |
HTTP方法 |
---|---|
|
|
刪除業務主體資源。這個操作是不可逆的。
例子
curl——netrc -X DELETE\https:// < 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文件。
作為一個可逆的選擇,你可以刪除它的所有權利和組而不是刪除服務主體。