Vault CLI を使用したキー値シークレットの管理
既に HashiCorp Vault を使用している場合は、コマンド・ライン・インターフェース (CLI) を使用して IBM Cloud® Secrets Manager と対話し、キー値シークレットを管理できます。 すべての操作は、Vault CLI に使用可能なガイドラインに従います。
開始する前に、Vault CLI の構成 を行い、Vault コマンドを使用して Secrets Manager インスタンスにアクセスできるようにします。 Vault CLI の使用方法について詳しくは、Vault の資料を確認してください。
Secrets Manager の標準 CLI を使用するには、Secrets Manager CLI リファレンスを確認してください。
キー値シークレットの作成または更新
キー値シークレットのバージョンを作成します。
vault kv put [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]
カスタム・グループ内にキー値シークレットのバージョンを作成します。
vault kv put [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]
前提条件
キーと値のシークレットを作成するには、ライターサービス役割が必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのペイロードを作成または更新します。
vault kv put ibmcloud/kv/example-kv-secret key1=value1 key2=value2
カスタム・グループ内のキー値シークレットのペイロードを作成または更新します。
vault kv put ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2
出力
kv
シークレットの新規バージョンを作成するコマンドは、以下の出力を返します。
Key Value
--- -----
created_time 2022-03-08T18:32:43.610242127Z
deletion_time n/a
destroyed false
version 2
キー値シークレットのバージョンの読み取り
キー値シークレットのバージョンを取得します。 要求が成功すると、指定されたバージョンのシークレットに関連付けられているシークレット・データが、他のメタデータとともに返されます。
vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットのバージョンを取得します。
vault kv get [-version=VERSION] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キーと値のシークレットのバージョンを読み取るには、リーダーまたはライターのサービス役割が必要です。
コマンド・オプション
- -バージョン
- 読み取り対象のバージョン。 省略した場合は、最新バージョンが返されます。
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのバージョンを読み取ります。
vault kv get -version=1 ibmcloud/kv/my-test-kv-secret
カスタム・グループ内のキー値シークレットのバージョンを読み取ります。
vault kv get -version=1 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットのバージョンを読み取るコマンドは、以下の出力を返します。
====== Metadata ======
Key Value
--- -----
created_time 2022-03-04T17:08:34.406336489Z
deletion_time n/a
destroyed false
version 1
==== Data ====
Key Value
--- -----
key1 value1
キー値シークレットの最新バージョンの削除
キー値シークレットの最新バージョンを削除します。 削除の取り消しコマンドを呼び出すことにより、削除を元に戻すことができます。
vault kv delete [-format=FORMAT] ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットの最新バージョンを削除します。
vault kv delete [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キー値シークレットを削除するには、マネージャー・サービス・ロールが必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットの最新バージョンを削除します。
vault kv delete -format=json ibmcloud/kv/my-test-kv-secret
カスタム・グループ内のキー値シークレットの最新バージョンを削除します。
vault kv delete -format=json ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットの最新バージョンを削除するコマンドは、出力を返しません。
指定されたバージョンのキー値シークレットの削除
指定されたバージョンのキー値シークレットを削除します。 削除の取り消しコマンドを呼び出すことにより、削除を元に戻すことができます。
vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME
カスタム・グループ内の指定されたバージョンのキー値シークレットを削除します。
vault kv delete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キー値シークレットを削除するには、マネージャー・サービス・ロールが必要です。
コマンド・オプション
- -バージョン
- 削除するバージョン。
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
指定されたキー値シークレットのバージョンを削除します。
vault kv delete -versions=2 ibmcloud/kv/my-test-kv-secret
カスタム・グループ内のキー値シークレットの指定されたバージョンを削除します。
vault kv delete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
指定されたkv
シークレットのバージョンを削除するコマンドは、出力を返しません。
キー値シークレットの削除の取り消し
以前に削除したバージョンのキー値シークレットを復元します。
vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットの以前に削除されたバージョンを復元します。
vault kv undelete [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
シークレットを復元するには、マネージャー・サービス・ロールが必要です。
コマンド・オプション
- -バージョン
- 削除するバージョン。
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットの指定されたバージョンの削除を取り消します。
vault kv undelete -versions=2 ibmcloud/kv/my-test-kv-secret
キー値シークレットの指定されたバージョンの削除を取り消します。
vault kv undelete -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットの指定されたバージョンの削除の取り消しのコマンドは、以下の出力を返します。
Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret
シークレットのバージョンの破棄
指定されたバージョンのキー値シークレットを完全に破棄します。 代わりにシークレットのバージョンをソフト削除するには、指定したバージョンの削除コマンドを使用します。
vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットの指定されたバージョンを破棄します。
vault kv destroy [-versions=VERSIONS] [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
シークレットを削除するには、マネージャー・サービス・ロールが必要です。
コマンド・オプション
- -バージョン
- 破棄しようとしているバージョン。
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
永続的に指定されたバージョンのキー値シークレットを削除します。
vault kv destroy -versions=2 ibmcloud/kv/my-test-kv-secret
カスタム・グループ内のキー値シークレットの永続的に指定されたバージョンを削除します。
vault kv destroy -versions=2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットのバージョンを破棄するコマンドは、以下の出力を返します。
Success! Data written to: ibmcloud/kv/undelete/my-test-kv-secret
メタデータ・キー値シークレットの作成または更新
キー値シークレットのメタデータを作成または更新します。
vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットのメタデータを作成または更新します。
vault kv metadata put [-format=FORMAT] [METADATA_KEY_VALUE_PAIRS] ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キーと値のシークレットを作成するには、ライターサービス役割が必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのペイロードを作成または更新します。
vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/mysecret
カスタム・グループ内のキー値シークレットのペイロードを作成または更新します。
vault kv metadata put -custom-metadata=key1=value1 -custom-metadata=key2=value2 ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/mysecret
出力
kv
シークレットの新規バージョンを作成するコマンドは、以下の出力を返します。
Key Value
--- -----
created_time 2022-03-08T18:32:43.610242127Z
deletion_time n/a
destroyed false
version 2
キー値シークレットのメタデータの読み取り
キー値シークレットのメタデータを取得します。
vault kv metadata get ibmcloud/kv/SECRET_NAME
カスタム・グループ内のキー値シークレットのメタデータを取得します。
vault kv metadata get ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キー値シークレットのメタデータを読み取るには、リーダーまたはライターのサービス役割が必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのメタデータを読み取ります。
vault kv metadata get ibmcloud/kv/my-test-kv-secret
カスタム・グループ内のキー値シークレットのメタデータを読み取ります。
vault kv metadata get ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットのメタデータを読み取るコマンドは、以下の出力を返します。
========== Metadata ==========
Key Value
--- -----
cas_required false
created_time 2022-03-04T17:08:34.406336489Z
current_version 3
custom_metadata map[key1:value1 key2:value2]
delete_version_after 0s
max_versions 10
oldest_version 0
updated_time 2022-03-08T20:06:39.585190049Z
====== Version 1 ======
Key Value
--- -----
created_time 2022-03-04T17:08:34.406336489Z
deletion_time n/a
destroyed true
====== Version 2 ======
Key Value
--- -----
created_time 2022-03-08T18:32:43.610242127Z
deletion_time 2022-03-08T20:05:08.850704454Z
destroyed false
====== Version 3 ======
Key Value
--- -----
created_time 2022-03-08T20:06:39.585190049Z
deletion_time n/a
destroyed false
キー値シークレットのメタデータとすべてのバージョンの削除
指定されたキー値シークレットのメタデータとすべてのバージョン・データを完全に削除します。 このコマンドを使用すると、すべてのバージョン履歴が削除されます。
vault kv metadata delete ibmcloud/kv/SECRET_NAME
vault kv metadata delete ibmcloud/kv/GROUP_ID/SECRET_NAME
前提条件
キー値シークレットのメタデータを削除するには、マネージャー・サービス・ロールが必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのデータとメタデータを永続的に削除します。
vault kv metadata delete ibmcloud/kv/my-test-kv-secret
カスタム・シークレット・グループ内のキー値シークレットのデータとメタデータを永続的に削除します。
vault kv metadata delete ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/my-test-kv-secret
出力
kv
シークレットのメタデータを削除するコマンドは、以下の出力を返します。
Success! Data deleted (if it existed) at: ibmcloud/kv/metadata/my-test-kv-secret
キー値シークレットのキー名の一覧表示
キー値シークレットのキー名のリストを取得します。 キー名には機密情報をエンコードしないでください。 このコマンドを使用してキーの値にアクセスすることはできません。
vault kv list ibmcloud/kv
カスタム・シークレット・グループに保管されているキー値シークレットのキー名をリストします。
vault kv list ibmcloud/kv/GROUP_ID
前提条件
キー値シークレットのキー名を読み取るには、リーダーまたはライターのサービス役割が必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
default
シークレット・グループに保管されているキー値シークレットのキー名をリストします。
vault kv list ibmcloud/kv
カスタム・シークレット・グループに保管されているキー値シークレットのキー名をリストします。
vault kv list ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8
出力
kv
シークレットのキー名をリストするコマンドは、以下の出力を返します。
Keys
----
my-updated-kv-secret
鍵値シークレットにパッチを適用します
キー値シークレットのバージョンにパッチを適用します。
vault kv patch [-format=FORMAT] ibmcloud/kv/SECRET_NAME [KEY_VALUE_PAIRS]
カスタム・グループ内にキー値シークレットのバージョンを作成します。
vault kv patch [-format=FORMAT] ibmcloud/kv/GROUP_ID/SECRET_NAME [KEY_VALUE_PAIRS]
前提条件
キーと値のシークレットを作成するには、ライターサービス役割が必要です。
コマンド・オプション
- -format
- 指定したフォーマットで出力を表示します。 有効なフォーマットは、
table
、json
、およびyaml
です。 デフォルトはtable
です。VAULT_FORMAT
環境変数を使用して出力フォーマットを設定することもできます。
例
キー値シークレットのペイロードを作成または更新します。
vault kv patch ibmcloud/kv/example-kv-secret key1=value1 key2=value2
カスタム・グループ内のキー値シークレットのペイロードを作成または更新します。
vault kv patch ibmcloud/kv/9426e546-83de-4da5-9631-d70c993186c8/example-kv-secret key1=value1 key2=value2
出力
kv
シークレットの新規バージョンを作成するコマンドは、以下の出力を返します。
Key Value
--- -----
created_time 2022-03-08T18:32:43.610242127Z
deletion_time n/a
destroyed false
version 2