跳到主要內容

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>(必填):金鑰分組,比如 awsgithub
  • --name <name>(必填):金鑰名,比如 tokenaccess-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