-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[Feature Request] Azure-repository snapshot support Client-side encryption for blobs #14222
Comments
I think we should also look into support managed identities for Azure Key Vault as well. As it became supported in #12423 |
[Triage - attendees 1 2 3 4 5] Thanks for filing. We do have work in flight for general client-side encryption for all repository stores: #5800, #7229 We could also explore the option of adding the option to use the feature within repository-azure as well as an alternative. I'm not totally opposed to that, but would be happy to hear the opinion from others as well. /cc @vikasvb90 |
@cthtrifork We rolled out client side encryption support outside of the repository plugins on top of repository layer so that encryption and repository plugins remain decoupled.
Once, both of these components are available, you can create an encrypted repository. Following is how a sample request would look like.
|
@vikasvb90 That is great. I don't think it make sense to do a proprietary/vendor solution if there is upcoming support for a generic approach. Any thoughts on when this could be available? Summer? Fall? Winter? |
To be clear, I am hoping clientside encryption becomes supported in |
@cthtrifork As I mentioned earlier, if an implementation of encryption plugin is available, core already has capability to register encrypted snapshots. Entire thing is decoupled and you don't need to put encryption within a repository plugin. Regarding impl of encryption plugin, there's no plan yet but feel free to refer this old PR #9823. Please refer to my previous comment on how an implementation of encryption plugin can allow registration of encrypted snapshots automatically. |
@vikasvb90 Thanks a lot for getting back to me. Perhaps I am just missing some understanding of the concept. So for my understanding. If we have this configured:
It would work "today"? given that we have a In our case, we would need to make a new plugin for the KMS part, as we can not rely on AWS-KMS, but have to make a plugin for Azure vault or hashicorp vault then. |
Correct! you will need to build key provider for azure. But in addition to this you also need to implement the actual encryption interface in the form of a module. You can refer to the old PR which is a bit complex #9823 but you can choose to provide a simpler or different encryption implementation. |
Thanks so much for clarifying. It seems like there is a lot of work left and no official work being done to progress this at the moment. I think we will try and test if https://github.com/Aiven-Open/encrypted-repository-opensearch covers our needs instead, as I am hesitant to implement an encryption implementation in a reliable, performant and secure manner. |
Is your feature request related to a problem? Please describe
We would like the plugin to support client side encryption:
https://learn.microsoft.com/en-us/azure/storage/blobs/client-side-encryption?tabs=java
Is there support for adopting this feature? We might make the pull request but I wanted to hear the opinion of the maintainers.
Describe the solution you'd like
Support the optional setup for client side encryption and allow configuration of access to Azure Key Vault.
Related component
Plugins
Describe alternatives you've considered
No response
Additional context
The Azure Blob Storage client libraries use envelope encryption to encrypt and decrypt your data on the client side. Envelope encryption encrypts a key with one or more additional keys.
The Blob Storage client libraries rely on Azure Key Vault to protect the keys that are used for client-side encryption. For more information about Azure Key Vault, see What is Azure Key Vault?.
The text was updated successfully, but these errors were encountered: