kubernetes 如何将eks群集权限授予aws sso用户?

2izufjch  于 2024-01-06  发布在  Kubernetes
关注(0)|答案(2)|浏览(122)

我通过一个IAM用户部署了一个EKS集群,需要给予完全的集群权限给其他aws sso用户。我按照这个指令https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html操作,但仍然不能使它工作。
我得到下面的错误时,运行此命令由sso用户:

$ kubectl get pods
error: You must be logged in to the server (Unauthorized)

字符串
在文档中,他们说创建aws-auth ConfigMap来Map角色,如下所示。但我不确定我应该指定什么角色。我使用EKS + Fargate,所以我的集群中没有node groupnode instance。那么我应该在下面的配置中指定什么样的角色>

apiVersion: v1
kind: ConfigMap
metadata:
  name: aws-auth
  namespace: kube-system
data:
  mapRoles: |
    - rolearn: <ARN of instance role (not instance profile)>
      username: system:node:{{EC2PrivateDNSName}}
      groups:
        - system:bootstrappers
        - system:nodes

xuo3flqw

xuo3flqw1#

您应指定:

- rolearn: arn:aws:iam::<aws_account_id>:role/<federated_user>
  username: '{{SessionName}}'
  groups:
    - system:masters

字符串
请注意,<aws_account_id>是创建EKS集群的AWS账户ID,<federated_user>是您访问该账户的SSO用户。此策略将为您的k8s集群添加管理员访问权限。您可以通过使用该用户登录账户来获取<federated_user>,并在右上角展开,您会看到Federated user。复制它,它看起来就像这个AWSReservedSSO_AdministratorAccess_9999bb9bbbbfff/administrator。只取正斜杠前的第一部分。

相关问题