-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Scoped Approvals for Access Workflows #4309
Comments
I like the sound of this! Minor Correction:
Other way around actually. Roles always specify the capabilities of the users that hold them, so the above example actually gives kind: role
metadata:
name: dev
spec:
allow:
request:
roles: ['dba']
# ... You can basically read the above as: "users with role Thoughts:Any new syntax for scoped approvals should probably stick to the "roles define the capabilities of their holders" rule if possible. In the case of the example scenario where access to kind: role
metadata:
name: dba
spec:
allow:
approve:
roles: ['dba']
# ...
---
kind: role
metadata:
name: admin
spec:
allow:
approve:
roles: ['dba']
# ... And if we wanted to prevent kind: role
metadata:
name: dev
spec:
allow:
request:
roles: ['dba']
deny:
approve:
roles: ['dba']
# ... |
@fspmarshall Ah yes... Thanks for the correction and clarification in these parts! Your explanation makes perfect sense. I wonder if we could extend this down to the plugins. That would be pretty darn cool to have multi-team/channel approval bots. |
A plugin is just a nonhuman teleport user... no difference from teleport's perspective. In theory, a lot of plugins could probably work with more limited permissions out of the box (depending on what teleport API methods the plugin calls). |
This, in combination with exposing the request/approval workflow from the web UI (the un-scoped version of #4028) would allow me to simplify several parts of my infrastructure. |
@fspmarshall I think we might not need approve verb, because it is redundant with where scope and verb for access_request resource please check out #4749 |
Will be addressed in #5071. |
Feature Request
EDIT (@klizhentas ): this description has the latest spec
Customer would like define who may approve role requests for a specified role.
Imagine if you had 4 teams/roles configured:
dev
,qa
,dba
,admin
.A request from role
dev
todba
is initiated. Currently, anyone with approval permissions could approve the request. However, this feature request is to limit who can approve the requests for access to thedba
role. Users in thedba
role should be the approving entity for request into thedba
role. Theqa
team should not have the authority to approve this request.Add
where
clause to allow devs to approve roles from their peers, but except themselvesIn this sample, the dev role lets developers to grant access to access requests containing annotations matching their team.
Motivation
Roles are typically built around software or ops teams. These teams should have the ability to grant access to their own infrastructure. This would push the approval process down to the team, and reduce the operational burden of a single team managing approval requests.
Who's it for?
Enterprise
@klizhentas @fspmarshall @travelton updated the description with more detailed spec
The text was updated successfully, but these errors were encountered: