如何为AWS SSO用户授予EKS集群权限?Fargate场景aws-auth配置疑问
你看到的aws-auth ConfigMap示例中预留的节点角色配置是专为EC2架构的EKS集群准备的,你使用Fargate架构无需保留该段配置,直接删除即可,你需要填入的是待授权的AWS SSO用户对应的权限集角色ARN,具体操作如下:
操作步骤
获取SSO权限集角色ARN
让需要授权的SSO用户登录AWS控制台,点击右上角账号名下拉菜单选择「安全凭证」,在页面中即可找到当前身份对应的角色ARN,格式参考:arn:aws:iam::<你的AWS账号ID>:role/aws-reserved/sso.amazonaws.com/<SSO区域>/AWSReservedSSO_<权限集名称>_<随机字符串后缀>修改aws-auth ConfigMap
使用创建集群时的初始IAM身份执行操作,将ConfigMap修改为如下配置即可完成集群管理员权限的授予:
apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: <替换为上一步拿到的SSO角色完整ARN> username: sso-admin groups: - system:masters
system:masters是Kubernetes默认的集群管理员内置组,绑定该组的身份将拥有集群所有资源的全量操作权限。
- 验证权限
配置生效后,让SSO用户在本地重新拉取集群kubeconfig:
aws eks update-kubeconfig --name <你的EKS集群名称> --region <集群所在区域>
再执行kubectl get pods等命令即可正常返回结果。
补充说明
- 如果需要给多个SSO权限集授权,在
mapRoles下追加对应角色的配置条目即可 - 不要保留示例中与EC2节点角色相关的配置段,Fargate架构下不需要该配置即可正常调度工作负载
内容的提问来源于stack exchange,提问作者Joey Yi Zhao
相关产品推荐
相关产品推荐

