-
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
RBAC model for Moderated Sessions needs more documentation #51116
Comments
We already have #18446 tracking a revamp to moderated sessions docs, FYI. This is working as designed though. If you have permission to join sessions then you will see them listed in the UI. (This is really no different than seeing SSH servers or kube clusters showing up in the UI if you have permission to access them). Teleport does not have any sort of provisions for allowing a user join a session while also hiding its existence from the user. |
Hey
Ok, thank you for confirming this.
This makes total sense. I think it might be worth mentioning in the doc that Another confusing thing is that if, for any reason, a user ends up with permissions that cloud be described the role below, a user can still list sessions despite an explicit
The statement below will deny listing sessions, but according to the Teleport Access Controls Reference, ssh_session allows viewing the active sessions page. The page itself is accessible, but the sessions are unavailable
The role below hides the active sessions page
But the role below grants the access to the page
This is just a bit confusing |
This is covered in the [docs](https://goteleport.com/docs/admin-guides/access- controls/guides/moderated-sessions/#configure-an-allow-policy), but I agree with you it is confusing. I'll try and clean up this page. |
Moderated sessions are a bit confusing because we combined an existing OSS feature (joining sessions), with an Enterprise-only feature (requiring session join policies). I've expanded the scope of the moderated sessions guide to make it a "joining sessions" guide instead, and added some extra details around RBAC for active sessions. Updates #51116
Unsure if this should be a bug or a feature request.
Observations
The current RBAC for Moderated Session is underdocumented and implicitly allows certain access when customers don't necessarily expect that to be the case.
Implicit allow on
ssh_session
A user can both list and join session, even though we don't provide an explicit
list
onssh_sessions
given this role:A workaround is to add the following deny statement which can block us from viewing sessions, while still allowing us to join them if we know the UUID:
Unclear purpose of
session_tracker
Another observation is that it is unclear what
session_tracker
does. A user can still list and join sessions given this added deny statement:Edit:
list
onsession_tracker
can be explicitly allowed in cases where noallow.session_join
exists, so the users can list sessions without having access to them:What would you like Teleport to do?
Document the desired behavior and usage patterns. Rework Moderated sessions RBAC if needed
What problem does this solve?
Avoids the situation where customers run into implicit allows they were not expecting
If a workaround exists, please include it.
To deny listing sessions while allowing joins, Teleport customers can currently add the following deny statement to their roles:
If users need only to list sessions without being able to join, this role would be appropriate:
The text was updated successfully, but these errors were encountered: