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

Encryption in Mongodb #10575

Draft
wants to merge 9 commits into
base: 4.6.x
Choose a base branch
from
Draft

Encryption in Mongodb #10575

wants to merge 9 commits into from

Conversation

phiz71
Copy link
Member

@phiz71 phiz71 commented Jan 30, 2025

Issue

N/A

Description

Enable encryption feature with mongodb and allow encryption of some sensitive data in User and Metadata

🏗️ Your changes can be tested here and will be available soon:
Console: https://pr.team-apim.gravitee.dev/10575/console
Portal: https://pr.team-apim.gravitee.dev/10575/portal
Management-api: https://pr.team-apim.gravitee.dev/10575/api/management
Gateway v4: https://pr.team-apim.gravitee.dev/10575
Gateway v3: https://pr.gateway-v3.team-apim.gravitee.dev/10575


📚  View the storybook of this branch here

@phiz71 phiz71 requested a review from jhaeyaert January 30, 2025 07:19
@phiz71 phiz71 force-pushed the pii-encryption-in-mongodb branch 6 times, most recently from abbffc5 to 8471199 Compare January 30, 2025 18:19
@phiz71 phiz71 added the ready_to_test Push the code from the PR into a dedicated environment label Jan 31, 2025
@phiz71 phiz71 force-pushed the pii-encryption-in-mongodb branch 2 times, most recently from 4c10f07 to 35423f3 Compare January 31, 2025 16:35
Allow to add new MongoConverters more easily
Allow to enable encryption mode in mongodb
License and Token
For Mongodb encryption to work, we need additional libraries. One of them is nearly 30Mb. As it is not yet an official support, we have decided to add them manually in the dev docker image only, instead of adding them in the mongodb repository plugin.
Encryption has been introduced in mongo repository plugin.
As a consequence, the search method for users has to rely on encrypted field to be consistent.
To order users by `name` (or another encrypted field), Lucene search engine has to be used
(See io.gravitee.rest.api.service.impl.UserServiceImpl.search(ExecutionContext, String, Pageable))
@phiz71 phiz71 force-pushed the pii-encryption-in-mongodb branch from 35423f3 to e7ca6a4 Compare January 31, 2025 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready_to_test Push the code from the PR into a dedicated environment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants