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。
位置参数
URIsecret 或 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。
位置参数
URIsecret 或 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。
位置参数
URIsecret 或 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。
位置参数
URIsecret 或 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 用户。
位置参数
URIsecret 或 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。
位置参数
URICA 的 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。
位置参数
URIcontainer 的 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。
位置参数
URIcontainer 的 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。
位置参数
URIsecret 的 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。
位置参数
URIsecret 的 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 EXPIRATIONsecret 的过期时间,采用 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_TYPEsecret 的类型;必须是 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 EXPIRATIONsecret 的过期时间,采用 ISO 8601 格式。
barbican secret update¶
usage: barbican secret update [-h] URI payload
在 Barbican 中更新一个不带 payload 的 secret。
位置参数
URIsecret 的 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。
位置参数
URIsecret 的 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
从密钥中删除消费者。
位置参数
URIsecret 的 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
列出密钥的消费者。
位置参数
URIsecret 的 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如果没有要显示的数据,则打印空表格。