Отказано в доступе к геобъекту 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/