如何将 IAM 用户设置为在 AWS 上的 Kubernetes 集群中具有特定权限。
How to set an IAM user to have specific rights in Kubernetes Cluster on AWS.
我想允许用户在 EKS 的 Kubernetes 集群中执行操作,例如:应用部署、创建机密、创建卷等。
我不确定为此使用哪个角色。我不想让用户:
创建集群、删除集群、列出集群只执行集群内的Kubernetes操作。
据我所知,集群的权限是使用 Heptio 身份验证器执行的。我相信我在这里遗漏了一些东西,但无法弄清楚是什么。
根据第 3 节中的 aws 文档,您似乎必须在 'mapUsers' 项下的配置映射中手动添加用户,然后 运行 kubectl apply config-map.yml
。"Add your IAM users, roles, or AWS accounts to the configMap."
https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html
这个 link 是将 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 授权的信息here
我想允许用户在 EKS 的 Kubernetes 集群中执行操作,例如:应用部署、创建机密、创建卷等。 我不确定为此使用哪个角色。我不想让用户: 创建集群、删除集群、列出集群只执行集群内的Kubernetes操作。
据我所知,集群的权限是使用 Heptio 身份验证器执行的。我相信我在这里遗漏了一些东西,但无法弄清楚是什么。
根据第 3 节中的 aws 文档,您似乎必须在 'mapUsers' 项下的配置映射中手动添加用户,然后 运行 kubectl apply config-map.yml
。"Add your IAM users, roles, or AWS accounts to the configMap."
https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html
这个 link 是将 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 授权的信息here