跳到主要内容

arc vault

arc vault 是加密密钥存储:先 init 一个 vault,然后按 group/name 组织,get/set/list/delete 密钥。

arc vault 是加密密钥存储。密钥按 group/name 组织,比如 aws/access-key-id。

bash
arc vault <subcommand> [options]

全局选项(见 总览):--json、--view、--instance / -i(作用在哪个本地 ARC 实例;省略即 default),以及 --home(实例根;要指定作用在哪个实例,用 --instance)。

arc vault init

初始化一个新的加密 vault。

用法

bash
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 作为它的别名

示例

bash
$ 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

存一个密钥。

用法

bash
arc vault set <group> <name> <value> [options]
  • --group <group>(必填):密钥分组,比如 aws、github
  • --name <name>(必填):密钥名,比如 token、access-key-id
  • --value <value>(必填):密钥的值
  • --vault-path <path>:vault 文件路径,不填用标准位置

示例

bash
$ arc vault set demo api-key sk-example-12345 --vault-path ./demo-vault.enc
OK demo/api-key

arc vault get

读一个密钥的值。

bash
arc vault get <group> <name> [--vault-path <path>]

示例

bash
$ arc vault get demo api-key --vault-path ./demo-vault.enc
sk-example-12345

arc vault list

列出密钥。别名是 arc vault ls。

用法

bash
arc vault list [group] [options]
  • --group <group>:要列出的分组,不填就列全部分组
  • --vault-path <path>:vault 文件路径

示例

bash
$ arc vault list --vault-path ./demo-vault.enc
demo

arc vault delete

删除一个密钥或整个分组。别名是 arc vault rm。

用法

bash
arc vault delete <group> [name] [options]
  • --group <group>(必填):密钥分组
  • --name <name>:密钥名,不填就删除整个分组
  • --vault-path <path>:vault 文件路径

示例

bash
$ arc vault delete demo api-key --vault-path ./demo-vault.enc
Deleted demo/api-key