我正在尝试使用 ECS 蓝/绿部署设置 CodePipeline,其中部署位于不同的 AWS 账户中。
我一直在使用 ECS Blue/Green 和 CodePipeline 跨账户部署的两个指南。CodePipeline 与其 KMS 密钥、S3 工件存储桶和 ECR 存储库一起存在于账户 A 中。ECS 集群位于具有 CodeDeploy 设置的账户 B 中。
ECR、KMS 密钥和 S3 存储桶具有跨账户权限(错误时会出现不同的错误)。集群启动并运行,CodeDeploy 在账户 B 内调用时正常工作。
已在账户 B 中创建了一个角色供 CodePipeline 代入,并且它已授予账户 A 代入该角色的权限。此角色当前具有 AWSCodeDeployRoleForECS 策略(我打算在它起作用后减少它)
CodePipeline 失败并显示无用的消息
"code": "PermissionError",
"message": "The provided role does not have sufficient permissions to access CodeDeploy"
}```
The codepipeline role does have permission to access codedeploy as it's in the canned AWS policy. I can only assume there's some missing permission but I cannot find out what from this message.