[JAVA] Testen Sie die Verarbeitung mit AWS KMS auf einem lokalen PC

Ein Memo beim Testen der Verarbeitung mit KMS auf einem lokalen PC.

Dinge notwendig

Quelle hier

Ausführungsverfahren

1. Vorbereitung von local-kms

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

2. Vorbereiten des AWS SDK

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

Referenz

Recommended Posts

Testen Sie die Verarbeitung mit AWS KMS auf einem lokalen PC
Stellen Sie über die Docker-Umgebung auf Ihrem lokalen PC eine Verbindung zu AWS RDS her
[Ruby on Rails] Test mit RSpec anzeigen
[Ruby on Rails] Controller-Test mit RSpec
[Ruby on Rails] Modelltest mit RSpec
Erstellen Sie eine Umgebung mit Docker unter AWS