How auth works in EKS with IAM Users
本文介绍了 AWS EKS 是怎么做初始化的授权验证。AWS 提供了 IAM 用于权限验证,Kubernetes 初始化时需要 admin service account 才能进行管理。事实上,EKS 初始化时就使用了你本地的 ~/.aws
配置,并会使用创建 EKS 的 IAM User 或者 IAM Role 作为 admin service account。这个 user 是不会出现在 aws cli / kubectl 的数据中的。如果有需要添加额外的 user,那你需要使用这个用户继续添加 ConfigMap,通过 mapRole
, mapUser
添加管理用户。
整套授权是通过一个叫做 aws-iam-authenticator
的 client-server 程序完成。server 程序预先装入 EKS master,client 程序就是一个 token 生成器。这套授权可以让你的 kubeconfig 不暴露出敏感信息,而只依靠 aws iam 完成授权。