Почему я получаю «исключение для выполнения: ecs: ListTasks на ресурсе: *» исключение на AWS API - PullRequest
2 голосов
/ 06 января 2020

Я пытаюсь получить список задач, которые выполняются в моей среде ECS, из AWS API, но я постоянно получаю одну и ту же ошибку:

Пользователь: arn: aws: iam :: [my_id]: пользователь / [имя пользователя] не авторизован для выполнения: ecs: ListTasks на ресурсе: *

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ecs:RunTask",
                "ecs:ListTasks",
                "ecs:StartTask",
                "ecs:StopTask"
            ],
            "Resource": [
                "arn:aws:ecs:us-east-1:[my_id]:task/*",
                "arn:aws:ecs:us-east-1:[my_id]:task-definition/*",
                "arn:aws:ecs:us-east-1:[my_id]:cluster/*",
                "arn:aws:ecs:us-east-1:[my_id]:task-set/*/*/*",
                "arn:aws:ecs:us-east-1:[my_id]:container-instance/*",
                "arn:aws:ecs:us-east-1:[my_id]:service/*"
            ]
        }
    ]
}

Так что, как вы можете видеть, я должен получить доступ к действие со всеми доступными ресурсами. Чего мне не хватает?

Спасибо.

1 Ответ

1 голос
/ 06 января 2020

Действие listTasks поддерживает только container instances, поскольку ресурсы не cluster arn. Только cluster arn может быть добавлено как условие.

Работает следующая политика.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ecs:ListTasks",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "ecs:cluster": "arn:aws:ecs:ap-southeast-2:[account id]:cluster/MyEcsCluster"
                }
            }
        }
    ]
}

Ссылка:

(проверьте действие ListTasks в этой ссылке) https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerservice.html

Надеюсь, это поможет.

...