Azure Key Vault
KeeperボルトのシークレットをAzure Key Vaultと同期
概説
Keeper Secrets Manager CLIツールのsync
コマンドを使用すると、Keeperボルトから目的のAzure Key Vaultアカウントにシークレットをプッシュし、目的の場所にある既存の値を上書きできます。 これにより、Keeperボルトが、Key Vaultを利用するAzureのすべてのサービスまたはスクリプトの信頼できる唯一の情報源となります。
機能
KeeperボルトのシークレットをAzure Key Vaultの信頼できる情報源として使用します
Azureの既存のスクリプトとサービスでKeeperボルトのシークレットがシームレスに使用できるようになります
前提条件
Keeper Secrets Managerへのアクセス(詳細は、クイックスタートガイドをご参照ください)
KeeperアカウントのSecrets Managerアドオンの有効化
Secrets Manager強制ポリシーが有効化されたロールを割り当てられたメンバーシップ
シークレットを共有するKeeper Secrets Managerアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
Key VaultのAzureアカウントと、セキュリティプリンシパルを作成する機能
設定
1.Keeper Secrets Manager CLIを設定
KSM CLIがすでにマシンに設定済みの場合は、この手順を省略できます。
KSM CLIツールを設定するには、Keeper Secrets Managerのワンタイムアクセストークンを使用してプロファイルを作成する必要があります。
これを行う最も簡単な方法は、次のコマンドを使用してデフォルトのプロファイルを初期化することです。
ksm profile init <TOKEN>
複数のプロファイルの作成およびその他のオプションについては、プロファイルのドキュメントをご参照ください。
2.Azureアクセス権限の設定
AzureとのKSM同期を使用するには、接続を受け入れるようにAzureアカウントを設定する必要があります。Key Vaultを使用するAzureアカウントに対し、Key Vaultでのキー操作の実行を許可されたサービスプリンシパルを有効にする必要があります。
以下のMicrosoftのガイドに従って、サービスプリンシパルを設定してください。
3.Azureクレデンシャル記録の作成
KSM CLIでは、シークレットを設定するためにAzureアカウントのクレデンシャルが必要です。 これらのクレデンシャルはKeeperの記録に保存されており、CLIツールからは、Keeper Secrets Managerを使用してアクセスできます。
クレデンシャル記録には、以下のラベルを持つ記録フィールドが必要です。
「Azure Tenant ID」
「Azure Client ID」
「Azure Client Secret」
「Azure Key Vault Name」
Azureアプリケーション登録からクライアントシークレットを取得する際は、[Azureクライアントシークレット]フィールドに、シークレットIDではなく値をコピーするようにしてください。
(方法1)Azureクレデンシャルのカスタムの記録タイプを作成
必要なフィールドを使用してカスタムの記録タイプを作成できるため、記録の作成が簡単かつシンプルになります。
カスタムの記録タイプを作成するには、Keeperボルトで「カスタムの記録タイプ」タブに移動して、「タイプの作成」をクリックします。 正しいフィールドラベルが設定された伏せ字項目を使用して新しい記録タイプを作成し、「発行」をクリックして新しい記録タイプを作成します。
後は、Azureクレデンシャルタイプの記録を新規作成し、対応するフィールドに詳細情報を入力するだけです。
この新しい記録が、Secrets Managerアプリケーションで共有された共有フォルダに格納されていることを確認します。
(方法2)カスタムフィールドを追加
新しい記録タイプを作成せずにクレデンシャル記録を作成するには、必要なフィールドをカスタムフィールドとして標準記録に追加します。
任意のタイプの新しい記録を作成し、必要なAzureフィールドごとに「伏せ字項目」タイプのカスタムフィールドを追加します。 「ラベルの編集」をクリックして、ラベルを対応するフィールド名に変更します。
どの記録タイプでも有効ですが、「ファイル添付」の標準記録タイプにはフィールドがないため、カスタムフィールドを追加したときの見た目がすっきりします。
次に、各カスタムフィールドに入力し、「保存(Save)」をクリックして記録を保存します。
4.値のマッピングを作成
KSM CLIのsync
コマンドは、コマンド呼び出しで定義されたマッピングを使用して、設定する値を識別します。コマンドに渡されたマッピングごとに、指定した名前の値にKeeperボルトから所与の値が代入されます。
これらのマッピングは次の形式に従っています。
--map "VALUE KEY" "KEEPER NOTATION"
VALUE KEY
は、Azure Key Vaultで値が割り当てられるキーの名前です。
KEEPER NOTATION
は、キーに設定するKeeperの記録の値を取得するKeeper表記法を使用したクエリです。
Keeper表記法は、Keeper Secrets Managerが特定の記録の値を識別するために使用するクエリの表記法です。 この表記法は、次の一般的な形式に従います。UID/
[field|custom]/fieldname
例: ae3d[...]d22e/field/password
詳細は、Keeper表記法のドキュメントをご参照ください。
これらの例では、完全なUID記録が指定されていないことにご注意ください。
完全なマッピング例:
--map "MySQL_PWD" "jd3[...]i-fd/field/password"
複数のマッピングを1つのsync
コマンドに追加できます
--map "MySQL_PWD" "jd3[...]i-fd/field/password" --map "MySQL_Login" "jd3[...]i-fd/field/login"
Keeper表記法を使用したクエリによって参照される記録が、Secrets Managerアプリケーションと共有されている共有フォルダに格納されていることを確認します。
これで、KSM同期を実行する準備ができました
同期の実行
同期を実行するには、クレデンシャル記録と値のマッピングを指定して、KSM CLIのsync
コマンドを使用します
1.コマンドを構成
KSM syncコマンドをAzureタイプと組み合わせます。 以下のような形式になります。
ksm sync --type azure --credentials [UID] --map [...] --map [...]
2.ドライランを実行
syncコマンドは、実際に値をプッシュすることも変更を加えることもせずに、Azure Key Vaultの値に加えられるすべての変更を確認するドライランの実行をサポートします。 これを使用して、マッピングクエリが正しく構成されていることを確認します。
ksm sync --type azure --credentials [UID] --map [...] --map [...] --dry-run
3.同期を実行
準備ができたら、dry-runオプションを指定せずにsyncコマンドを実行します。 これにより、KeeperボルトからAzure Key Vaultに値がプッシュされます
ヒント: --map
の短縮形として、-m
を使用できます
ksm sync --type azure --credentials [UID] -m [...] -m [...]
最終更新