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

Restrict client access to view and modify config of other clients/applications #36

Open
awillersrud opened this issue Mar 18, 2016 · 0 comments

Comments

@awillersrud
Copy link
Contributor

Use case is that preregistered clients should only be able to view their own config. It should not be possible to read the config of other applications, or the config of other clients of the same application.

ConfigService currently use basic auth and support a single user, which has access to all data and exposed endpoints. The credentials for that user must be distributed with the clients.

We need a separate admin user and one client user per preregistered client.

Requirements

  • User administration. Create and update users. Grant and revoke access to resources.
  • Restrict access to one or more applicationconfig's per user.
  • (Optional) Restrict access to application per user.
  • (Optional) Roles for admin and client users. Restrict access to only the client endpoints for client role.

Consider WhyDah integration?

Shared client user (not suggested)
Another far simpler, but less secure approach would be to assume that clients cannot guess other clients id's. In that case we can use a shared client user and protect the following endpoints:

POST /client/registration
POST /client/{clientId}/sync

Those endpoints do not expose any data about other applications or clients as long as you do not know their id.

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

No branches or pull requests

1 participant