-
Notifications
You must be signed in to change notification settings - Fork 9
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
KEP 60 - Role-based Access Control (RBAC) #60
Conversation
Signed-off-by: Johannes <[email protected]>
Signed-off-by: Johannes <[email protected]>
Signed-off-by: Johannes <[email protected]>
We should consider this aspect too: keptn/keptn#4833 |
Support OIDC/OAuth2.0for Bridge/CLI/Distributor
Bridge
CLI
CoreDistributorDocsResources |
Is there a option to Split this up into different Issues, Deliverables? i.e. for us the missing oAuth2/OPenID support is the most blocking issue to roll out keptn in the organization. Propagation of Authorization Parameters and RBAC Enforcement is nice, but especially proper RBAC Enforcement inside might take a while? Proposed Split:
|
Status update: There is no ongoing work on KEP-60. I will move it back to refinement on the roadmap |
OIDC support for Keptn v1 is implemented. |
TC decision: This KEP will not be implemented and therefore closed |
Role-based Access Control (RBAC)
Success Criteria: Role-based and SSO-based access control need to be applied for accessing Keptn UIs and APIs.
Motivation
Target audience pain points
As any user entering the Bridge, I see all and everything there from my whole organization. I see things, I do not care about and even worse: I might also see things I should not be allowed to see (e.g. QG results including security vulnerability metrics for a certain release).
Evidence
Keptn users requested role-based access to the Bridge several times.
No discussion, that role-based access and visibility of company data is a must-have for any enterprise-ready solution.
What
What it is?
As anyone looking into data in the Bridge, I should only authenticate once and have proper permissions within the Bridge based on my SSO roles.
As an automation engineer, I should only edit the automation I'm responsible for.
As a member of one department, I might not be allowed to see (and not allowed to edit) quality gates of another department.
What it is not
Use Cases
As an operator of Keptn, I can connect it to my OIDC/OAuth 2.0 provider (e.g, Keycloak, Okta, etc.)
Keptn has three roles: read / write / admin
A read role allows you to:
A write role allows you to:
An admin role allows you to:
Roles in Keptn must be settable on project- / service- / (stage+service)- level
Having a role on project-level enables you to perform an action in each stage for each service
Having a role on service-level enables you to perform an action only for the given service (in each stage)
Having a role on (stage+service)-level enables you to perform an action only for the given stage/service tuple
A role has one or more API tokens
The API tokens can be rotated
Slices of this KEP
This KEP is currently sliced into three epics: