Я запускаю сценарий 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](https://i.stack.imgur.com/QO1fE.png)
Inte rnet Шлюз ![Internet Gateway](https://i.stack.imgur.com/ZY7NP.png)
Политика ковша:
{
"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"
}
}
}
]
}