【发布时间】:2020-02-02 08:34:46
【问题描述】:
我正在尝试在 IAM 策略中授予 ecs:UpdateService 权限,如下所示:
{
"Sid": "AllowECS",
"Effect": "Allow",
"Action": [
"ecs:UpdateService"
],
"Resource": "arn:aws:ecs:ap-southeast-2:123456789012:service/my-service"
}
服务 ARN 由 cli aws ecs list-services(和 describe-services)列出。
但是,UpdateService API 调用失败并出现 AccessDenied 错误,表明进程没有使用 ARN 的服务权限:
arn:aws:ecs:ap-southeast-2:123456789012:service/*my-cluster*/my-service
我找不到任何对 ECS 服务的 ARN 的引用包括集群名称,并且 cli“ecs describe-services”的文档明确指出:
serviceArn ->(字符串)
标识服务的 ARN。 ARN 包含 arn:aws:ecs 命名空间,后跟 服务、服务所有者的 AWS 账户 ID、服务 命名空间,然后是服务名称。例如, arn:aws:ecs:region:012345678910:service/my-service。
如果我将 IAM 策略更改为实际使用错误中显示的 ARN(包括集群名称),则 UpdateService 成功完成。
我不确定这里缺少什么,ECS 服务 ARN 是否应该包含集群名称?如果是这样,我如何获得该版本的 ARN,因为 AWS API 似乎都返回了不包含集群名称的版本?
【问题讨论】:
标签: amazon-web-services amazon-iam amazon-ecs