配置GitHub Action部署AWS Lambda遇iam:PassRole权限错误求助
问题解决步骤
1. 修正iam:PassRole权限策略
你当前的权限策略存在资源指定错误:
- 错误信息明确要求对
arn:aws:iam::<账户ID>:role/aws-sam-cli-managed-dev-pipe-PipelineExecutionRole-175Y8M3HIID7J(主角色ARN)执行iam:PassRole,但你写的是带/feature-deployment的会话ARN——这是STS临时会话标识,不是IAM角色本身,AWS不会将其识别为合法资源。 - 同时要确保策略里的账户ID统一(你写的
xxxx和YYYY应为同一个账户ID)。
修正后的权限策略:
{ "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<你的账户ID>:role/aws-sam-cli-managed-dev-p-CloudFormationExecutionRxxx", "arn:aws:iam::<你的账户ID>:role/aws-sam-cli-managed-dev-pipe-PipelineExecutionRole-175Y8M3HIID7J" ], "Effect": "Allow" }
2. 撤销错误的信任关系修改
你尝试添加的arn:aws:iam::YYYY:role/aws-sam-cli-managed-dev-pipe-PipelineExecutionRole-175Y8M3HIID7J/feature-deployment是角色的临时会话ARN,不属于合法的IAM主体(principal),因此AWS拒绝了修改。且你的问题根源不是信任关系,无需修改信任策略,直接撤销本次错误操作即可。
3. 确认GitHub Action的角色配置
确保GitHub Action在部署流程中,正确扮演的是aws-sam-cli-managed-dev-pipe-PipelineExecutionRole-175Y8M3HIID7J这个IAM角色,而非其他角色。
内容的提问来源于stack exchange,提问作者user12073359
相关产品推荐
相关产品推荐

