はじめに
HashiCorp Vaultは、機密情報の安全な保存、アクセス制御、秘密管理を行うためのツールです。今回は、Vaultを使ってシークレット情報のバージョンを更新し、異なるバージョンのシークレットにアクセスする方法について説明します。
前回の記事:
バージョン更新
まず、新しいバージョンのシークレット情報をVaultに書き込みます。以下のコマンドを使用します。
vault kv put -mount=secret hello k=v
このコマンドにより、helloというパスにk=vというキーバリューのペアが保存されます。以下のようなメッセージが表示されます。
== Secret Path ==
secret/data/hello
======= Metadata =======
Key Value
--- -----
created_time 2024-07-09T08:18:52.472183Z
custom_metadata <nil>
deletion_time n/a
destroyed false
version 2
各バージョンにアクセス
次に、Vaultから保存したシークレット情報を読み取ります。最新バージョンのシークレット情報を取得するには、以下のコマンドを使用します。
vault kv get -mount=secret hello
このコマンドにより、helloというパスに保存されたデータが表示されます。
== Secret Path ==
secret/data/hello
======= Metadata =======
Key Value
--- -----
created_time 2024-07-09T08:18:52.472183Z
custom_metadata <nil>
deletion_time n/a
destroyed false
version 2
== Data ==
Key Value
--- -----
k v
特定のバージョンのシークレット情報を取得するには、-versionオプションを使用します。以下に例を示します。
vault kv get -version=1 -mount=secret hello
このコマンドにより、バージョン1のデータが表示されます。
== Secret Path ==
secret/data/hello
======= Metadata =======
Key Value
--- -----
created_time 2024-07-09T08:01:44.354577Z
custom_metadata <nil>
deletion_time n/a
destroyed false
version 1
=== Data ===
Key Value
--- -----
foo world
バージョン2のデータを取得する場合は以下のコマンドを使用します。
vault kv get -version=2 -mount=secret hello
== Secret Path ==
secret/data/hello
======= Metadata =======
Key Value
--- -----
created_time 2024-07-09T08:18:52.472183Z
custom_metadata <nil>
deletion_time n/a
destroyed false
version 2
== Data ==
Key Value
--- -----
k v
バージョン履歴の確認
ブラウザでhttp://127.0.0.1:8200/ui/vault/secrets/secret/kv/hello/details?version=1にアクセスすると、バージョン1のシークレット情報が確認できます。また、バージョン履歴も確認することができます。
まとめ
今回は、HashiCorp Vaultを使ってシークレット情報のバージョンを更新し、異なるバージョンのシークレットにアクセスする方法について説明しました。Vaultを使用することで、シークレット情報のバージョン管理を簡単に行うことができます。Vaultのバージョン管理機能を活用して、シークレット情報の安全な管理を行いましょう。


