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

Role-Based Access Control #712

Closed
5 tasks done
brampling opened this issue Aug 29, 2022 · 2 comments
Closed
5 tasks done

Role-Based Access Control #712

brampling opened this issue Aug 29, 2022 · 2 comments
Labels
epic Describes a high-level epic(with subtasks)
Milestone

Comments

@brampling
Copy link
Contributor

brampling commented Aug 29, 2022

A Botkube user needs to be able to run executors with the appropriate roles and permissions as they normally have working in the Kubernetes cluster. Currently executors are run using the botkube-clusterrole ClusterRole assigned to the botkube-sa service account. This means all Botkube users in a given communication channel have the same permissions which may be too broad or narrow in scope. Implementing access control moves the Botkube security perimeter from the communication channel scope to the communication user scope.

AC

  • Any given user of Botkube in a communication tool (e.g. a Slack user) has a permission/role mapping to their permissions/roles in the appropriate Kubernetes cluster where Botkube is installed
  • Executor commands run by a given user are run with that user's K8s permissions
  • Cluster admins can configure user mappings from a high level and at the individual user level
  • Users can see their user/role mapping as appropriate

Stretch goals:

  • A user with existing access to a K8s cluster that is configured with Botkube RBAC can configure their own account mapping through an authorization process

Design

Read it here: https://github.com/kubeshop/botkube/blob/main/docs/proposal/2022-12-23-rbac.md

Tasks

Related:

@pkosiec
Copy link
Collaborator

pkosiec commented Nov 23, 2022

@brampling could you please update this issue with requirements, so we can estimate it? It still has empty description. Thanks

@pkosiec
Copy link
Collaborator

pkosiec commented Jan 12, 2023

@lpetkov FYI

@mszostok mszostok removed the needs-triage Relates to issues that should be refined label Jan 18, 2023
@pkosiec pkosiec moved this from Todo to In Progress in Botkube Mar 22, 2023
@pkosiec pkosiec closed this as completed Apr 4, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Botkube Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Describes a high-level epic(with subtasks)
Projects
Status: Done
Development

No branches or pull requests

3 participants