秘密API 2.0
秘密的API允許您管理的秘密,秘密範圍和訪問權限。管理的秘密,你必須:
如果你有保費計劃或以上,指定訪問控製的秘密範圍。
想要了解更多關於創建和管理的秘密,明白了保密管理和秘密訪問控製。您訪問和參考筆記本和工作用的秘密秘密效用(dbutils.secrets)。
重要的
訪問數據磚REST api,你必須進行身份驗證。
創建秘密範圍
端點 |
HTTP方法 |
---|---|
|
|
創建一個Databricks-backed秘密的秘密範圍存儲在Databricks-managed存儲和基於雲的特定的加密密鑰加密。
範圍名稱:
在工作區中必須是惟一的。
必須由字母數字字符組成,破折號,突顯出,和時間,不得超過128個字符。
的名字被認為是不敏感,在工作區中所有用戶可讀的。工作空間是有限的,最多100個秘密範圍。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/範圍/創建\——數據@create-scope.json
create-scope.json
:
{“範圍”:“my-simple-databricks-scope”,“initial_manage_principal”:“用戶”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
create-scope.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
拋出RESOURCE_ALREADY_EXISTS
如果一個給定名稱的範圍已經存在。拋出RESOURCE_LIMIT_EXCEEDED
如果超過最大數量的範圍在工作區中。拋出INVALID_PARAMETER_VALUE
如果範圍名稱是無效的。
刪除秘密範圍
端點 |
HTTP方法 |
---|---|
|
|
刪除一個秘密的範圍。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/範圍/刪除\——數據@delete-scope.json
delete-scope.json
:
{“範圍”:“my-secret-scope”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
delete-scope.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果範圍不存在。拋出PERMISSION_DENIED
如果用戶沒有權限做這個API調用。
秘密範圍列表
端點 |
HTTP方法 |
---|---|
|
|
列出所有秘密範圍在工作區中可用。
例子
請求
curl——netrc請求\https:// < databricks-instance > / api / 2.0 /機密/範圍/列表\|金橋。
取代< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。
響應結構
字段名 |
類型 |
描述 |
---|---|---|
作用域 |
一個數組的SecretScope |
可用的保密範圍。 |
把秘密
端點 |
HTTP方法 |
---|---|
|
|
插入一個秘密提供的範圍與給定的名字。如果一個秘密已經存在同名的,這個命令覆蓋現有的秘密的價值。服務器加密使用秘密的秘密範圍在存儲之前的加密設置。你必須有寫
或管理
秘密許可範圍。
密鑰必須由字母數字字符組成,破折號,突顯出,和時間,不能超過128個字符。最大允許的秘密值大小為128 KB。秘密在給定範圍內的最大數量是1000。
你可以閱讀一個秘密的價值隻有在集群上一個命令(例如,通過一個筆記本);沒有API來讀取一個秘密價值之外的一個集群。許可應用是基於調用命令,你必須至少有讀
許可。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/把\——數據@put-secret.json
put-secret.json
:
{“範圍”:“my-databricks-scope”,“關鍵”:“my-string-key”,“string_value”:“自己的價值”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
put-secret.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
輸入字段“string_value”或“bytes_value”指定的類型的秘密,這將決定秘密值請求時返回的值。一個必須被指定。
拋出RESOURCE_DOES_NOT_EXIST
如果沒有這樣的秘密範圍存在。拋出RESOURCE_LIMIT_EXCEEDED
如果超出最大範圍的秘密。拋出INVALID_PARAMETER_VALUE
如果鍵名稱或值長度是無效的。拋出PERMISSION_DENIED
如果用戶沒有權限做這個API調用。
刪除的秘密
端點 |
HTTP方法 |
---|---|
|
|
刪除存儲在這個秘密的秘密範圍。你必須有寫
或管理
秘密許可範圍。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/刪除\——數據@delete-secret.json
delete-secret.json
:
{“範圍”:“my-secret-scope”,“關鍵”:“my-secret-key”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
delete-secret.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果沒有這樣的秘密範圍或秘密存在。拋出PERMISSION_DENIED
如果你沒有權限做這個API調用。
列表的秘密
端點 |
HTTP方法 |
---|---|
|
|
列表的密鑰存儲在這個範圍。這是一個僅元數據操作;你不能使用這個API檢索秘密數據。你必須有讀
打這個電話的權限。
例子
請求
curl——netrc請求\“https:// < databricks-instance > / api / 2.0 /機密/列表?範圍= < scope-name > '\|金橋。
或者:
curl——netrc\https:// < databricks-instance > / api / 2.0 /機密/列表\——數據範圍=< scope-name >\|金橋。
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。< scope-name >
秘密範圍的名稱,例如我的領域
。
響應結構
字段名 |
類型 |
描述 |
---|---|---|
秘密 |
一個數組的SecretMetadata |
元數據信息的秘密包含在給定的範圍內。 |
把秘密ACL
端點 |
HTTP方法 |
---|---|
|
|
創建或覆蓋ACL與給定的主要(用戶、服務主體或組)在指定的範圍。一般來說,一個用戶、服務主體或組將使用最強大的許可,和權限命令如下:
管理
——允許改變acl,讀和寫這個秘密範圍。寫
——允許讀和寫這個秘密範圍。讀
——允許讀這個秘密範圍和列表什麼秘密是可用的。
你必須有管理
允許調用此API。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/ acl /把\——數據@put-secret-acl.json
put-secret-acl.json
:
{“範圍”:“my-secret-scope”,“校長”:“數據科學家”,“許可”:“讀”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
put-secret-acl.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
的主要
字段指定一個現有的磚主要被授予或撤銷訪問使用主要的惟一標識符。用戶指定的電子郵件,其服務主體applicationId
值,和一組的組名。
拋出RESOURCE_DOES_NOT_EXIST
如果沒有這樣的秘密範圍存在。拋出RESOURCE_ALREADY_EXISTS
如果允許校長已經存在。拋出INVALID_PARAMETER_VALUE
如果許可無效。拋出PERMISSION_DENIED
如果你沒有權限做這個API調用。
刪除秘密ACL
端點 |
HTTP方法 |
---|---|
|
|
刪除給定的ACL在給定的範圍內。
你必須有管理
允許調用此API。
例子
curl——netrc POST請求\https:// < databricks-instance > / api / 2.0 /機密/ acl /刪除\——數據@delete-secret-acl.json
delete-secret-acl.json
:
{“範圍”:“my-secret-scope”,“校長”:“數據科學家”}
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。的內容
delete-secret-acl.json
與字段,適合您的解決方案。
這個示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果沒有這樣的秘密範圍、主體或ACL的存在。拋出PERMISSION_DENIED
如果你沒有權限做這個API調用。
得到秘密ACL
端點 |
HTTP方法 |
---|---|
|
|
描述給定的ACL的詳細信息,比如組和權限。
你必須有管理
允許調用此API。
例子
請求
curl——netrc請求\“https:// < databricks-instance > / api / 2.0 /機密/ acl / ?範圍= < scope-name >主要= <主體名稱>”\|金橋。
或者:
curl——netrc\https:// < databricks-instance > / api / 2.0 /機密/ acl /\——數據'範圍= < scope-name >主要= <主體名稱> '\|金橋。
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。< scope-name >
秘密範圍的名稱,例如我的領域
。<主體名稱>
例如,與校長的名字用戶
。
秘密acl列表
端點 |
HTTP方法 |
---|---|
|
|
列表上的acl集合給定的範圍。
你必須有管理
允許調用此API。
例子
請求
curl——netrc請求\“https:// < databricks-instance > / api / 2.0 /機密/ acl /列表?範圍= < scope-name > '\|金橋。
或者:
curl——netrc\https:// < databricks-instance > / api / 2.0 /機密/ acl /列表\——數據範圍=< scope-name >\|金橋。
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.m.eheci.com
。< scope-name >
秘密範圍的名稱,例如我的領域
。
響應結構
字段名 |
類型 |
描述 |
---|---|---|
項目 |
一個數組的AclItem |
相關的acl規則應用於主體在給定的範圍內。 |
數據結構
AclItem
一個項目代表ACL規則應用到給定的主要(用戶、服務主體或組)相關聯的點範圍。
字段名 |
類型 |
描述 |
---|---|---|
主要 |
|
校長的許可。這個字段是必需的。 |
許可 |
應用於校長的許可水平。這個字段是必需的。 |
SecretMetadata
元數據是一個秘密。時返回清單的秘密。不包含實際的秘密值。
字段名 |
類型 |
描述 |
---|---|---|
關鍵 |
|
一個唯一的名稱來識別這個秘密。 |
last_updated_timestamp |
|
最後更新的時間戳(以毫秒為單位)的秘密。 |
SecretScope
一個組織的資源存儲秘密。秘密的範圍可以是不同的類型,和acl可以應用於控製權限範圍內的所有秘密。
字段名 |
類型 |
描述 |
---|---|---|
的名字 |
|
一個唯一的名稱識別範圍的秘密。 |
backend_type |
秘密的類型範圍後端。 |
AclPermission
ACL權限級別秘密ACL範圍應用於秘密。
許可 |
描述 |
---|---|
讀 |
允許執行讀操作(得到),列表的秘密在這個範圍。 |
寫 |
允許讀和寫的秘密,這個秘密範圍。 |
管理 |
允許讀/寫acl,和讀/寫秘密,這個秘密範圍。 |