AWS KMSでの暗号化
AWS KMSでシークレットマネージャー接続の詳細情報を保護

Keeperシークレットマネージャーは、AWS KMSと統合することで、Keeperシークレットマネージャーの構成ファイルを暗号化できます。この統合により、マシン上の接続情報を保護しながら、すべてのシークレット認証情報に対してKeeperのゼロ知識暗号化を活用できます。
機能
AWS KMS を使用して、Keeperシークレットマネージャーの構成ファイルを暗号化および復号化
シークレットマネージャーの接続情報への不正アクセスを防止
わずかなコード変更で即座に保護を実現。すべてのKeeperシークレットマネージャーSDK機能と互換性あり
前提条件
セットアップ
1. モジュールのインストール
GradleまたはMavenを使用してプロジェクトをセットアップ
Gradle
Maven
npmを使用してシークレットマネージャー とAWS KMS統合をインストールします。
シークレットマネージャーのHSMモジュールは、Keeperシークレットマネージャーのストレージモジュールに含まれており、以下のコマンドでインストールできます。
AWS KMS統合には事前にboto3が必要です。以下のコマンドでマシンにインストールしてください。
以下のコマンドでシークレットマネージャーとAWS KMSの統合をインストールします。
以下のコマンドでシークレットマネージャーとAWS KMSの統合をインストールします。
2. AWS接続を構成
デフォルトでは、boto3ライブラリは、aws configureコマンドを使用したAWS CLIで既定の接続セッション設定を利用します。 接続の詳細情報を指定したい場合は、~/.aws/configと~/.aws/credentialsにある2つの設定ファイルを手動で編集できます。
または、AwsSessionConfigデータクラスを使用し、aws_access_key_id変数、aws_secret_access_key変数、aws_session_token変数を使用して、設定の変数をアクセスキーとして明示的に指定することもできます。
3. AWS KMSストレージをコードに追加
AWS接続の構成が完了すると、KSM構成ファイルの暗号化・復号に使用するキーを連携を通じて取得できます。また、シークレットマネージャーSDKに対して、KMSをストレージとして利用するよう指定する必要があります。
指定された接続認証情報の使用
この操作を行うには、SecretsManagerコンストラクタで、AwsKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AwsSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerコンストラクタで、AWSKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AWSセッション認証情報のAWSSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerのコンストラクタで、AwsKmsKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AwsSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerのコンストラクタで、AwsKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AwsSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerコンストラクタで、 AWSKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AwsSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
デフォルトの接続を使用
この操作を行うには、SecretsManagerコンストラクタで、AwsKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AwsSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerコンストラクタで、AWSKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AWSセッション認証情報のAWSSessionConfig、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerのコンストラクタで、AwsKmsKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerのコンストラクタで、AWSKeyValueStorageをシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
この操作を行うには、SecretsManagerコンストラクタで、AWSKeyValueStorage をシークレットマネージャーのストレージとして使用します。
このストレージには、AWSキーID、AWS KMSによって暗号化されるシークレットマネージャー構成ファイルの名前が必要となります。
AWS KMS連携の使用
セットアップが完了すると、シークレットマネージャーとAWS KMSの連携により、シークレットマネージャーPython SDKのすべての機能が利用できるようになります。 実行時に構成ファイルの復号化を管理するには、コードからAWS KMS APIにアクセスできなければなりません。
追加オプション
キーの変更
構成の暗号化に使用するキーは変更できます。以下はその変更に必要なコードの例となります。
構成の復号化
現在の実装を別のクラウド環境へ移行する場合や、生の認証情報を取得したい場合には、構成ファイルを復号できます。この関数はブール値を受け取り、true に設定すると復号された構成をファイルに保存し、false の場合は復号済みの構成内容のみを返します。
KSM統合機能を使用する準備ができました。
最終更新

