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

Configuration for disabling database, schema and tables listing #741

Closed
vmesel opened this issue Nov 24, 2022 · 6 comments · Fixed by #748
Closed

Configuration for disabling database, schema and tables listing #741

vmesel opened this issue Nov 24, 2022 · 6 comments · Fixed by #748

Comments

@vmesel
Copy link
Member

vmesel commented Nov 24, 2022

As I work with confidential data, I would like to protect a malicious user from knowing my database, tables, and schema. We already have the possibility of blocking access to tables contents, but I didn't found anything, i.e., regarding blocking access to the /database endpoint.

@arxdsilva
Copy link
Member

ye now it is open, but if you connect to a cloud provider you'll also be able to see all other DBs there, so It should be possible for us but it has to be configurable, since some users use this endpoint now for healthcheck and other purposes.

@vmesel
Copy link
Member Author

vmesel commented Nov 24, 2022

What do you think about adding a PREST_PROTECTED_ROUTES environment variable or a setting in the .toml like:

[protected-route]
route = "/databases"
readable = false

?

@arxdsilva
Copy link
Member

arxdsilva commented Nov 24, 2022

What do you think about adding a PREST_PROTECTED_ROUTES environment variable or a setting in the .toml like:

[protected-route]
route = "/databases"
readable = false

?

I'm not sure this is the best approach, sure would work but we'd rather have a better user-management permissions system than adding possible tech debt.

I'm not trying to be harsh or anything, lets just ensure that we have the best scalable solution to our users, this is definitaly something that we want to work on the near future.

@vmesel
Copy link
Member Author

vmesel commented Nov 24, 2022

I know you are not being harsh, no worries at all! I'm bringing it up so we can discuss it together. Can't we build something as a temporary solution and then change it to stick to the new user system, as we are still solving the problem with multi-database management?

@arxdsilva
Copy link
Member

arxdsilva commented Nov 24, 2022

we could, but the problem with temporary solutions is that once people start relying on that It is very hard to make them migrate, so this has the potential of having users stuck to a version that they cannot migrate from due to this feature.

I'm ok with having this new optional middleware, as long as it is explicitly documented that this will disapear soon and people should not rely on it.

@vmesel
Copy link
Member Author

vmesel commented Nov 24, 2022

@avelino what are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants