无法在 EKS 中为用户配置 RBAC

无法在 EKS 中为用户配置 RBAC

我已经使用eksctl以下命令部署了 EKS本文档

作为创建集群的用户,我拥有完全的访问控制权。
尝试system:masters向特定用户授予权限不起作用方式

kubectl edit -n kube-system configmap/aws-auth
apiVersion: v1
data:
  mapAccounts: |
    - "111111111111"
  mapRoles: |
    - groups:
        - system:bootstrappers
        - system:nodes
      rolearn: ***
      username: ***
  mapUsers: |
    - rolearn: arn:aws:iam::***:user/test-user
      username: test-user
      groups:
        - system:masters
kind: ConfigMap
metadata:
  ...

以 身份登录test-user并执行kubectl get pods我收到的:

Error from server (Forbidden): pods is forbidden: User "arn:aws:iam::***:user/test-user" cannot list resource "pods" in API group "" in the namespace "default"

我读过一些mapAccounts将用户映射到 的文章system:authenticated,但我无法在 AWS 文档中验证这一点。
我尝试创建不同的clusterRole并将clusterRoleBindings它们附加到 ,test-user但没有任何效果...

我如何向特定test-user用户授予访问权限,或通常system:authenticated向 IAM 中的我的组授予完全访问权限(修改)?

答案1

我看到您正在使用rolearn而不是userarnunder mapUsers:

替换它,它就应该可以工作了。

要将新配置应用于 Amazon EKS 集群的 RBAC 配置,请运行以下命令: kubectl apply -f aws-auth-cm.yml

然后您应该能够以测试用户身份登录。

相关内容