Доступ к задаче ECS запрещен для S3 - PullRequest
0 голосов
/ 14 мая 2018

У меня установлена ​​роль IAM для моей задачи со следующими разрешениями, но я получаю доступ запрещен при попытке доступа к корзинам.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket/Templates/*",
                "arn:aws:s3:::bucket/*",
                "arn:aws:s3:::anotherBucket/*"
            ]
        }
    ]
}

Экземпляр контейнера играет роль со стандартной политикой AmazonEC2ContainerServiceforEC2Role.

Кажется, я могу читать и писать в папки из корзины / типа корзины / 00001, НО я не могу читать из корзины / шаблонов.

Я повторно развертывал разрешения и задачи несколько раз (используя terraform), но ничего не изменилось. Я добавил логирование в приложение, чтобы убедиться, что оно использует правильное ведро и путь / ключи.

Я в тупике. Кто-нибудь понял, что я мог здесь упустить?

Спасибо

PS: Мне пришло в голову, что файлы в корзинах, к которым у меня нет доступа, я копирую туда, используя скрипт. Это делается с использованием учетных данных, отличных от кредитов, которые использует задача.

aws s3 cp ..\Api\somefiles\000000000001\ s3://bucket/000000000001 --recursive --profile p aws s3 cp ..\Api\somefiles\Templates\000000000001\ s3://bucket/Templates/000000000001 --recursive --profile p

Я использовал -acl bucket-owner-full-control в команде cp, но я удалил это, чтобы посмотреть, поможет ли это - это не помогло. Может быть, мне нужно что-то еще?

1 Ответ

0 голосов
/ 15 мая 2018

решаемая. Нашел старый образец от предыдущего работодателя :) Мне нужно было разрешение для List * явно, отдельно от других разрешений. Мне также нужно было определить sids.

"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "sid1",
        "Effect": "Allow",
        "Action": [
            "s3:ListAllMyBuckets",
            "s3:ListBucket",
            "s3:HeadBucket"
        ],
        "Resource": "*"
    },
    {
        "Sid": "sid2",
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    }
]

}

...