-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Stable UNIX users: storage and auth API #51102
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
Conversation
0fb9265
to
d0943ca
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return 0, trace.Wrap(err) | ||
} | ||
|
||
// TODO(espadolini): emit an audit log event with the username and UID |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assuming this is out of scope for this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it's addressed in #51200.
* add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz
* add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz
* add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz
* add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz
* add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz
* Stable UNIX users: storage and auth API (#51102) * add config field in cluster auth preference * extend ClusterConfiguration to support checking auth preference in AtomicWrite * stable UNIX users storage * auth API and auth-side business logic * move server implementation to a subpackage * Use proto3 and the default (open) API * remove type alias for ClusterConfiguration * Move new AuthPreference validation into a Validate method * Check the StableUnixUserConfig before use * use Config instead of Params * Don't rely on error types for the retry logic * Fix TestStableUNIXUsersBasic * Use free functions for Validate * make grpc * black-box testing that includes authz * Stable UNIX users: functionality (#51200) * wiring the API client through * tctl stable-unix-users ls * stable UID fallback for Teleport SSHD * stable_unix_user.create event * fix-license * Require and test audit log message * Add stable_unix_user_config to fileconf * Avoid saying "fallback UID" in logs * Avoid saying "fallback UID" in error messages * Avoid racing writes in the mock emitter * pnpm lint-fix * fix lib/auth tests that broken during rebase
This RFD implements the storage and storage manipulation in the auth server, and defines and implements the auth API to store and fetch stable UIDs for automatically provisioned UNIX users.
Related RFD: #50414
Part of #50292