共用方式為

secrets 命令组

注释

此信息适用于 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_KEYVAULTDATABRICKS

全局标志

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 秘密 删除秘密

删除此机密范围中存储的机密。 你必须对机密范围具有 WRITEMANAGE 权限。

如果不存在这样的机密范围或机密,则抛出 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

    应用于主体的权限级别。 支持的值:MANAGEREADWRITE

选项

--json JSON

    内联 JSON 字符串或包含请求正文的 JSON 文件中的 @path。

全局标志

databricks 机密 放置机密

使用给定名称在提供的作用域下添加机密。 如果已有具有相同名称的密钥,该命令将覆盖现有密钥的值。 在存储机密之前,服务器使用机密范围的加密设置对机密进行加密。

你必须对机密范围具有 WRITEMANAGE 权限。 密钥必须包含字母数字字符、短划线、下划线和句点,并且不能超过 128 个字符。 允许的最大机密值大小为 128 KB。 给定范围内的最大机密数为 1000。

参数 string-valuebytes-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 格式

    日志格式类型,textjson。 默认值是 text

--log-level 字符串

    一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。

-o, --output 类型

    命令输出类型为 textjson。 默认值是 text

-p, --profile 字符串

    要用于运行命令的 ~/.databrickscfg 文件中的配置文件名称。 如果未指定此标志,并且存在命名为 DEFAULT 的配置文件,则使用该配置文件。

--progress-format 格式

    显示进度日志的格式: defaultappendinplacejson

-t, --target 字符串

    如果适用,要使用的捆绑包目标