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

概説
KeeperシークレットマネージャーとHashiCorp Vaultの連携により、KeeperボルトのシークレットをHashiCorp Vaultのデータストアとして使用できます。
機能
HashiCorp Vaultスクリプトとコマンドを使用して、Keeperボルトのシークレットを使用します
HashiCorp Vaultを使用してシークレット情報を読み取ります
HashiCorp Vaultから機密情報を更新します
Keeperシークレットマネージャー機能の完全なリストについては、概要をご参照ください。
前提条件
このページでは、シークレットマネージャーと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. Secrets Manager接続を設定
HashiCorp Vaultプラグインがインストールされたので、シークレットのクレデンシャルにアクセスできるように、Keeperボルトへの安全な接続を確立する必要があります。 この接続を作成するには、シークレットマネージャーの設定を作成し、プラグインに割り当てる必要があります。
シークレットマネージャーの設定を作成
シークレットマネージャーの設定は、KeeperコマンダーまたはシークレットマネージャーCLIを使用して作成できます。 設定の作成について詳しくは、設定のドキュメントをご参照ください。
設定が生成されたら、Vaultプラグインで使用する変数に設定します。
プラグインの使用
シークレットを一覧表示
レコードは以下の形式で表示されます。
例:
個々のシークレットを取得
例:
TOTPコードの読み取り
例:
シークレットを更新
既存のシークレットを更新するには、以下のコマンドを使用して、更新されたシークレットの情報を表すJSONデータを渡します。 Keeperボルト内の対応するレコードは、渡されたJSONデータと一致するように更新されます。
この例では、更新されたデータはファイルから渡されます。この方法は、よりシンプルですっきりしたCLIコマンドにお勧めです。 JSONデータはコマンドラインで渡すことができますが、引用符はエスケープする必要があります。
データファイルの例:
ヒント
次のコマンドを使用して、シークレットの現在の値をJSON形式で確認できます。
vault read -field=data -format=json ksm/record uid=<UID>
シークレットの作成
シークレットの更新と同様に、次のコマンドにJSONデータを渡して新しいシークレットを作成します。
この例では、更新されたデータはファイルから渡されます。この方法は、よりシンプルですっきりしたCLIコマンドにお勧めです。 JSONデータはコマンドラインで渡すことができますが、引用符はエスケープする必要があります。
データファイルの例:
最終更新