了解如何使用 aws-auth ConfigMap 和 Kubernetes RBAC 管理 IAM 主体对 Amazon EKS 集群的访问权限,从而让授权用户和角色能够安全地与集群交互。
確認您的叢集中具有混合節點 IAM 角色的 EKS 存取項目,或確認您的aws-authConfigMap 具有混合節點 IAM 角色的項目。如果您使用的是 EKS 存取項目,請確認混合節點 IAM 角色的存取項目具有HYBRID_LINUX存取類型。如果您使用的是aws-authConfigMap,請確認混合節點 IAM 角色的項目符合 中詳述的要求和格式準備混合節點的叢...
aws-authConfigMap 示例如下: apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::<AWS_ACCOUNT_ID>:role/kube-system-<SELF_GENERATED_UUID> username: system:node:{{SessionName}} mapUsers: | - groups: - system:masters userarn: arn:aws...
rolearn: arn:aws:iam::<accountId>:role/AWSReservedSSO_SystemAdministrator_<someRandomString> username: awssso-system-administrator 这种方法的缺点是我们在日志中丢失了审计信息。 为了避开这一点(尽管这真的很奇怪): 像这样调整aws-authConfigMap。 等几分钟。 触发AMI发布版本升级 等到它完成。 将aws-auth配...
说明:现在 aws-auth 中只有一个 mapRoles,这里的 rolearn 就是我们之前创建的 IAM Role “tsEKSnoderole”,为 EC2 提供权限。 注意:在 configmap/aws-auth 中我们只能映射 IAM user 或者 Role,不能映射 IAM Group 实战步骤 在以下实验中,请注意高权限用户和测试用户的切换 252557384592:user/tansong 为高权限用...
需要在aws-auth ConfigMap中增加红框中的内容,其中rolearn是Jenkins Slave节点上的role。 最后Jenkins在执行连接集群的时候使用的是匿名用户,我这里比较简单粗暴,直接允许匿名用户访问集群所有资源,如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释
2.4、configmap aws-auth 我们查看一下刚创建好的机器,aws-auth 这个 configmap里面有什么信息: wangzan:~ $ kubectl get cm aws-auth -nkube-system -oyaml apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::921283538843:role/eksctl-eks-nod...
ConfigMap aws-auth 在我们在向 EKS 添加 node 时就自动创建了,它的作用是允许 node 加入集群。 aws-auth 的另一个作用是控制 AWS 用户或者 role 访问 K8s 内部的资源(准确的说是把外部 IAM 用户与 K8s 内部用户做映射)。 我们继续利用《创建 AWS EKS 集群》一文中创建的 EKS 环境。
名为aws-auth ConfigMap 中指定的 group。 EKS集群初始化的时候,会初始化一个aws-auth的configMap,只有这个configMap包含的IAM实体才有真正的K8S API访问权限(创建集群的IAM实体除外)。这个权限控制由上图中的 [AWS IAM Authenticator Server]来实现。 OpenID connect tokens ...
使用aws-auth ConfigMap 将 IAM 用户或角色映射到 RBAC 角色和组 {{< notice info "重要提示:" >}} 在连接 Amazon EKS API 服务器之前,安装并配置最新版本的 AWS CLI。 获取AWS CLI 用户或角色的配置: copy aws stsget-caller-identity 输出将返回 IAM 用户或角色的 Amazon 资源名称 (ARN)。例如: ...