我在单个 AWS 账户中有多个 Fargate 集群。我希望确保给定的服务账户(由构建管道使用)只能更新给定 Fargate 集群内的服务。
IAM 策略编辑器提示ecs:UpdateService
操作的资源是arn:aws:ecs::<aws_account_id>:service/
没有意义的,因为不同的集群可以有共享名称的服务。 aws ecs describe-tasks
显示每个任务的“clusterArn”和“serviceArn”。 aws ecs list-services
和aws ecs describe-services
仅适用于给定集群的服务。
答案1
我创建了一个策略,限制ecs:UpdateService
操作只能arn:aws:ecs:<region>:<aws_account_id>:<service>
使用“StringEquals”来更新资源状况指定一个ecs:cluster
条件键设置为 ECS 集群的 ARN。使用此方法,您可以*
允许<service>
策略更新给定集群中的所有服务。