秘密API 2.0
Secrets API允许您管理秘密、秘密作用域和访问权限。要管理秘密,你必须:
如果你有优质及以上计划,将访问控制分配给秘密作用域.
要了解BOB低频彩有关创建和管理秘密的更多信息,请参见保密管理而且秘密访问控制.您通过使用访问和引用笔记本和作业中的秘密秘密实用程序(dbutils.secrets).
重要的
要访问Databricks REST api,必须进行身份验证.
创建秘密作用域
端点 |
HTTP方法 |
---|---|
|
|
创建一个Databricks-backedsecret范围,其中秘密存储在databicks管理的存储中,并使用基于云的特定加密密钥进行加密。
作用域名称:
在工作空间中必须是唯一的。
必须由字母数字、破折号、下划线和点组成,且不能超过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.neidfyre.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.neidfyre.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.neidfyre.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.neidfyre.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.neidfyre.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—get\https:// < databricks-instance > / api / 2.0 /机密/列表\——数据范围=< scope-name >\|金桥。
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.< scope-name >
例如,使用secrets作用域的名称我的领域
.
放置秘密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.neidfyre.com
.的内容
put-secret-acl.json
使用适合您的解决方案的字段。
本例使用. netrc文件。
的主要
field指定一个现有的Databricks主体,使用该主体的唯一标识符授予或撤销访问权。用户通过电子邮件指定,服务主体通过电子邮件指定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.neidfyre.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—get\https:// < databricks-instance > / api / 2.0 /机密/ acl /\——数据'范围= < scope-name >主要= <主体名称>”\|金桥。
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.< scope-name >
例如,使用secrets作用域的名称我的领域
.<主体名称>
例如,使用主体的名称用户
.
列出秘密acl
端点 |
HTTP方法 |
---|---|
|
|
列出给定范围上设置的acl。
你必须有管理
调用此API的权限。
例子
请求
curl—netrc—请求GET\“https:// < databricks-instance > / api / 2.0 /机密/ acl /列表吗?范围= < scope-name >”\|金桥。
或者:
Curl—netrc—get\https:// < databricks-instance > / api / 2.0 /机密/ acl /列表\——数据范围=< scope-name >\|金桥。
替换:
< databricks-instance >
和数据库工作空间实例名称例如,dbc-a1b2345c-d6e7.cloud.www.neidfyre.com
.< scope-name >
例如,使用secrets作用域的名称我的领域
.
响应结构
字段名 |
类型 |
描述 |
---|---|---|
项目 |
的数组AclItem |
应用于给定范围内主体的关联acl规则。 |
数据结构
AclItem
表示应用于关联作用域点上给定主体(用户、服务主体或组)的ACL规则的项。
字段名 |
类型 |
描述 |
---|---|---|
主要 |
|
应用权限的主体。该字段为必填项。 |
许可 |
应用到主体的权限级别。该字段为必填项。 |
SecretMetadata
关于秘密的元数据。当列出秘密时返回。不包含实际的秘密值。
字段名 |
类型 |
描述 |
---|---|---|
关键 |
|
一个唯一的名字来识别这个秘密。 |
last_updated_timestamp |
|
秘密最后更新的时间戳(以毫秒为单位)。 |
SecretScope
用于存储秘密的组织资源。秘密作用域可以是不同类型的,并且可以应用acl来控制作用域中所有秘密的权限。
字段名 |
类型 |
描述 |
---|---|---|
的名字 |
|
用于标识秘密范围的唯一名称。 |
backend_type |
秘密作用域后端的类型。 |
AclPermission
应用于秘密作用域的秘密ACL的ACL权限级别。
许可 |
描述 |
---|---|
读 |
允许对该范围内的秘密执行读取操作(get, list)。 |
写 |
允许对这个秘密作用域读取和写入秘密。 |
管理 |
允许读/写acl,也允许读/写秘密到这个秘密作用域。 |
ScopeBackendType
秘密作用域后端的类型。
只支持databicks支持的秘密作用域。
类型 |
描述 |
---|---|
砖 |
秘密作用域,秘密存储在Databricks管理的存储中,并使用基于云的特定加密密钥进行加密。 |