Отказано в доступе к геобъекту s3api

Я пытаюсь получить файл с s3, используя aws-cli

aws s3api get-object --bucket <bucket_name> --key /foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>

но я получаю следующую ошибку -

An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

Я перепроверил свою конфигурацию, используя

aws configure --profile <profile_name>

и там, кажется, все правильно. Я использую те же учетные данные для просмотра и загрузки файла в браузере S3 без каких-либо проблем.

Документация имеет минимальное использование, так как у меня очень ограниченный доступ к этому ведру. Я не могу проверить разрешения или использовать

aws s3 --profile <profile_name> ls

1 ответ

Решение

AccessDenied может означать, что у вас нет разрешения, но возвращается ошибка, если объект не существует (вы можете прочитать здесь, чтобы узнать причину использования этой ошибки)

Вы можете убедиться, что у вас есть доступ к корзине, используя aws s3api list-objects команда как

aws s3api list-objects --bucket <bucket_name> --query 'Contents[].{Key: Key, Size: Size}' --profile <profile_name>

Скорее всего, в вашем случае проблема связана с пользователем / перед ключом

aws s3api get-object --bucket <bucket_name> --key foo.com/bar/summary-report-yyyymmdd.csv.gz temp_file.csv.gz --profile <profile_name>

Для меня проблема была в доступе на км. Я нашел это полезным:https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403/

Другие вопросы по тегам