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

拥有管理员权限安装AWS EBS-CSI-Driver Add-on时遇AccessDeniedException求助

解决AWS EKS安装EBS-CSI-Driver Add-on的权限拒绝问题

一、CLI操作的iam:PassRole显式拒绝错误

问题核心

显式拒绝(explicit deny)优先级高于所有允许权限,即便你拥有AdministratorAccess,也可能触发该错误:

  • 你的IAM账号被附加了拒绝iam:PassRole权限的规则(比如组织级SCP、IAM权限边界或直接绑定的拒绝策略)
  • 安装Add-on时指定了错误角色:EBS CSI Driver需要专属的CSI服务角色,而非节点组角色EKS_NodeGroup_Role

解决步骤

  1. 排查并移除显式拒绝策略
    登录IAM控制台,依次检查:

    • 你的用户/角色的权限边界
    • 直接附加的IAM策略
    • AWS组织的服务控制策略(SCP)
      找到包含"Effect": "Deny", "Action": "iam:PassRole"的规则,移除或调整其范围。
  2. 创建并使用专属EBS CSI服务角色
    不要复用节点组角色,按以下流程创建专用角色:

    • 新建信任策略文件trust-policy.json:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "ebs.csi.aws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      
    • 创建角色:
      aws iam create-role --role-name AmazonEKS_EBS_CSI_DriverRole --assume-role-policy-document file://trust-policy.json
      
    • 绑定CSI权限策略:
      aws iam attach-role-policy --role-name AmazonEKS_EBS_CSI_DriverRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy
      
    • 指定该角色安装Add-on:
      aws eks create-addon --cluster-name <你的集群名称> --addon-name aws-ebs-csi-driver --service-account-role-arn arn:aws:iam::<你的账号ID>:role/AmazonEKS_EBS_CSI_DriverRole
      

二、控制台操作的eks:addon-manager权限错误

问题核心

eks:addon-manager服务账号缺少对kube-system命名空间的patch权限,大概率是集群RBAC配置被修改,导致Add-on安装流程无法正常更新命名空间。

解决步骤

  1. 为eks:addon-manager添加RBAC权限
    新建RBAC配置文件addon-manager-rbac.yaml:
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: eks-addon-manager-namespace-patch
    rules:
    - apiGroups: [""]
      resources: ["namespaces"]
      verbs: ["patch"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: eks-addon-manager-namespace-patch-binding
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: eks-addon-manager-namespace-patch
    subjects:
    - kind: ServiceAccount
      name: eks-addon-manager
      namespace: kube-system
    
    应用配置到集群:
    kubectl apply -f addon-manager-rbac.yaml
    
  2. 重新尝试控制台安装
    配置生效后,回到EKS控制台重新发起EBS CSI Driver Add-on安装请求。

额外验证点

  • 确认EKS集群版本≥1.21(EBS CSI Driver对集群版本有最低要求)
  • 检查节点组角色EKS_NodeGroup_Role是否包含AmazonEKSWorkerNodePolicy、AmazonEC2ContainerRegistryReadOnly等基础权限,确保节点能正常与集群通信

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:42:44