Azure Key Vaultでの暗号化
Azure Key Vault キーでシークレットマネージャーの接続情報を保護

KeeperシークレットマネージャーとAzure Key Vaultと連携することで、構成ファイルを暗号化できます。この連携により、接続情報をローカル環境で保護しつつ、すべての機密認証情報に対してKeeperのゼロ知識暗号化を活用できます。
機能
Keeperシークレットマネージャーの構成ファイルをAzure Key Vaultで暗号化および復号化
シークレットマネージャー接続への不正アクセスを防止
最小限のコード変更で即時に保護を実現。すべてのKeeperシークレットマネージャーSDK機能と連携
AzureのRSA非対称鍵に対応
要件
Java/Kotlin版Secrets Manager SDKに対応
Azureパッケージ (
azure-identityおよびazure-keyvault-keys) が必要WrapKeyおよびUnwrapKeyの権限を持つRSA鍵タイプのみに対応
Azureパッケージ (
@azure/identityおよび@azure/keyvault-keys) が必要WrapKeyおよびUnWrapKeyの権限を持つRSA鍵タイプのみに対応
azure-identityおよびazure-keyvault-keysのパッケージが必要
WrapKeyおよびUnWrapKeyの権限を持つRSA鍵タイプのみに対応
バージョン
net9.0に対応Azureパッケージ (
Azure.IdentityおよびAzure.Security.KeyVault.Keys) が必要WrapKeyおよびUnWrapKeyの権限を持つRSA鍵タイプのみに対応
GoLang Secrets Manager SDKに対応
Azureパッケージ (
azcore、azidentity、azkeys) に対応WrapKeyおよびUnWrapKeyの権限を持つRSA鍵タイプのみに対応
セットアップ
1. モジュールのインストール
GradleまたはMavenを使用してプロジェクトをセットアップ
Gradle
Maven
npmを使用してシークレットマネージャーとAzure Key Vaultモジュール統合をインストールします。
シークレットマネージャーストレージAzureモジュールは、pipを使用してインストールできます。
KeeperシークレットマネージャーのKSMモジュールは、Keeperシークレットマネージャーのストレージモジュールに含まれており、dotnetを使用してインストールします。
シークレットマネージャーとAzure KSMモジュールの統合は、以下のコマンドでインストールします。
2. Azure Key Vaultの接続を構成
Azure Key Vaultインスタンスが利用可能であることを確認してください。Azure Key Vaultに接続するために必要な以下のパラメータが必要です。
AZURE_TENANT_ID: The Microsoft Entra tenant (directory) ID.
AZURE_CLIENT_ID: The client (application) ID of an App Registration in the tenant.
AZURE_CLIENT_SECRET: A client secret that was generated for the App Registration.
Azure Key Vault統合を使用するには、Azure Appディレクトリのアプリが必要です。
3. コードにAzure Key Vaultストレージを追加する
Azure接続が構成されたら、Azureキーを使用してKSM構成の暗号化/復号化を行うためにキーを取得できます。また、Secrets Manager SDKに対して、キー ボルトをストレージとして使用するよう指示する必要があります。
Azure Key Vault統合の使用
設定が完了すると、Secrets Manager Azure Key Vault統合はすべてのSecrets Manager SDK機能をサポートします。コードは、KSM構成ファイルの暗号化および復号化を管理するために、Azureキーにアクセスできる必要があります。 指定された接続認証情報の使用
この操作を行うには、AzureKeyValueStorageインスタンスを作成し、SecretManagerOptionsコンストラクタで使用します。
AzureKeyValueStorageは、azure_key_id、azure_keyvault_URL、構成が含まれたシークレットマネージャー構成ファイルの名前を必要とします。
この操作を行うには、SecretsManagerコンストラクタで、AzureKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージには、Azure Key IDと、Azure Key Vaultによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerコンストラクタで、トークンと共にAzureKeyValueStorageを構成として指定し、シークレットマネージャーのストレージとして使用します。
このストレージでは、Azure Key ID、Azure-KSM統合によって暗号化されるシークレットマネージャー構成ファイルの場所、そして以下のようなAzureセッション構成が必要です。
この操作を行うには、SecretsManagerコンストラクタで、AzureKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージでは、Azure Key IDと、Azure Key Vaultによって暗号化されるシークレットマネージャー構成ファイルの名前が必要です。オプションでAzureSessionConfigを指定することも可能です。認証情報が指定されていない場合は、既定の認証情報が使用されます。
この操作を行うには、SecretsManagerコンストラクタで、NewAzureKeyValueStorageをシークレットマネージャーのストレージとして使用します。
NewAzureKeyVaultStorageでAzure Key Vaultを使用してKSM構成を暗号化するには、以下のパラメータが必要です:
ksmConfigFileName: KSM構成ファイルの名前keyURL: Azure KeyのURL
追加オプション
キーの変更
KSM構成の暗号化に使用するキーを変更することも可能です。以下の例は、そのために必要なコードとなります。
構成の復号化
現在の実装を別のクラウド環境へ移行する場合や、生の認証情報を取得したい場合には、構成の復号が可能です。この関数はブール値を受け取り、trueに設定すると復号化された構成をファイルに保存し、falseの場合は復号化された構成を返します。
KSM統合機能を使用する準備ができました。
最終更新

