-
Notifications
You must be signed in to change notification settings - Fork 1
CLI permissions #4
Copy link
Copy link
Open
Labels
kind/CLIImprovements to the cli interface to usersImprovements to the cli interface to userssize/MT-shit size for tasks that take less than a weekT-shit size for tasks that take less than a weektype/enhancementNew feature or improvement that doesn't add value to final userNew feature or improvement that doesn't add value to final user
Description
Metadata
Metadata
Assignees
Labels
kind/CLIImprovements to the cli interface to usersImprovements to the cli interface to userssize/MT-shit size for tasks that take less than a weekT-shit size for tasks that take less than a weektype/enhancementNew feature or improvement that doesn't add value to final userNew feature or improvement that doesn't add value to final user
Use case and definition of done
There is a need to avoid having everyone running commands through the chat. We need to have a way to only let certain commands be run by users.
The MVP needs to allow 2 execution levels, and be possible to add a few others with little to no effort later, as other features are available.
Implementation suggestion
The suggestion before was to use Yosai, but after an analysis of the structure of the project, we would only be using the Authz bits, which run in full sync mode, besides that making use of it for 20 lines of code is not worth it.
There is https://github.com/txomon/whoiam that has a demo on overloading the AWS IAM for authz. This would be a side project for an interface, but underlying authz mechanics could be easily used here. However, the cost vs the benefit of development is really high, making this solution unsuitable.
A simple solution to me would be to have a authz
levelassigned to each user, and that via the level we filter some commands out. Also, this should rather be in abot I think than in mosbot, therefore justifying a simpler solution for our usecase.