创建EKS节点组提示AWSServiceRoleForAmazonEKSNodegroup验证缺iam:GetRole权限
你当前缺失的是针对EKS节点组服务关联角色AWSServiceRoleForAmazonEKSNodegroup的iam:GetRole权限。
问题原因
你现有IAM策略中的iam:GetRole权限仅覆盖了你手动创建的两个自定义角色(eksKubBegEKSNodeRole、eksKubBegEKSClusterRole),而EKS在创建节点组时,会先校验AWS内置的EKS节点组服务关联角色是否存在,该角色的ARN格式为arn:aws:iam::[你的AWS账号ID]:role/aws-service-role/eks-nodegroup.amazonaws.com/AWSServiceRoleForAmazonEKSNodegroup,不在你现有授权的资源范围内,因此触发权限不足报错。
修复方案
你可以任选以下一种方式调整IAM权限策略:
- 方式1:单独添加针对该服务关联角色的授权,将以下配置添加到你的IAM策略的
Statement数组中,注意将示例中的000000000000替换为你实际的AWS账号ID:
{ "Sid": "AllowGetEKSNodegroupSLR", "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::000000000000:role/aws-service-role/eks-nodegroup.amazonaws.com/AWSServiceRoleForAmazonEKSNodegroup" }
- 方式2:放宽
iam:GetRole的资源覆盖范围,将你现有策略中两条单独授权iam:GetRole的配置合并为以下内容,覆盖账号下所有角色,后续可根据需求再收紧权限:
{ "Sid": "AllowGetAllRoles", "Effect": "Allow", "Action": "iam:GetRole", "Resource": "arn:aws:iam::000000000000:role/*" }
内容的提问来源于stack exchange,提问作者lapots
相关产品推荐
相关产品推荐

