CloudFormation创建EKS IAM角色报Missing required field Principal如何修复
问题根因
报错是因为IAM信任策略(AssumeRolePolicyDocument)的语法层级错误,Principal、Action字段被错误写在Statement数组的同级位置,导致Statement下的唯一规则条目缺少必填的Principal字段,IAM校验不通过。
修复后的核心模板片段
Resources: EKSIAMRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - eks.amazonaws.com Action: - 'sts:AssumeRole' RoleName: !Ref EKSIAMRoleName ManagedPolicyArns: - arn:aws:iam::aws:policy/AmazonEKSClusterPolicy - arn:aws:iam::aws:policy/AmazonEKSServicePolicy
修复要点
- 调整
Principal、Action字段的缩进层级,使其与同一条规则的Effect字段平级,归属到同一个Statement条目下 - 所有IAM信任策略的
Statement条目必须同时包含Effect、Principal、Action三个必填字段,缺一不可
内容的提问来源于stack exchange,提问作者Luong To
相关产品推荐
相关产品推荐

