秘密API 2.0
Secrets API允許您管理秘密、秘密作用域和訪問權限。要管理秘密,你必須:
如果你有保費計劃或以上,將訪問控製分配給秘密範圍.
要了解有關創建和管理機密的更多信息,請參見保密管理而且秘密訪問控製.您訪問和參考秘密在筆記本和工作使用秘密效用(dbutils.secrets).
重要的
要訪問Databricks REST接口,您必須進行身份驗證.
創建秘密範圍
端點 |
HTTP方法 |
---|---|
|
|
創建一個Databricks-backed秘密範圍中,秘密存儲在databrick管理的存儲中,並使用基於雲的特定加密密鑰進行加密。
範圍名稱:
在工作區中必須是唯一的。
由字母、數字、“_”、“。”、“。”組成,不能超過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.www.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.www.eheci.com
.的內容
delete-scope.json
與適合您的解決方案的字段。
此示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果作用域不存在。拋出PERMISSION_DENIED
如果用戶沒有這個API調用的權限。
秘密範圍列表
端點 |
HTTP方法 |
---|---|
|
|
列出工作空間中所有可用的秘密作用域。
例子
請求
curl——netrc——請求GET\https:// < databricks-instance > / api / 2.0 /機密/範圍/列表\|金橋。
取代< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.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.www.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.www.eheci.com
.的內容
delete-secret.json
與適合您的解決方案的字段。
此示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果沒有這樣的秘密範圍或秘密存在。拋出PERMISSION_DENIED
如果您沒有進行此API調用的權限。
列表的秘密
端點 |
HTTP方法 |
---|---|
|
|
列出存儲在此範圍中的密鑰。這是一個純元數據操作;不能使用此API檢索機密數據。你必須有讀
允許我打這個電話。
例子
請求
curl——netrc——請求GET\“https:// < databricks-instance > / api / 2.0 /機密/列表嗎?範圍= < scope-name >”\|金橋。
或者:
curl——netrc\https:// < databricks-instance > / api / 2.0 /機密/列表\——數據範圍=< scope-name >\|金橋。
替換:
< databricks-instance >
與磚工作區實例名例如,dbc-a1b2345c-d6e7.cloud.www.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.www.eheci.com
.的內容
put-secret-acl.json
與適合您的解決方案的字段。
此示例使用. netrc文件。
的主要
字段指定使用該主體的唯一標識符授予或撤銷現有數據ricks主體訪問權。用戶用其電子郵件指定,服務主體用其電子郵件指定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.www.eheci.com
.的內容
delete-secret-acl.json
與適合您的解決方案的字段。
此示例使用. netrc文件。
拋出RESOURCE_DOES_NOT_EXIST
如果不存在這樣的秘密作用域、主體或ACL。拋出PERMISSION_DENIED
如果您沒有進行此API調用的權限。
得到秘密ACL
端點 |
HTTP方法 |
---|---|
|
|
描述給定ACL的詳細信息,如組、權限等。
你必須有管理
調用此API的權限。
例子
請求
curl——netrc——請求GET\“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.www.eheci.com
.< scope-name >
例如,使用機密範圍的名稱我的領域
.<主體名稱>
例如,使用主體的名稱用戶
.
秘密acl列表
端點 |
HTTP方法 |
---|---|
|
|
列出在給定範圍上設置的acl。
你必須有管理
調用此API的權限。
例子
請求
curl——netrc——請求GET\“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.www.eheci.com
.< scope-name >
例如,使用機密範圍的名稱我的領域
.
響應結構
字段名 |
類型 |
描述 |
---|---|---|
項目 |
一個數組的AclItem |
應用於給定範圍中的主體的關聯acl規則。 |
數據結構
AclItem
表示應用於關聯範圍點上給定主體(用戶、服務主體或組)的ACL規則的項。
字段名 |
類型 |
描述 |
---|---|---|
主要 |
|
應用權限的主體。此字段是必需的。 |
許可 |
應用於主體的權限級別。此字段是必需的。 |
SecretMetadata
關於秘密的元數據。列出機密時返回。不包含實際的秘密值。
字段名 |
類型 |
描述 |
---|---|---|
關鍵 |
|
用於標識秘密的唯一名稱。 |
last_updated_timestamp |
|
秘密的最後一次更新時間戳(以毫秒為單位)。 |
SecretScope
存儲機密的組織資源。秘密作用域可以是不同的類型,並且可以應用acl來控製一個作用域中所有秘密的權限。
字段名 |
類型 |
描述 |
---|---|---|
的名字 |
|
標識秘密範圍的唯一名稱。 |
backend_type |
秘密範圍後端類型。 |
AclPermission
應用於秘密作用域的秘密ACL的ACL權限級別。
許可 |
描述 |
---|---|
讀 |
允許在此範圍內對秘密執行讀取操作(get, list)。 |
寫 |
允許在這個秘密範圍內讀寫秘密。 |
管理 |
允許讀/寫acl,並對這個秘密範圍讀/寫秘密。 |
ScopeBackendType
秘密範圍後端類型。
隻支持databrick支持的秘密作用域。
類型 |
描述 |
---|---|
磚 |
一個秘密範圍,秘密存儲在Databricks管理的存儲中,並使用基於雲的特定加密密鑰進行加密。 |