Key Manager 服务 (barbican) 命令行客户端

barbican 客户端是 Key Manager 服务 (barbican) API 及其扩展的命令行界面 (CLI)。

本章记录 barbican 版本 4.3.0

要获取特定 barbican 命令的帮助,请输入

$ barbican help COMMAND

barbican usage

usage: barbican [--version] [-v | -q] [--log-file LOG_FILE] [-h] [--debug]
                [--no-auth] [--os-identity-api-version <identity-api-version>]
                [--os-auth-url <auth-url>] [--os-username <auth-user-name>]
                [--os-user-id <auth-user-id>] [--os-password <auth-password>]
                [--os-user-domain-id <auth-user-domain-id>]
                [--os-user-domain-name <auth-user-domain-name>]
                [--os-tenant-name <auth-tenant-name>]
                [--os-tenant-id <tenant-id>]
                [--os-project-id <auth-project-id>]
                [--os-project-name <auth-project-name>]
                [--os-project-domain-id <auth-project-domain-id>]
                [--os-project-domain-name <auth-project-domain-name>]
                [--os-auth-token <auth-token>] [--endpoint <barbican-url>]
                [--interface <barbican-interface>]
                [--service-type <barbican-service-type>]
                [--service-name <barbican-service-name>]
                [--region-name <barbican-region-name>]
                [--barbican-api-version <barbican-api-version>] [--insecure]
                [--os-cacert <ca-certificate>] [--os-cert <certificate>]
                [--os-key <key>] [--timeout <seconds>] [--collect-timing]

barbican 可选参数

--version

显示程序版本号并退出

-v, --verbose

增加输出的详细程度。可以重复使用。

-q, --quiet

抑制输出,只显示警告和错误。

--log-file LOG_FILE

指定一个用于记录输出的文件。默认禁用。

-h, --help

显示帮助信息并退出。

--debug

在发生错误时显示回溯信息。

--no-auth, -N

不使用身份验证。

--os-identity-api-version <identity-api-version>

指定要使用的 Identity API 版本。默认值为 env[OS_IDENTITY_API_VERSION] 或 3。

--os-auth-url <auth-url>, -A <auth-url>

默认值为 env[OS_AUTH_URL]

--os-username <auth-user-name>, -U <auth-user-name>

默认值为 env[OS_USERNAME]

--os-user-id <auth-user-id>

默认值为 env[OS_USER_ID]

--os-password <auth-password>, -P <auth-password>

默认值为 env[OS_PASSWORD]

--os-user-domain-id <auth-user-domain-id>

默认值为 env[OS_USER_DOMAIN_ID]

--os-user-domain-name <auth-user-domain-name>

默认值为 env[OS_USER_DOMAIN_NAME]

--os-tenant-name <auth-tenant-name>, -T <auth-tenant-name>

默认值为 env[OS_TENANT_NAME]

--os-tenant-id <tenant-id>, -I <tenant-id>

默认值为 env[OS_TENANT_ID]

--os-project-id <auth-project-id>

另一种指定租户 ID 的方式。此选项与 –os-tenant-id 互斥。默认值为 env[OS_PROJECT_ID]

--os-project-name <auth-project-name>

另一种指定租户名称的方式。此选项与 –os-tenant-name 互斥。默认值为 env[OS_PROJECT_NAME]

--os-project-domain-id <auth-project-domain-id>

默认值为 env[OS_PROJECT_DOMAIN_ID]

--os-project-domain-name <auth-project-domain-name>

默认值为 env[OS_PROJECT_DOMAIN_NAME]

--os-auth-token <auth-token>

默认值为 env[OS_AUTH_TOKEN]

--endpoint <barbican-url>, -E <barbican-url>

默认值为 env[BARBICAN_ENDPOINT]

--interface <barbican-interface>

默认值为 env[BARBICAN_INTERFACE]

--service-type <barbican-service-type>

默认值为 env[BARBICAN_SERVICE_TYPE]

--service-name <barbican-service-name>

默认值为 env[BARBICAN_SERVICE_NAME]

--region-name <barbican-region-name>

默认值为 env[BARBICAN_REGION_NAME]

--barbican-api-version <barbican-api-version>

默认值为 env[BARBICAN_API_VERSION]

barbican acl delete

usage: barbican acl delete [-h] URI

删除由其 href 标识的 secret 或 container 的 ACL。

位置参数

URI

secret 或 container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

barbican acl get

usage: barbican acl get [-h] [-f {csv,html,json,table,value,yaml}] [-c COLUMN]
                        [--max-width <integer>] [--print-empty] [--noindent]
                        [--quote {all,minimal,none,nonnumeric}]
                        URI

通过提供其 href 获取 secret 或 container 的 ACL。

位置参数

URI

secret 或 container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

barbican acl submit

usage: barbican acl submit [-h] [-f {csv,html,json,table,value,yaml}]
                           [-c COLUMN] [--max-width <integer>] [--print-empty]
                           [--noindent]
                           [--quote {all,minimal,none,nonnumeric}]
                           [--user [USERS]]
                           [--project-access | --no-project-access]
                           [--operation-type {read}]
                           URI

提交由其 href 标识的 secret 或 container 上的 ACL。

位置参数

URI

secret 或 container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--user [USERS], -u [USERS]

ACL 的 Keystone 用户 ID。

--project-access

标志以启用项目访问行为。

--no-project-access

标志以禁用项目访问行为。

--operation-type {read}, -o {read}

Barbican 操作 ACL 的类型

barbican acl user add

usage: barbican acl user add [-h] [-f {csv,html,json,table,value,yaml}]
                             [-c COLUMN] [--max-width <integer>]
                             [--print-empty] [--noindent]
                             [--quote {all,minimal,none,nonnumeric}]
                             [--user [USERS]]
                             [--project-access | --no-project-access]
                             [--operation-type {read}]
                             URI

将 ACL 用户添加到由其 href 标识的 secret 或 container。

位置参数

URI

secret 或 container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--user [USERS], -u [USERS]

ACL 的 Keystone 用户 ID。

--project-access

标志以启用项目访问行为。

--no-project-access

标志以禁用项目访问行为。

--operation-type {read}, -o {read}

Barbican 操作 ACL 的类型

barbican acl user remove

usage: barbican acl user remove [-h] [-f {csv,html,json,table,value,yaml}]
                                [-c COLUMN] [--max-width <integer>]
                                [--print-empty] [--noindent]
                                [--quote {all,minimal,none,nonnumeric}]
                                [--user [USERS]]
                                [--project-access | --no-project-access]
                                [--operation-type {read}]
                                URI

从由其 href 标识的 secret 或 container 中删除 ACL 用户。

位置参数

URI

secret 或 container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--user [USERS], -u [USERS]

ACL 的 Keystone 用户 ID。

--project-access

标志以启用项目访问行为。

--no-project-access

标志以禁用项目访问行为。

--operation-type {read}, -o {read}

Barbican 操作 ACL 的类型

barbican ca get

usage: barbican ca get [-h] [-f {html,json,shell,table,value,yaml}]
                       [-c COLUMN] [--max-width <integer>] [--print-empty]
                       [--noindent] [--prefix PREFIX]
                       URI

通过提供其 URI 获取 CA。

位置参数

URI

CA 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

barbican ca list

usage: barbican ca list [-h] [-f {csv,html,json,table,value,yaml}] [-c COLUMN]
                        [--max-width <integer>] [--print-empty] [--noindent]
                        [--quote {all,minimal,none,nonnumeric}]
                        [--limit LIMIT] [--offset OFFSET] [--name NAME]

列出 CA。

可选参数

-h, --help

显示此帮助消息并退出

--limit LIMIT, -l LIMIT

指定每页要列出的项目数量的限制(默认:10;最大值:100)

--offset OFFSET, -o OFFSET

指定页面偏移量(默认:0)

--name NAME, -n NAME

指定 ca 名称(默认:None)

barbican secret container create

usage: barbican secret container create [-h]
                                        [-f {html,json,shell,table,value,yaml}]
                                        [-c COLUMN] [--max-width <integer>]
                                        [--print-empty] [--noindent]
                                        [--prefix PREFIX] [--name NAME]
                                        [--type TYPE] [--secret SECRET]

在 Barbican 中存储一个 container。

可选参数

-h, --help

显示此帮助消息并退出

--name NAME, -n NAME

一个用户友好的名称。

--type TYPE

要创建的 container 的类型(默认:generic)。

--secret SECRET, -s SECRET

要存储在 container 中的一个 secret(可以多次设置)。示例:–secret “private_key=https://url.test/v1/secrets/1-2-3-4”

barbican secret container delete

usage: barbican secret container delete [-h] URI

通过提供其 href 删除一个 container。

位置参数

URI

container 的 URI 引用

可选参数

-h, --help

显示此帮助消息并退出

barbican secret container get

usage: barbican secret container get [-h]
                                     [-f {html,json,shell,table,value,yaml}]
                                     [-c COLUMN] [--max-width <integer>]
                                     [--print-empty] [--noindent]
                                     [--prefix PREFIX]
                                     URI

通过提供其 URI 获取一个 container。

位置参数

URI

container 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

barbican secret container list

usage: barbican secret container list [-h]
                                      [-f {csv,html,json,table,value,yaml}]
                                      [-c COLUMN] [--max-width <integer>]
                                      [--print-empty] [--noindent]
                                      [--quote {all,minimal,none,nonnumeric}]
                                      [--limit LIMIT] [--offset OFFSET]
                                      [--name NAME] [--type TYPE]

列出 containers。

可选参数

-h, --help

显示此帮助消息并退出

--limit LIMIT, -l LIMIT

指定每页要列出的项目数量的限制(默认:10;最大值:100)

--offset OFFSET, -o OFFSET

指定页面偏移量(默认:0)

--name NAME, -n NAME

指定 container 名称(默认:None)

--type TYPE, -t TYPE

指定列表的类型过滤器(默认:None)。

barbican secret delete

usage: barbican secret delete [-h] [--force] URI

通过提供其 URI 删除一个 secret。

位置参数

URI

secret 的 URI 引用

可选参数

-h, --help

显示此帮助消息并退出

--force, -f

如果指定,则强制删除具有消费者的 secrets。

barbican secret get

usage: barbican secret get [-h] [-f {html,json,shell,table,value,yaml}]
                           [-c COLUMN] [--max-width <integer>] [--print-empty]
                           [--noindent] [--prefix PREFIX] [--decrypt]
                           [--payload]
                           [--payload_content_type PAYLOAD_CONTENT_TYPE]
                           URI

通过提供其 URI 获取一个 secret。

位置参数

URI

secret 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--decrypt, -d

如果指定,则检索未加密的 secret 数据;可以使用 –payload_content_type 指定数据类型。

--payload, -p

如果指定,则检索未加密的 secret 数据;可以使用 –payload_content_type 指定数据类型。如果用户只想检索 payload 的值,则必须添加“ -f value”来格式化仅返回 payload 的值

--payload_content_type PAYLOAD_CONTENT_TYPE, -t PAYLOAD_CONTENT_TYPE

解密 secret 的内容类型(默认:text/plain)。

barbican secret list

usage: barbican secret list [-h] [-f {csv,html,json,table,value,yaml}]
                            [-c COLUMN] [--max-width <integer>]
                            [--print-empty] [--noindent]
                            [--quote {all,minimal,none,nonnumeric}]
                            [--limit LIMIT] [--offset OFFSET] [--name NAME]
                            [--algorithm ALGORITHM] [--bit-length BIT_LENGTH]
                            [--mode MODE]

列出 secrets。

可选参数

-h, --help

显示此帮助消息并退出

--limit LIMIT, -l LIMIT

指定每页要列出的项目数量的限制(默认:10;最大值:100)

--offset OFFSET, -o OFFSET

指定页面偏移量(默认:0)

--name NAME, -n NAME

指定 secret 名称(默认:None)

--algorithm ALGORITHM, -a ALGORITHM

列表的算法过滤器(默认:None)。

--bit-length BIT_LENGTH, -b BIT_LENGTH

列表的位长度过滤器(默认:0)。

--mode MODE, -m MODE

列表的算法模式过滤器(默认:None)。

barbican secret order create

usage: barbican secret order create [-h]
                                    [-f {html,json,shell,table,value,yaml}]
                                    [-c COLUMN] [--max-width <integer>]
                                    [--print-empty] [--noindent]
                                    [--prefix PREFIX] [--name NAME]
                                    [--algorithm ALGORITHM]
                                    [--bit-length BIT_LENGTH] [--mode MODE]
                                    [--payload-content-type PAYLOAD_CONTENT_TYPE]
                                    [--expiration EXPIRATION]
                                    [--request-type REQUEST_TYPE]
                                    [--subject-dn SUBJECT_DN]
                                    [--source-container-ref SOURCE_CONTAINER_REF]
                                    [--ca-id CA_ID] [--profile PROFILE]
                                    [--request-file REQUEST_FILE]
                                    type

创建一个新的订单。

位置参数

type

要创建的订单的类型(key、asymmetric、certificate)。

可选参数

-h, --help

显示此帮助消息并退出

--name NAME, -n NAME

一个用户友好的名称。

--algorithm ALGORITHM, -a ALGORITHM

要与请求的密钥一起使用的算法(默认:aes)。

--bit-length BIT_LENGTH, -b BIT_LENGTH

请求的 secret 密钥的位长度(默认:256)。

--mode MODE, -m MODE

要与请求的密钥一起使用的算法模式(默认:cbc)。

--payload-content-type PAYLOAD_CONTENT_TYPE, -t PAYLOAD_CONTENT_TYPE

要生成的 secret 的类型/格式(默认:application/octet-stream)。

--expiration EXPIRATION, -x EXPIRATION

secret 的过期时间,采用 ISO 8601 格式。

--request-type REQUEST_TYPE

证书请求的类型。

--subject-dn SUBJECT_DN

证书的主题。

--source-container-ref SOURCE_CONTAINER_REF

使用存储密钥请求时的证书来源。

--ca-id CA_ID

用于证书请求的 CA 的标识符。

--profile PROFILE

要使用的证书配置文件。

--request-file REQUEST_FILE

包含 CSR 的文件。

barbican secret order delete

usage: barbican secret order delete [-h] URI

通过提供其 href 删除一个订单。

位置参数

URI

订单的 URI 引用

可选参数

-h, --help

显示此帮助消息并退出

barbican secret order get

usage: barbican secret order get [-h] [-f {html,json,shell,table,value,yaml}]
                                 [-c COLUMN] [--max-width <integer>]
                                 [--print-empty] [--noindent]
                                 [--prefix PREFIX]
                                 URI

通过提供其 URI 获取一个订单。

位置参数

URI

订单的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

barbican secret order list

usage: barbican secret order list [-h] [-f {csv,html,json,table,value,yaml}]
                                  [-c COLUMN] [--max-width <integer>]
                                  [--print-empty] [--noindent]
                                  [--quote {all,minimal,none,nonnumeric}]
                                  [--limit LIMIT] [--offset OFFSET]

列出订单。

可选参数

-h, --help

显示此帮助消息并退出

--limit LIMIT, -l LIMIT

指定每页要列出的项目数量的限制(默认:10;最大值:100)

--offset OFFSET, -o OFFSET

指定页面偏移量(默认:0)

barbican secret store

usage: barbican secret store [-h] [-f {html,json,shell,table,value,yaml}]
                             [-c COLUMN] [--max-width <integer>]
                             [--print-empty] [--noindent] [--prefix PREFIX]
                             [--name NAME] [--payload PAYLOAD]
                             [--secret-type SECRET_TYPE]
                             [--payload-content-type PAYLOAD_CONTENT_TYPE]
                             [--payload-content-encoding PAYLOAD_CONTENT_ENCODING]
                             [--algorithm ALGORITHM] [--bit-length BIT_LENGTH]
                             [--mode MODE] [--expiration EXPIRATION]

在 Barbican 中存储一个 secret。

可选参数

-h, --help

显示此帮助消息并退出

--name NAME, -n NAME

一个用户友好的名称。

--payload PAYLOAD, -p PAYLOAD

未加密的 secret;如果提供,则必须同时提供 payload_content_type

--secret-type SECRET_TYPE, -s SECRET_TYPE

secret 的类型;必须是 symmetric、public、private、certificate、passphrase、opaque(默认)

--payload-content-type PAYLOAD_CONTENT_TYPE, -t PAYLOAD_CONTENT_TYPE

提供的 secret 数据的类型/格式;“text/plain”假定为 UTF-8;当提供 –payload 时需要。

--payload-content-encoding PAYLOAD_CONTENT_ENCODING, -e PAYLOAD_CONTENT_ENCODING

如果 –payload-content-type 为“application /octet-stream”,则需要。

--algorithm ALGORITHM, -a ALGORITHM

算法(默认:aes)。

--bit-length BIT_LENGTH, -b BIT_LENGTH

位长度(默认:256)。

--mode MODE, -m MODE

算法模式;仅用于参考(默认:cbc)

--expiration EXPIRATION, -x EXPIRATION

secret 的过期时间,采用 ISO 8601 格式。

barbican secret update

usage: barbican secret update [-h] URI payload

在 Barbican 中更新一个不带 payload 的 secret。

位置参数

URI

secret 的 URI 引用。

payload

未加密的 secret

可选参数

-h, --help

显示此帮助消息并退出

barbican secret consumer create

usage: barbican secret consumer create [-h] --service-type-name SERVICE_TYPE_NAME
                                            --resource-type RESOURCE_TYPE
                                            --resource-id RESOURCE_ID URI

为 secret 创建一个 consumer。

位置参数

URI

secret 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--service-type-name SERVICE_TYPE_NAME, -s SERVICE_TYPE_NAME

将消耗 secret 的服务

--resource-type RESOURCE_TYPE, -t RESOURCE_TYPE

将消耗 secret 的资源的类型

--resource-id RESOURCE_ID, -i RESOURCE_ID

将要使用密钥的资源的 ID

barbican secret consumer delete

usage: barbican secret consumer delete [-h] --service-type-name SERVICE_TYPE_NAME
                                            --resource-type RESOURCE_TYPE
                                            --resource-id RESOURCE_ID URI

从密钥中删除消费者。

位置参数

URI

secret 的 URI 引用。

可选参数

-h, --help

显示此帮助消息并退出

--service-type-name SERVICE_TYPE_NAME, -s SERVICE_TYPE_NAME

将消耗 secret 的服务

--resource-type RESOURCE_TYPE, -t RESOURCE_TYPE

将消耗 secret 的资源的类型

--resource-id RESOURCE_ID, -i RESOURCE_ID

将要使用密钥的资源的 ID

barbican secret consumer list

usage: barbican secret consumer list [-h] [-f {csv,json,table,value,yaml}]
                                     [-c COLUMN] [--quote {all,minimal,none,nonnumeric}]
                                     [--noindent] [--max-width <integer>]
                                     [--fit-width] [--print-empty] [--sort-column SORT_COLUMN]
                                     [--sort-ascending | --sort-descending] [--limit LIMIT]
                                     [--offset OFFSET]
                                     URI

列出密钥的消费者。

位置参数

URI

secret 的 URI 引用

可选参数

-h, --help

显示此帮助消息并退出

--limit LIMIT, -l LIMIT

指定每页要列出的项目数量的限制(默认:10;最大值:100)

--offset OFFSET, -o OFFSET

指定页面偏移量(默认:0)

输出格式化程序

-f {csv,json,table,value,yaml}, --format {csv,json,table,value,yaml}

输出格式,默认为表格

-c COLUMN, --column COLUMN

指定要包含的列,可以重复以显示多个列

--sort-column SORT_COLUMN

指定要对数据进行排序的列(首先指定的列具有优先级,不存在的列将被忽略),可以重复

--sort-ascending

按升序对列进行排序

--sort-descending

按降序对列进行排序

CSV 格式化程序

--quote {all,minimal,none,nonnumeric}

何时包含引号,默认为非数字

json 格式化程序

--noindent

是否禁用 JSON 的缩进

table 格式化程序

--max-width <integer>

最大显示宽度,小于 1 则禁用。您也可以使用 CLIFF_MAX_TERM_WIDTH 环境变量,但参数优先。

--fit-width

使表格适应显示宽度。如果 –max-width 大于 0,则隐式启用。设置环境变量 CLIFF_FIT_WIDTH=1 以始终启用

--print-empty

如果没有要显示的数据,则打印空表格。