Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AWS KMS client connector #2253

Open
wants to merge 6 commits into
base: development/7.70
Choose a base branch
from

Conversation

outscale-fba
Copy link
Contributor

Add AWS KMS client connector

New code to use AWS KMS for bucket encryption, based on the KMIP implementation.

Add an optional "GenerateDataKey" function on the kms client API, only defined in the AWS KMS client. This new function is used in cloudserver when detected for the creation of a datakey. For others existing KMS implementations (KMIP, file, memory, ...) the behavior is unchanged.

The following modifications are made:

Arsenal:

  • new package dependency: @aws-sdk/client-kms
  • new dev dependency: aws-sdk-client-mock
  • new source file for implementing the AWS KMS backend connector
  • introduce a new optional "GenerateDataKey" function on the client
  • add unit tests on the new AWS KMS client.

Cloudserver:

  • Add a new configuration section for the AWS KMS backend connector,
  • New code to use the GenerateDataKey function when available.

Implement KMS Client using aws nodejs official client.
Implement the generateDataKey method that create a datakey
and cipher it in 1 operation. The result is the datakey
in both plaintext and cipher forms.

This new method is detected by cloudserver and used preferentially
when available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant