Ein Memo beim Testen der Verarbeitung mit KMS auf einem lokalen PC.
Starten Sie local-kms, die vom AWS SDK im Container aufgerufen werden.
Da wir diesmal die Ver- und Entschlüsselung testen, legen Sie den für die Verschlüsselung verwendeten Schlüssel fest. Erstellen Sie eine seed.yaml-Datei mit dem Dokument local-kms.
Keys:
- Metadata:
KeyId: bc436485-5092-42b8-92a3-0aa8b93536dc
BackingKeys:
- 5cdaead27fe7da2de47945d73cd6d79e36494e73802f3cd3869f1d2cb0b5d7a9
Aliases:
- AliasName: alias/testing
TargetKeyId: bc436485-5092-42b8-92a3-0aa8b93536dc
Starten Sie nach dem Erstellen von yaml local-kms.
docker run -p 8080:8080 \
--mount type=bind,source="$(pwd)"/init,target=/init \
nsmithuk/local-kms
Gibt an, dass beim Erstellen einer KMSClient-Instanz über die Endpunktkonfiguration auf local-km zugegriffen werden soll. Die Region kann alles sein.
//Geben Sie das lokale KMS für Endpoint an.Region ist überall in Ordnung
AwsClientBuilder.EndpointConfiguration endpointConfig =
new AwsClientBuilder.EndpointConfiguration("http://localhost:8080/", "ap-northeast-1");
kmsClient = AWSKMSClientBuilder.standard().withEndpointConfiguration(endpointConfig).build();
Rufen Sie danach die erforderliche Methode vom generierten KMSClient auf. local-kms führt die Ver- und Entschlüsselung genau wie KMS durch. Sie können auch einen Kundenschlüssel registrieren. Dies ist einfach, da Sie nicht in AWS bereitstellen oder KMS einrichten müssen.
Übrigens sieht das aufgerufene Log auf der lokalen km-Seite so aus. Das Konto und die Region scheinen angemessen zu sein.
Encryption called: arn:aws:kms:eu-west-2:111122223333:key/bc436485-5092-42b8-92a3-0aa8b93536dc
Recommended Posts