秘密API 2.0

秘密的API允許您管理的秘密,秘密範圍和訪問權限。管理的秘密,你必須:

  1. 創建一個秘密範圍

  2. 添加你的秘密範圍

  3. 如果你有保費計劃或以上,指定訪問控製的秘密範圍

想要了解更多關於創建和管理的秘密,明白了保密管理秘密訪問控製。您訪問和參考筆記本和工作用的秘密秘密效用(dbutils.secrets)

重要的

訪問數據磚REST api,你必須進行身份驗證

創建秘密範圍

端點

HTTP方法

2.0 /機密/範圍/創建

帖子

創建一個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如果範圍名稱是無效的。

請求結構

字段名

類型

描述

範圍

字符串

名稱要求的用戶範圍。範圍的名稱是獨一無二的。這個字段是必需的。

initial_manage_principal

字符串

這個字段是可選的。如果沒有指定,隻有API請求發行商的身份是理所當然管理新權限範圍。如果字符串用戶在工作區中指定,所有用戶授予嗎管理權限。

刪除秘密範圍

端點

HTTP方法

2.0 /機密/範圍/刪除

帖子

刪除一個秘密的範圍。

例子

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方法

2.0 /機密/範圍/列表

得到

列出所有秘密範圍在工作區中可用。

例子

請求

curl——netrc請求\https:// < databricks-instance > / api / 2.0 /機密/範圍/列表\|金橋。

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

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

響應

{“範圍”:({“名稱”:“my-databricks-scope”,“backend_type”:“磚”},{“名稱”:“掛載點”,“backend_type”:“磚”}]}

拋出PERMISSION_DENIED如果你沒有權限做這個API調用。

響應結構

字段名

類型

描述

作用域

一個數組的SecretScope

可用的保密範圍。

把秘密

端點

HTTP方法

2.0 /機密/把

帖子

插入一個秘密提供的範圍與給定的名字。如果一個秘密已經存在同名的,這個命令覆蓋現有的秘密的價值。服務器加密使用秘密的秘密範圍在存儲之前的加密設置。你必須有管理秘密許可範圍。

密鑰必須由字母數字字符組成,破折號,突顯出,和時間,不能超過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調用。

請求結構

字段名

類型

描述

string_value或bytes_value

字符串字節

如果string_value,如果指定,將存儲在utf - 8 (MB4)形式。

如果指定,如果bytes_value值將被存儲為字節。

範圍

字符串

範圍的秘密的名字聯係在一起。這個字段是必需的。

關鍵

字符串

一個唯一的名稱來識別這個秘密。這個字段是必需的。

刪除的秘密

端點

HTTP方法

2.0 /機密/刪除

帖子

刪除存儲在這個秘密的秘密範圍。你必須有管理秘密許可範圍。

例子

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方法

2.0 /機密/列表

得到

列表的密鑰存儲在這個範圍。這是一個僅元數據操作;你不能使用這個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 >秘密範圍的名稱,例如我的領域

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

響應

{“秘密”:({“關鍵”:“my-string-key”,“last_updated_timestamp”:1520467595000},{“關鍵”:“my-byte-key”,“last_updated_timestamp”:1520467595000}]}

返回的last_updated_timestamp時代以來以毫秒為單位。

拋出RESOURCE_DOES_NOT_EXIST如果沒有這樣的秘密範圍存在。拋出PERMISSION_DENIED如果你沒有權限做這個API調用。

請求結構

字段名

類型

描述

範圍

字符串

範圍的秘密你想的名字列表。這個字段是必需的。

響應結構

字段名

類型

描述

秘密

一個數組的SecretMetadata

元數據信息的秘密包含在給定的範圍內。

把秘密ACL

端點

HTTP方法

2.0 /機密/ acl /把

帖子

創建或覆蓋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調用。

請求結構

字段名

類型

描述

範圍

字符串

的名字申請的權限範圍。這個字段是必需的。

主要

字符串

校長的許可。這個字段是必需的。

許可

AclPermission

應用於校長的許可水平。這個字段是必需的。

刪除秘密ACL

端點

HTTP方法

2.0 /機密/ acl /刪除

帖子

刪除給定的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。這個字段是必需的。

得到秘密ACL

端點

HTTP方法

2.0 /機密/ acl /

得到

描述給定的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 >秘密範圍的名稱,例如我的領域

  • <主體名稱>例如,與校長的名字用戶

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

響應

{“校長”:“數據科學家”,“許可”:“讀”}

拋出RESOURCE_DOES_NOT_EXIST如果沒有這樣的秘密範圍存在。拋出PERMISSION_DENIED如果你沒有權限做這個API調用。

請求結構

字段名

類型

描述

範圍

字符串

的名稱獲取ACL信息範圍。這個字段是必需的。

主要

字符串

校長ACL來獲取信息。這個字段是必需的。

響應結構

字段名

類型

描述

主要

字符串

校長的許可。這個字段是必需的。

許可

AclPermission

應用於校長的許可水平。這個字段是必需的。

秘密acl列表

端點

HTTP方法

2.0 /機密/ acl列表

得到

列表上的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 >秘密範圍的名稱,例如我的領域

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

響應

{“項目”:({“校長”:“管理員”,“許可”:“管理”},{“校長”:“數據科學家”,“許可”:“讀”}]}

拋出RESOURCE_DOES_NOT_EXIST如果沒有這樣的秘密範圍存在。拋出PERMISSION_DENIED如果你沒有權限做這個API調用。

請求結構

字段名

類型

描述

範圍

字符串

的名稱獲取ACL信息範圍。這個字段是必需的。

響應結構

字段名

類型

描述

項目

一個數組的AclItem

相關的acl規則應用於主體在給定的範圍內。

數據結構

AclItem

一個項目代表ACL規則應用到給定的主要(用戶、服務主體或組)相關聯的點範圍。

字段名

類型

描述

主要

字符串

校長的許可。這個字段是必需的。

許可

AclPermission

應用於校長的許可水平。這個字段是必需的。

SecretMetadata

元數據是一個秘密。時返回清單的秘密。不包含實際的秘密值。

字段名

類型

描述

關鍵

字符串

一個唯一的名稱來識別這個秘密。

last_updated_timestamp

INT64

最後更新的時間戳(以毫秒為單位)的秘密。

SecretScope

一個組織的資源存儲秘密。秘密的範圍可以是不同的類型,和acl可以應用於控製權限範圍內的所有秘密。

字段名

類型

描述

的名字

字符串

一個唯一的名稱識別範圍的秘密。

backend_type

ScopeBackendType

秘密的類型範圍後端。

AclPermission

ACL權限級別秘密ACL範圍應用於秘密。

許可

描述

允許執行讀操作(得到),列表的秘密在這個範圍。

允許讀和寫的秘密,這個秘密範圍。

管理

允許讀/寫acl,和讀/寫秘密,這個秘密範圍。

ScopeBackendType

秘密的類型範圍後端。

隻有Databricks-backed秘密支持範圍。

類型

描述

秘密的秘密範圍管理存儲在磚與基於雲的存儲和加密特定的加密密鑰。