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

Add security API to corto #537

Open
SanderMertens opened this issue Sep 7, 2016 · 1 comment
Open

Add security API to corto #537

SanderMertens opened this issue Sep 7, 2016 · 1 comment

Comments

@SanderMertens
Copy link
Member

SanderMertens commented Sep 7, 2016

Security in corto is meant to restrict the flow of data from one source to another. Without security, a user can subscribe for, or query for any object, and data can flow freely between connectors. Corto security is meant to address this.

Security features will be implemented on the lowest level, in the core API, where data-centric policies will determine whether a user is allowed to create, read, update or delete an object. The security API will allow a user to authenticate itself and authorize its actions. In addition, the API will log security events for accounting purposes.

The security API will have a plugin architecture that allows users to write their own authentication and authorization plugins. Furthermore, the API will leverage hierarchies and support cascading policies.

Authentication will happen at process level (as opposed to thread level). This simplifies the architecture, and reduces the amount of potential attach vectors. Switching authentication from one user to another will be cheap, which is useful for example when a webserver is serving requests to many different users.

For more details on the design and API, see: https://corto.io/doc/api.html#Core_API_Security

@SanderMertens
Copy link
Member Author

SanderMertens commented Oct 8, 2016

The security API and testcases are place. A few features need to be added before this issue can be closed:

  • Allow logging in with a key (vs just username + password)
  • Enable guest access
  • Add user attributes:
    • "home" scope (accessed by new ~ operator in object identifiers)
    • Avatar image
  • Allow passing more context to authorize calls (pass parameters of operation to authorize)

@SanderMertens SanderMertens modified the milestones: alpha 0.3.0, 1.0.0 beta Feb 11, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant