kubernetes - 如何将 IAM 用户设置为在 AWS 上的 Kubernetes 集群中拥有特定权限。
问题描述
我想允许用户在 Kubernetes 集群中为 EKS 执行操作,例如:应用部署、创建机密、创建卷等。我不确定要使用哪个角色。我不想让用户:创建集群、删除集群、列出集群只执行集群内的 Kubernetes 操作。
据我所知,集群的权限是使用 Heptio 身份验证器执行的。我相信我在这里遗漏了一些东西,但不知道是什么。
解决方案
此链接是将 AWS IAM 用户或 AWS 角色添加到给定 K8S 角色的正确链接。
假设您想创建一个新的 K8S 角色以仅具有读取权限,称为pod-reader
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["pods"]
verbs: ["get", "watch", "list"]
创建角色后,您需要授予 IAM 用户代入该角色的权限。这很容易做到:
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapUsers: |
- userarn: arn:aws:iam::270870090353:user/franziska_adler
username: iam_user_name
groups:
- pod-reader
有关 K8S RBAC 授权的更多信息,请单击此处
推荐阅读
- javascript - 是否可以在浏览器中运行跳过事件循环队列的代码 - 调度后立即运行
- java - 如何使用 pkcs11 包装器 ECDSA 密钥签署 CSR
- javascript - 时间条件不自行执行,需要重新加载整个页面
- mysql - 使用生成的列创建表
- cron - 使用 SLURM 调度程序的条件 cron 作业
- python-3.x - 如何在python中运行的另一个程序上模拟python中的按键事件
- c# - 用指数计算生成的数学表达式,即 (1+2-3)*4^5 = answer
- javascript - 如何稍后在测试用例中保存和重用动态 DOM 内容
- bash - .sh 文件中的“output_dir="${1%/}" 是什么意思?
- bash - 通过将模式替换为另一个模式来递归地重命名存储库和文件名