You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建可供多EKS集群Cluster Autoscaler复用的IAM角色

跨多EKS集群复用Cluster Autoscaler IAM角色实现方案

原策略失效根因

你遇到的两个问题属于IAM信任策略的硬限制,没有绕过空间:

  • Principal字段不支持通配符匹配联邦身份提供商ARN,必须明确指定可信身份主体
  • 条件键的键名本身不支持通配符,通配符仅可用于条件值的匹配逻辑

方案1:通用OIDC条件键实现零额外权限复用(推荐)

不需要给CI流程授予IAM角色创建或修改权限,直接调整信任策略逻辑即可,利用OIDC联邦场景下的全局固定条件键,不需要在键名中硬编码区域、集群ID信息。
可直接使用的信任策略如下,将占位符替换为你的实际AWS账号ID即可:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<YOUR_AWS_ACCOUNT_ID>:root"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "oidc-provider:aud": "sts.amazonaws.com",
                    "oidc-provider:sub": "system:serviceaccount:cluster-autoscaler:cluster-autoscaler"
                },
                "StringLike": {
                    "oidc-provider:iss": "https://oidc.eks.*.amazonaws.com/id/*"
                }
            }
        }
    ]
}

策略逻辑与安全说明

  • 策略以同账号根身份作为信任锚,符合IAM语法规则,同账号下所有EKS集群创建的OIDC提供商都具备发起代入请求的资格,但必须满足全部条件才能校验通过
  • 三个条件形成强约束,不存在提权路径:
    • 令牌受众必须为sts.amazonaws.com,是EKS签发ServiceAccount OIDC令牌的固定值
    • 令牌主体必须为cluster-autoscaler命名空间下的cluster-autoscaler服务账号,和你原策略的权限边界完全一致
    • 令牌发行者必须匹配EKS官方OIDC地址格式,通配符可覆盖任意区域、任意集群ID,新建集群不需要修改策略
  • 普通IAM用户、EC2实例角色等非OIDC身份调用sts:AssumeRoleWithWebIdentity时无法提供符合校验规则的WebIdentity令牌,会被直接拒绝;非EKS来源的OIDC令牌、同集群下其他服务账号的令牌也无法满足条件,不存在权限泄露风险。

注:不少使用者误以为Principal配置账号根等于放开全账号权限,实际上该配置仅声明信任范围为同账号身份,最终权限完全由条件块控制,严格条件下的安全性和逐一列示OIDC提供商的配置没有差异。

方案2:最小化CI权限自动更新信任策略

如果对账号根作为Principal有合规顾虑,可以不给CI授予创建IAM角色的权限,仅授予单角色的更新权限,实现新集群自动适配:

  • 提前创建好复用的IAM角色,初始信任策略可配置第一个EKS集群的OIDC提供商
  • 给CI流程授予仅针对该固定角色的iam:UpdateAssumeRolePolicy权限,禁止其他IAM操作权限
  • CI流程在新建EKS集群、完成OIDC提供商创建后,自动将新的OIDC提供商ARN追加到该角色信任策略的Federated Principal列表中
  • 条件块同样使用方案1中的全局oidc-provider:*条件键,不需要为每个OIDC提供商单独配置键名规则

配套权限建议

  • 角色本身的权限策略可以按标签做细粒度授权,也可以按你接受的跨集群扩缩容需求,给所有Auto Scaling、EKS节点组相关资源授予对应操作权限
  • 如果需要做权限隔离,可以在角色权限策略中添加基于OIDC令牌自定义声明的条件,实现不同集群的CA仅能操作对应标签的资源,不需要调整信任策略

内容的提问来源于stack exchange,提问作者LLlAMnYP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 09:57:30