arc vault 是加密密钥存储。密钥按 group/name 组织,比如 aws/access-key-id。
arc vault <subcommand> [options]全局选项(见 总览):--json、--view、--instance / -i(作用在哪个本地 ARC 实例;省略即 default),以及 --home(实例根;要指定作用在哪个实例,用 --instance)。
arc vault init
初始化一个新的加密 vault。
用法
arc vault init [options]--vault-path <path>:vault 文件路径(默认~/.afs-config/vault/vault.enc)。--path仍然可用,是--vault-path的 deprecated 别名,但只在这一个子命令上生效——arc vault get/set/list/delete都接受--vault-path,但从来没有哪个接受过--path作为它的别名
示例
$ arc vault init --vault-path ./demo-vault.enc
Vault initialized at ./demo-vault.enc
Reused the existing master key (AFS_VAULT_KEY or OS keychain) — keep that source available.主密钥本身来自 AFS_VAULT_KEY 或者你的操作系统钥匙串,不是这个命令生成的,arc vault init 只是把一个 vault 文件指向可用的密钥来源。
arc vault set
存一个密钥。
用法
arc vault set <group> <name> <value> [options]--group <group>(必填):密钥分组,比如aws、github--name <name>(必填):密钥名,比如token、access-key-id--value <value>(必填):密钥的值--vault-path <path>:vault 文件路径,不填用标准位置
示例
$ arc vault set demo api-key sk-example-12345 --vault-path ./demo-vault.enc
OK demo/api-keyarc vault get
读一个密钥的值。
arc vault get <group> <name> [--vault-path <path>]示例
$ arc vault get demo api-key --vault-path ./demo-vault.enc
sk-example-12345arc vault list
列出密钥。别名是 arc vault ls。
用法
arc vault list [group] [options]--group <group>:要列出的分组,不填就列全部分组--vault-path <path>:vault 文件路径
示例
$ arc vault list --vault-path ./demo-vault.enc
demoarc vault delete
删除一个密钥或整个分组。别名是 arc vault rm。
用法
arc vault delete <group> [name] [options]--group <group>(必填):密钥分组--name <name>:密钥名,不填就删除整个分组--vault-path <path>:vault 文件路径
示例
$ arc vault delete demo api-key --vault-path ./demo-vault.enc
Deleted demo/api-key