Доступ S3 Bucket из VPC - PullRequest
       0

Доступ S3 Bucket из VPC

0 голосов
/ 23 февраля 2020

Я запускаю сценарий NodeJS и использую пакет aws -sdk для записи файлов в корзину S3. Это прекрасно работает, когда я запускаю скрипт локально, но не из службы ECS Fargate, тогда я получаю Error: AccessDenied: Access Denied.

Сервис имеет разрешенный VP C vpc-05dd973c0e64f7dbc. Я попытался добавить шлюз Inte rnet к этому VP C, а также конечную точку (как показано на прикрепленном изображении) - но ничто не решает ошибку отказа в доступе. Есть идеи, что мне здесь не хватает?

решено: проблема была в том, что я неправильно понял aws: sourceVpce. Требуется идентификатор конечной точки VP C, а не идентификатор VP C. **

Конечная точка

Endpoint

Inte rnet Шлюз Internet Gateway

Политика ковша:

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E3MKW5OAU5CHLI"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::mywebsite.com/*"
        },
        {
            "Sid": "Stmt1582486025157",
            "Action": "s3:*",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::mywebsite.com/*",
            "Principal": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": "vpc-05dd973c0e64f7dbc"
                }
            }
        }
    ]
}

1 Ответ

1 голос
/ 23 февраля 2020

Пожалуйста, добавьте политику сегмента, которая разрешает доступ с конечной точки VP C.

Обновите политику сегмента с условием, которое позволяет пользователям получать доступ к сегменту S3, когда запрос поступает от VP * 1009. * конечная точка, которую вы создали. Чтобы внести в белый список этих пользователей для загрузки объектов, вы можете использовать политику сегментов, аналогичную следующей:

Примечание. Для значения aws:sourceVpce введите идентификатор конечной точки VP C, который вы создано.

{
   "Version": "2012-10-17",
   "Id": "Policy1314555909999",
   "Statement": [
     {
       "Sid": "<<Access-to-specific-VPConly>>",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Effect": "Allow",
       "Resource": ["arn:aws:s3:::awsexamplebucket/*"],
       "Condition": {
         "StringEquals": {
           "aws:sourceVpce": "vpce-1c2g3t4e"
         }
       }
     }
   ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...