如何将IAM用户设置为在AWS上的Kubernetes Cluster中具有特定权限。

时间:2018-09-12 17:20:46

标签: kubernetes rbac amazon-eks

我想允许用户在Kubernetes集群中为EKS做事,例如:应用部署,创建机密信息,创建卷等。 我不确定要使用哪个角色。我不想允许用户: 要创建集群,删除集群,列出集群,只能在集群内执行Kubernetes操作。

据我所知,群集的权限是使用Heptio身份验证器执行的。我相信我在这里遗漏了一些东西,但无法弄清楚。

2 个答案:

答案 0 :(得分:2)

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

的更多信息

答案 1 :(得分:0)

好像您必须在“ mapUsers”项下的配置映射中手动添加用户,然后根据第3节“ aws文档”运行kubectl apply config-map.yml。“将您的IAM用户,角色或AWS帐户添加到configMap。”

https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html