Hashicorp Vault
KeeperシークレットマネージャーとHashiCorp Vaultを連携させてデータソースとして使用

概説
KeeperシークレットマネージャーとHashiCorp Vaultの連携により、KeeperボルトのシークレットをHashiCorp Vaultのデータストアとして使用できます。
機能
HashiCorp Vaultスクリプトとコマンドを使用して、Keeperボルトのシークレットを使用します
HashiCorp Vaultを使用してシークレット情報を読み取ります
HashiCorp Vaultからシークレット情報を更新します
要件
この統合機能を利用するには以下が必要となります。
Keeperシークレットマネージャーへのアクセス (詳しくはクイックスタートガイドをご参照ください)
Keeperサブスクリプションのシークレットマネージャーアドオンの有効化
シークレットマネージャー関連ポリシーが有効化されたロールのメンバーシップ
シークレットを共有するKeeperシークレットマネージャーアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
Keeperシークレットマネージャー構成の初期化
HashiCorp Vault連携では、Base64形式の設定を使用できます
HashiCorp Vaultコマンドライン、およびVaultサーバーの稼働
インストール方法は、HashiCorp Vaultのドキュメントをご参照ください
インストール
1. シークレットマネージャープラグインのダウンロード
以下のKSM GitHubのページから最新のインテグレーションリリースをダウンロードします。
一覧からご利用のプラットフォームに適合するvault-pluginのリリースを探します。
プラグインを解凍し、HashiCorp Vaultのpluginsディレクトリに配置します。 この例では、フォルダはC:\vault\plugins
(Windows) または/etc/vault/vault_plugins
(MacOS/ Linux) にあります。
2. HashiCorp Vaultにプラグインを登録
開発モード
プラグインをテストしたり、迅速な開発を可能にしたりするために、開発モードを使用して、HashiCorp Vault CLIをすばやく起動できます。
HashiCorp Vaultを開発モードで起動
シークレットマネージャープラグインを有効化
HashiCorp Vault CLI開発モードでは、揮発性インメモリストレージを利用します。 Keeperボルトのシークレットに対して実行されるアクションはすべて即時に実行されますが、HashiCorp Vaultを開発モードで起動するたびにプラグインを再度有効にする必要があります。
本番モード
本番環境に移行する準備ができたら、プラグインのSHA256ハッシュを使用して、プラグインを登録します。
シークレットマネージャープラグインの登録と有効化
SHA256ハッシュの生成
本番環境のHashiCorp Vaultサーバーでプラグインを有効にするには、プラグインファイルのハッシュが必要です。このハッシュは、シークレットマネージャープラグインに対して生成できます。
Windows 7以降の環境には、SHA256ハッシュを生成するための組み込みツールとして CertUtil が含まれています。以下は、CertUtilを使ってSHAハッシュを生成する方法の例です。ただし、SHA256形式でファイルのハッシュを生成できるツールであれば、他のツールを使用しても問題ありません。
3. シークレットマネージャー接続の構成
HashiCorp Vaultプラグインがインストールされたので、シークレット認証情報へアクセスできるよう、Keeperボルトとのセキュアな接続を確立します。この接続を作成するには、シークレットマネージャー構成を作成し、それをプラグインに割り当てる必要があります。
シークレットマネージャー構成を作成
シークレットマネージャーの構成は、KeeperコマンダーまたはシークレットマネージャーCLIを使用して作成できます。構成の作成方法については、構成のページをご参照ください。
構成が生成されたら、その内容をVaultプラグインで使用するために変数に設定します。
プラグインの使用
シークレットを一覧表示
レコードは以下の形式で表示されます。
例:
個々のシークレットを取得
例:
TOTPコードの読み取り
例:
シークレットを更新
既存のシークレットを更新するには、以下のコマンドを使用して、更新されたシークレットの情報を表すJSONデータを渡します。 Keeperボルト内の対応するレコードは、渡されたJSONデータと一致するように更新されます。
この例では、更新データをファイルから渡しています。CLIコマンドをより簡潔でわかりやすくするために、この方法が推奨されます。JSONデータをコマンドライン上で直接渡すことも可能ですが、その場合は引用符をエスケープする必要があります。
データファイルの例:
シークレットの作成
シークレットの更新と同様に、次のコマンドにJSONデータを渡して新しいシークレットを作成します。
この例では、更新データをファイルから渡しています。CLIコマンドをより簡潔でわかりやすくするために、この方法が推奨されます。JSONデータをコマンドライン上で直接渡すことも可能ですが、その場合は引用符をエスケープする必要があります。
データファイルの例:
シークレットの削除
最終更新