メインコンテンツへスキップ

arc vault

arc vault は暗号化されたシークレットストレージです:vault を init し、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 の非推奨エイリアスとして今も使えますが、それが有効なのはこの 1 つのサブコマンドだけです —— 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 または OS のキーチェーンから取得され、このコマンド自身が生成するものではありません。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