aws / aws/aws-encryption-sdk-java
Support MultiProvider Encrypt when not all providers are available
- Dominant language
- Java
- Stars
- 240
- Forks
- 125
- PR merge metrics
- No merged PRs in 30d
Description
First off - what a great library. This solves many problems that a developer would have otherwise needed to handle on their own. Thank you!
We are looking to use this library to provide Multi-Region KMS encrypt and decrypt operations, where if any KMS service in any single region is down, we are not down. This works today for Decrypt operations which is awesome, but not Encrypt operations - all providers must be available to encrypt data. In a sense, what one was attempting to achieve in reducing the risk of an outage by leveraging two different KMS’s (for instance), you actually increase your outage risk on encrypt operations because if a single KMS provider is down in any region, you are down for encrypts.
I would like to see the MultiProviderFactory have some construction options where I can specify the minimum number of providers (or a quorum) that must be available for encrypt to succeed - or something of the sort. Leaving it configurable allows the product to decide how much risk to take on (for encrypting data that can not be decrypted later by every single provider in the event providers are not available)
Contributor guide
Assessment
This issue has not been assessed yet.