Un mémo lors du test du traitement à l'aide de KMS sur un PC local.
Démarrez les local-kms appelés à partir du kit AWS SDK dans le conteneur.
Puisque nous allons tester le cryptage et le décryptage cette fois, définissez la clé utilisée pour le cryptage. Créez un fichier seed.yaml avec le document local-kms tel quel.
Keys:
- Metadata:
KeyId: bc436485-5092-42b8-92a3-0aa8b93536dc
BackingKeys:
- 5cdaead27fe7da2de47945d73cd6d79e36494e73802f3cd3869f1d2cb0b5d7a9
Aliases:
- AliasName: alias/testing
TargetKeyId: bc436485-5092-42b8-92a3-0aa8b93536dc
Après avoir créé yaml, démarrez local-kms.
docker run -p 8080:8080 \
--mount type=bind,source="$(pwd)"/init,target=/init \
nsmithuk/local-kms
Spécifie d'accéder aux kms locaux à partir de la configuration du point de terminaison lors de la création d'une instance KMSClient. La région peut être n'importe quoi.
//Spécifier le KMS local pour Endpoint.La région est OK n'importe où
AwsClientBuilder.EndpointConfiguration endpointConfig =
new AwsClientBuilder.EndpointConfiguration("http://localhost:8080/", "ap-northeast-1");
kmsClient = AWSKMSClientBuilder.standard().withEndpointConfiguration(endpointConfig).build();
Après cela, appelez la méthode nécessaire à partir du KMSClient généré. local-kms effectue le chiffrement et le déchiffrement tout comme KMS. Vous pouvez également enregistrer une clé client. C'est facile car vous n'avez pas besoin de déployer sur AWS ou de configurer KMS.
À propos, le journal appelé du côté des kms locaux ressemble à ceci. Le compte et la région semblent appropriés.
Encryption called: arn:aws:kms:eu-west-2:111122223333:key/bc436485-5092-42b8-92a3-0aa8b93536dc
Recommended Posts