#amazon-web-services #amazon-s3 #amazon-ec2
#amazon-web-services #amazon-s3 #amazon-ec2
Вопрос:
Я хотел бы копировать файлы в / из корзины s3 с серверов на моем vpc без необходимости добавлять учетные данные на каждый сервер в моем облаке.
Я следовал инструкциям на https://aws.amazon.com/premiumsupport/knowledge-center/s3-private-connection-no-authentication / чтобы настроить политику для вновь созданной конечной точки VPC. Насколько я могу судить, я все сделал правильно и добавил хорошую политику корзины в свою корзину. Я дважды проверил настройки таблицы маршрутизации. Все выглядит хорошо.
Но, возможно, я не понимаю, что это должно делать. Когда я набираю:
aws s3 cp s3://My_Bucket_Name/some.pdf .
Я просто получаю:
fatal error: Unable to locate credentials
с моего сервера в vpc.
Вот политика анонимной корзины, которая у меня есть:
{
"Version": "2012-10-17",
"Id": "Policy232323232323",
"Statement": [
{
"Sid": "Stmt1607462615603",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567789:root"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::MyBucket/*",
"Condition": {
"StringEquals": {
"aws:SourceVpce": "vpce-123456c789"
}
}
}
]
}
Ответ №1:
Попробуйте добавить: --no-sign-request
Из параметров командной строки — Интерфейс командной строки AWS:
Логический переключатель, который отключает подписание HTTP-запросов к конечной точке службы AWS. Это предотвращает загрузку учетных данных.
Комментарии:
1. Спасибо! Похоже, это сработало. Хотя сейчас я получаю
fatal error: An error occurred (403) when calling the HeadObject operation: Forbidden
Политика корзины выглядит для меня правильной. Я трижды проверил это.2. Хорошо, все ближе. Я изменил значение для участника на «*», как в примере на amazon, вместо использования генератора политик. Теперь я могу загружать, но при загрузке мне отказывают в доступе:
An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
странно, потому что это определенно в моей политике.3. Какие команды вы отправляете с помощью putObject? Вы устанавливаете ACL? Если это так, это может привести к конфликту с настройками S3 Block Public Access.
4. Хороший вариант. Вы знаете, полезно ли это только для анонимного доступа к S3 с помощью CLI?
5. @JohnRotenstein, я понял это. Мне пришлось снять флажок «Блокировать общедоступный доступ к корзинам и объектам, предоставленным через новые списки управления доступом (ACL)».