注释
此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览阶段。
Databricks CLI 的使用须遵守 Databricks 许可和 Databricks 隐私声明,包括任何数据使用规定。
secrets
CLI 中的命令组允许管理机密、机密范围和访问权限。 有时,访问数据需要通过 JDBC 对外部数据源进行身份验证。 使用 Databricks 机密来存储凭据并将其引用到笔记本和作业中,而不是直接将凭据输入到笔记本中。 请参阅机密管理。
databricks secrets 创建作用域
创建新的机密范围。
范围名称必须包含字母数字字符、短划线、下划线和句点,不能超过 128 个字符。
databricks secrets create-scope SCOPE [flags]
论据
SCOPE
用户请求的范围名称。 范围名称是唯一的。
选项
--initial-manage-principal string
首个被授予 MANAGE 权限的主体用于已创建的范围。
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
--scope-backend-type ScopeBackendType
将使用该作用域创建的后端类型。 支持的值:AZURE_KEYVAULT
、DATABRICKS
databricks 秘钥 delete-acl
删除给定作用域上的给定 ACL。
用户必须具有 MANAGE
调用此命令的权限。 如果不存在相应的机密范围、主体或 ACL,则会引发 RESOURCE_DOES_NOT_EXIST
错误。 如果用户无权进行此 API 调用,则PERMISSION_DENIED
会引发异常。
databricks secrets delete-acl SCOPE PRINCIPAL [flags]
论据
SCOPE
要从中删除权限的范围的名称。
PRINCIPAL
要从中删除现有 ACL 的主体。
选项
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
databricks 机密删除范围
删除机密范围。
如果范围不存在,则抛出RESOURCE_DOES_NOT_EXIST
异常。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets delete-scope SCOPE [flags]
论据
SCOPE
要删除的范围的名称。
选项
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
databricks 秘密 删除秘密
删除此机密范围中存储的机密。 你必须对机密范围具有 WRITE
或 MANAGE
权限。
如果不存在这样的机密范围或机密,则抛出 RESOURCE_DOES_NOT_EXIST
。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets delete-secret SCOPE KEY [flags]
论据
SCOPE
要删除的机密所在范围的名称。
KEY
要删除的机密的名称。
选项
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
databricks 机密 get-acl
获取有关给定 ACL 的详细信息,例如组和权限。 用户必须有权 MANAGE
调用此 API。
如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST
。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets get-acl SCOPE PRINCIPAL [flags]
论据
SCOPE
要从中提取 ACL 信息的范围的名称。
PRINCIPAL
要为其提取 ACL 信息的主体。
选项
databricks 密钥 get-secret
获取用于指定作用域和密钥的机密值的字节表示形式。
用户需要 READ
权限来进行此调用。
请注意,返回的机密值以字节为单位。 字节的解释由 DBUtils 的调用方和用于解码数据的类型共同决定。
如果用户无权进行此 API 调用,则PERMISSION_DENIED
会引发异常。 如果不存在此类机密或机密范围,则会引发 RESOURCE_DOES_NOT_EXIST
异常。
databricks secrets get-secret SCOPE KEY [flags]
论据
SCOPE
要从中提取机密信息的范围的名称。
KEY
要为其提取机密的密钥。
选项
databricks secrets 列出访问控制列表
列出给定秘密访问范围的访问控制列表。 用户必须有权 MANAGE
调用此 API。
如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST
。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets list-acls SCOPE [flags]
论据
SCOPE
要从中提取 ACL 信息的范围的名称。
选项
databricks 机密列表范围
列出工作区中可用的所有机密范围。
如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets list-scopes [flags]
选项
databricks secrets list-secrets
列出在此范围内存储的密钥。 这是仅限于元数据的操作;不能用此命令检索机密数据。 用户需要 READ
权限来进行此调用。
返回的 lastUpdatedTimestamp
值为自 Epoch 以来的毫秒。 如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST
。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets list-secrets SCOPE [flags]
论据
SCOPE
用于列出机密的范围名称。
选项
databricks 机密 put-acl
在指定的作用域点上创建或覆盖与给定主体(用户或组)关联的访问控制列表(ACL)。
一般情况下,用户或组将使用最强大的可用权限,权限按如下顺序排序:
-
MANAGE
允许更改 ACL,并读取和写入此密钥范围。 -
WRITE
允许读取和写入此机密范围。 -
READ
允许读取此机密范围并列出可用的机密。
请注意,一般情况下,机密值只能从群集上的命令内读取(例如,通过笔记本)。 没有 API 可以读取群集外部的实际机密值材料。 但是,权限的应用将取决于执行命令的用户,并且他们必须至少具有 READ 权限。
用户必须具有 MANAGE
调用此命令的权限。
主体是一个用户或组名称,对应于要授予或吊销访问权限的现有 Databricks 主体。
如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST
。 如果主体的权限已经存在,则抛出 RESOURCE_ALREADY_EXISTS
。 在权限或主体无效时,INVALID_PARAMETER_VALUE
将引发。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED
。
databricks secrets put-acl SCOPE PRINCIPAL PERMISSION [flags]
论据
SCOPE
要向其应用权限的范围的名称。
PRINCIPAL
应用权限的主体实体。
PERMISSION
应用于主体的权限级别。 支持的值:MANAGE
、READ
、WRITE
选项
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
databricks 机密 放置机密
使用给定名称在提供的作用域下添加机密。 如果已有具有相同名称的密钥,该命令将覆盖现有密钥的值。 在存储机密之前,服务器使用机密范围的加密设置对机密进行加密。
你必须对机密范围具有 WRITE
或 MANAGE
权限。 密钥必须包含字母数字字符、短划线、下划线和句点,并且不能超过 128 个字符。 允许的最大机密值大小为 128 KB。 给定范围内的最大机密数为 1000。
参数 string-value
或 bytes-value
指定机密的类型,这将确定请求机密值时返回的值。
可以通过以下三种方式之一指定机密值:
- 使用
--string-value
标志将值指定为字符串。 - 看到交互式提示时输入机密(单行机密)。
- 通过标准输入传递机密(多行机密)。
databricks secrets put-secret SCOPE KEY [flags]
论据
SCOPE
用于存储机密的范围名称。
KEY
机密的密钥名称。
选项
--bytes-value string
如果指定,值将存储为字节。
--json JSON
内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。
--string-value string
如果指定,请注意该值将存储为 UTF-8 (MB4) 格式。
全局标志
--debug
是否启用调试日志记录。
-h
或 --help
显示 Databricks CLI、相关命令组或相关命令的帮助。
--log-file
字符串
一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。
--log-format
格式
日志格式类型,text
或 json
。 默认值是 text
。
--log-level
字符串
一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。
-o, --output
类型
命令输出类型为 text
或 json
。 默认值是 text
。
-p, --profile
字符串
要用于运行命令的 ~/.databrickscfg
文件中的配置文件名称。 如果未指定此标志,并且存在命名为 DEFAULT
的配置文件,则使用该配置文件。
--progress-format
格式
显示进度日志的格式: default
、 append
、 inplace
或 json
-t, --target
字符串
如果适用,要使用的捆绑包目标