~/talk

What Do You Mean K8s Doesn't Have Users? How Do I Manage User Access Then?

speakerdeck:jnummelin
slides:none on file

Kubernetes does not store or manage user accounts: authentication is external and the API server only receives a username string to feed into RBAC. Four practical auth options exist: client certificates are effectively unrevocable because the cluster CA stays static, static token file requires API server restart to change tokens, webhook token auth calls TokenReview to an external service for per-request validation, and use OpenID Connect with signed JWTs to tie existing identity providers into RBAC.

AI-written summary · about

  1. 0:00Intro
  2. 2:00TRY TO REALIZE THE TRUTH
  3. 2:47Topics • How AAA works in general
  4. 3:30How AAA works in k8s API server • Every call to API is tied to
  5. 5:34Two categories of identities • ServiceAccount For processes (pods)
  6. 7:40User is a "transient" thing • User data not stored on etcd User info is "just a string"
  7. 8:20Ways to identify a user • X509 certs
  8. 8:52User identification - client certs • Control plane manages CA
  9. 10:46Client cert - gothas (in a typical setup) • CA is static for the lifetime of cluster Other cluster components authenticating with client certs
  10. 12:23User identification - token file • CSV file for user tokens
  11. 13:25Token file - gotchas • Tokens loaded only at api-server boot • Tokens in plain text Tokens cannot be invalidated
  12. 14:25User identification - Webhook Token Auth • External service validating
  13. 16:39User identification - OIDC • api-server configured to trust
  14. 19:08Comparison / Summary
  15. 22:40Authorization • Can a user perform the action?
  16. 23:54How to tie users into RBAC
  17. 25:21Summary • User is a "transient" thing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.