Skip to content

[v15] Display allowed logins for leaf resources in the root web ui#39887

Merged
rosstimothy merged 2 commits intobranch/v15from
tross/backport-logins/v15
Mar 27, 2024
Merged

[v15] Display allowed logins for leaf resources in the root web ui#39887
rosstimothy merged 2 commits intobranch/v15from
tross/backport-logins/v15

Conversation

@rosstimothy
Copy link
Copy Markdown
Contributor

Backports #38827 and #39579 to branch/v15

Changelog: Correctly show the users allowed logins when accessing leaf resources via the root cluster web ui

@rosstimothy rosstimothy marked this pull request as ready for review March 27, 2024 14:08
@github-actions github-actions Bot added size/md tctl tctl - Teleport admin tool labels Mar 27, 2024
@github-actions github-actions Bot requested review from avatus and fspmarshall March 27, 2024 14:08
@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from fspmarshall March 27, 2024 17:30
@rosstimothy rosstimothy added this pull request to the merge queue Mar 27, 2024
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Mar 27, 2024
Updates ListResources and ListUnifiedResources to optionally allow
responses to include the allowed logins per returned resource that
requesting user has access to given there roles. Logins are only
currently populated for SSH and WindowsDesktop resources. The new
types.EnrichedResource was added to facilitate transporting the
underlying resource and the additional user specific information to consumers.
…39579)

The Proxy web api now requests that Auth include allowed logins
per resource instead of guessing logins per resource based on the
information it has cached. However, due to the way SSH sessions
are authorized, the logins are not provide to users verbatim.

Any sessions created via the root web ui to a leaf resource will use
the SSH certificate created for that user in the root cluster. New
certificates are not minted per leaf cluster. This is important
because the nodes only allow os logins for a session if they are
present in the valid prinicpals of the SSH certificate. So even
though we are now capabale of displaying all allowed logins for
leaf SSH servers in the root web ui, the user is only able to use
a subset of them. To avoid any odd UX, the Proxy will filter out
any allowed logins which do not exist in the principals of the
root SSH certificate.

The above only holds for SSH, windows desktops are not as strict
and any allowed login from a leaf cluster is now visible in the
root web ui.

Fixes #5041
@rosstimothy rosstimothy force-pushed the tross/backport-logins/v15 branch from e4338cb to 5d17988 Compare March 27, 2024 21:30
@rosstimothy rosstimothy enabled auto-merge March 27, 2024 21:30
@rosstimothy rosstimothy added this pull request to the merge queue Mar 27, 2024
Merged via the queue into branch/v15 with commit 3794111 Mar 27, 2024
@rosstimothy rosstimothy deleted the tross/backport-logins/v15 branch March 27, 2024 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport size/md tctl tctl - Teleport admin tool

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants