secrets 命令组

Note

此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览阶段。

Databricks CLI 的使用须遵守 Databricks 许可Databricks 隐私声明,包括任何数据使用规定。

secrets CLI 中的命令组允许管理机密、机密范围和访问权限。 有时,访问数据需要通过 JDBC 对外部数据源进行身份验证。 不要直接在笔记本中输入凭据,而是使用 Databricks 机密存储凭据,并在笔记本和作业中引用它们。 请参阅机密管理

databricks 密钥创建作用域

创建新的机密范围。

范围名称必须包含字母数字字符、短划线、下划线和句点,不能超过 128 个字符。

databricks secrets create-scope SCOPE [flags]

Arguments

SCOPE

    用户请求的范围名称。 范围名称是唯一的。

选项

--initial-manage-principal string

    最初被授予对创建的范围的 MANAGE 权限的主体。

--json JSON

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

--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]

Arguments

SCOPE

    要从中删除权限的范围的名称。

PRINCIPAL

    要从中删除现有 ACL 的主体。

选项

--json JSON

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

全局标志

databricks 机密删除范围

删除机密范围。

如果范围不存在,会引发 RESOURCE_DOES_NOT_EXIST。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED

databricks secrets delete-scope SCOPE [flags]

Arguments

SCOPE

    要删除的范围的名称。

选项

--json JSON

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

全局标志

databricks 机密删除 delete-secret

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

如果不存在这样的机密范围或机密,则抛出 RESOURCE_DOES_NOT_EXIST。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED

databricks secrets delete-secret SCOPE KEY [flags]

Arguments

SCOPE

    要删除的机密所在范围的名称。

KEY

    要删除的机密的名称。

选项

--json JSON

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

全局标志

databricks 机密 get-acl

获取有关给定 ACL 的详细信息,例如组和权限。 用户必须有权 MANAGE 调用此 API。

如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED

databricks secrets get-acl SCOPE PRINCIPAL [flags]

Arguments

SCOPE

    要从中提取 ACL 信息的范围的名称。

PRINCIPAL

    要为其提取 ACL 信息的主体。

选项

全局标志

databricks 密钥 get-secret

获取用于指定作用域和密钥的机密值的字节表示形式。

用户需要 READ 权限来进行此调用。

请注意,返回的机密值以字节为单位。 字节的解释由 DBUtils 中的调用方以及数据被解码为的类型决定。

如果用户没有进行此 API 调用的权限,则会引发 PERMISSION_DENIED。 如果不存在此类机密或机密范围,将引发 RESOURCE_DOES_NOT_EXIST

databricks secrets get-secret SCOPE KEY [flags]

Arguments

SCOPE

    用于获取机密信息的范围的名称。

KEY

    用于获取机密的键。

选项

全局标志

databricks secrets list-acls(列出ACLs的命令)

列出给定秘密访问范围的访问控制列表。 用户必须有权 MANAGE 调用此 API。

如果不存在此类机密范围,则会抛出RESOURCE_DOES_NOT_EXIST。 如果用户没有权限执行此调用,则抛出PERMISSION_DENIED

databricks secrets list-acls SCOPE [flags]

Arguments

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]

Arguments

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]

Arguments

SCOPE

    要向其应用权限的范围的名称。

PRINCIPAL

    应用权限的主体。

PERMISSION

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

选项

--json JSON

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

全局标志

databricks 机密 设定机密

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

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

参数 string-valuebytes-value 指定机密的类型,这将确定请求机密值时返回的值。

可以通过以下三种方式之一指定机密值:

  • 使用 --string-value 标志将值指定为字符串。
  • 看到交互式提示时输入机密(单行机密)。
  • 通过标准输入传递机密(多行机密)。
databricks secrets put-secret SCOPE KEY [flags]

Arguments

SCOPE

    用于存储机密的范围的名称。

KEY

    机密的键名称。

选项

--bytes-value string

    如果指定,值将存储为字节。

--json JSON

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

--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 字符串

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