AWS KMS

AWS KMSを使用してSecrets Manager接続に関する詳細情報を保護

Keeper Secrets ManagerはAWS KMSと連携して、Keeper Secrets Managerの設定ファイルを保護します。 この連携により、マシン上の接続に関する詳細情報を保護しながら、すべてのシークレットのクレデンシャルに対して、Keeperのゼロ知識暗号化を利用できます。

機能

  • AWS KMSを使用して、Keeper Secrets Managerの設定ファイルを暗号化および復号します

  • Secrets Manager接続に対する不正アクセスから保護します

  • 必要なのはコードにわずかな変更を加えるだけで、即座に保護できます。 Keeper Secrets Manager Python SDKの機能をすべて使用できます

前提条件

設定

1.KSMストレージモジュールのインストール

Secrets Manager HSMモジュールは、Keeper Secrets Managerストレージモジュールに格納されており、pipを使用してインストールできます

pip3 install keeper-secrets-manager-storage

2.boto3のインストール

boto3は、AWS KSM連携に不可欠です。 pipを使用してマシンにインストールします。

pip3 install boto3

3.AWS接続を設定

デフォルトでは、boto3ライブラリは、aws configureコマンドを使用したAWS CLIで既定の接続セッション設定を利用します。 接続の詳細情報を指定したい場合は、~/.aws/config~/.aws/credentialsにある2つの設定ファイルを手動で編集できます。

AWSセッション設定の詳細は、以下のAWSのドキュメントをご参照ください。https://docs.aws.amazon.com/cli/latest/reference/configure/

または、AwsSessionConfigデータクラスを使用し、aws_access_key_id変数、aws_secret_access_key変数、aws_session_token変数を使用して、設定の変数をアクセスキーとして明示的に指定することもできます。

AWS KMS連携を使用するには、AWSアクセスキーが必要です。

AWSアクセスキーの詳細は、次のAWSのドキュメントをご参照ください。https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/

4.AWS KMSストレージをコードに追加

AWS接続が設定されたので、KMSをストレージとして利用するようにSecrets Manager SDKに指示する必要があります。

これを行うには、SecretsManagerコンストラクタで、AwsKmsKeyValueStorageをSecrets Managerストレージとして使用します。

このストレージには、AWSキーIDと、AWS KMSによって暗号化されるSecrets Managerの設定ファイルの名前が必要です。

AWS_KMS_example_default.py
from keeper_secrets_manager_core import SecretsManager
from keeper_secrets_manager_hsm.storage_aws_kms import AwsKmsKeyValueStorage

key_id = 'c5[...]576'
    
config = AwsKmsKeyValueStorage(key_id, 'client-config.json') # default session
 
secrets_manager = SecretsManager(config=config, verify_ssl_certs=True)
all_records = secrets_manager.get_secrets()

AWS KMS連携の使用

設定が完了すると、Secrets ManagerとAWS KMSの連携により、Secrets Manager Python SDKのすべての機能が利用できます。 実行時に設定ファイルの復号化を管理するには、コードがAWS KMS APIにアクセスできる必要があります。

その他の例と機能については、KSM SDKのドキュメントをご参照ください。

最終更新