Reducing confusion and improving UX for the token
join method / shared secret based joining
#44054
Labels
c-mpf
Internal Customer Reference
feature-request
Used for new features in Teleport, improvements to current should be #enhancements
ux
It's been a long time since we first introduced the
token
join method, and since then, a plethora of join methods have been introduced that are much more secure.There's a few interesting problems that have arisen now that we have more join methods:
token
join method name is confusing given the resource itself is also generally called a "token".token
join token is the secret value, this is unlike the other join methods:token
join token in creation/join audit events. Currently, we redact most of the token name. This is a compromise in security for the improvement of user experience, but still doesn't really provide a much nicer UX.join_method
field) can fall back to creating atoken
join method - and one with a name that is likely predictable.What I'd suggest is that we introduce a new
shared-secret
join method, and phase out usage of thetoken
join method. Given the extent to which customers are likely dependent on existing join tokens working, it's unlikely that we'll be able to fully remove thetoken
join method soon.The name of a
shared-secret
join token would not be a secret value - this brings it in line with the other join method types.Instead, a secret value would be included within the main spec of the resource. For example:
When configuring joining for Teleport or TBot, users would specify both values e.g
The secret value could also be read from the configuration file, from the environment or from a path specified in the config or environment.
This new join method could also be a good opportunity to introduce other mechanisms to improve security, e.g:
Whilst we're certainly on a mission to eliminate shared secrets, we cannot deny that in on-prem environments, without TPMs, there is no alternative.
The text was updated successfully, but these errors were encountered: