Hashicorp Vault
Keeper Secrets ManagerとHashiCorp Vaultを連携させてデータソースとして使用
概説
Keeper Secrets ManagerとHashiCorp Vaultの連携により、KeeperボルトのシークレットをHashiCorp Vaultのデータストアとして使用できます。
機能
HashiCorp Vaultスクリプトとコマンドを使用して、Keeperボルトのシークレットを使用します
HashiCorp Vaultを使用してシークレット情報を読み取ります
HashiCorp Vaultから機密情報を更新します
Keeper Secrets Manager機能の完全なリストについては、概要をご参照ください。
前提条件
このページでは、Secrets ManagerとHashiCorp Vaultとの連携について説明します。 この連携を利用するための必要条件は以下のとおりです。
Keeper Secrets Managerへのアクセス(詳細は、クイックスタートガイドをご参照ください)
KeeperサブスクリプションのSecrets Managerアドオンの有効化
Secrets Manager強制ポリシーが有効化されたロールを割り当てられたメンバーシップ
シークレットを共有するKeeper Secrets Managerアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
Keeper Secrets Manager設定の初期化
HashiCorp Vault連携では、Base64形式の設定を使用できます
HashiCorp Vaultコマンドライン、およびVaultサーバーの稼働
インストール方法は、HashiCorp Vaultのドキュメントをご参照ください
インストール
1. Secrets Managerプラグインのダウンロード
以下の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を開発モードで起動
Secrets Managerプラグインを有効化
HashiCorp Vault CLI開発モードでは、揮発性インメモリストレージを利用します。 Keeperボルトのシークレットに対して実行されるアクションはすべて即時に実行されますが、HashiCorp Vaultを開発モードで起動するたびにプラグインを再度有効にする必要があります。
本番モード
本番環境に移行する準備ができたら、プラグインのSHA256ハッシュを使用して、プラグインを登録する必要があります。
Secrets Managerプラグインの登録と有効化
SHA256ハッシュの生成
本番環境のHashiCorp Vaultサーバーでプラグインを有効にするには、プラグインファイルのハッシュが必要です。 このハッシュは、Secrets Managerプラグイン用に生成できます。
Windows 7以降には、SHA256ハッシュの生成に使用できるCertUtilという組み込みツールが付属しています。この例では、CertUtilを使用してSHAハッシュを生成する方法を示しますが、SHA256でファイルハッシュを生成できるツールであればどれでも使用できます。
3. Secrets Manager接続を設定
HashiCorp Vaultプラグインがインストールされたので、シークレットのクレデンシャルにアクセスできるように、Keeperボルトへの安全な接続を確立する必要があります。 この接続を作成するには、Secrets Managerの設定を作成し、プラグインに割り当てる必要があります。
Secrets Managerの設定を作成
Secrets Managerの設定は、Keeper CommanderまたはSecrets Manager CLIを使用して作成できます。 設定の作成について詳しくは、設定のドキュメントをご参照ください。
設定が生成されたら、Vaultプラグインで使用する変数に設定します。
プラグインの使用
シークレットを一覧表示
記録は以下の形式で表示されます。
例:
個々のシークレットを取得
例:
TOTPコードの読み取り
例:
シークレットを更新
既存のシークレットを更新するには、以下のコマンドを使用して、更新されたシークレットの情報を表すJSONデータを渡します。 Keeperボルト内の対応する記録は、渡されたJSONデータと一致するように更新されます。
この例では、更新されたデータはファイルから渡されます。この方法は、よりシンプルですっきりしたCLIコマンドにお勧めです。 JSONデータはコマンドラインで渡すことができますが、引用符はエスケープする必要があります。
データファイルの例:
ヒント
次のコマンドを使用して、シークレットの現在の値をJSON形式で確認できます。
vault read -field=data -format=json ksm/record uid=<UID>
シークレットの作成
シークレットの更新と同様に、次のコマンドにJSONデータを渡して新しいシークレットを作成します。
この例では、更新されたデータはファイルから渡されます。この方法は、よりシンプルですっきりしたCLIコマンドにお勧めです。 JSONデータはコマンドラインで渡すことができますが、引用符はエスケープする必要があります。
データファイルの例:
最終更新