#amazon-web-services #amazon-s3
Вопрос:
В настоящее время мы работаем с инструментом, который сканирует инфраструктуру в среде AWS с помощью вызовов API. Он использует ключ доступа AWS IAM для аутентификации в AWS, затем принимает роль IAM с необходимыми Read
разрешениями в учетной записи. Отрывок из ролевых действий:
- "s3:Get*"
- "s3:List*"
Все остальные вызовы API службы (EC2, IAM и т.д.) Работают должным образом и возвращают данные, за исключением S3. Во время любого вызова API S3, например ListBuckets
, мы получаем следующий ответ:
Connection was closed before we received a valid response from endpoint URL: "https://s3.amazonaws.com"
Теперь я полагаю, что, поскольку S3 является глобальной конструкцией в AWS, это может быть результатом другой сетевой маршрутизации, но я не совсем уверен, на что конкретно следует обратить внимание. Если бы мы ранее столкнулись с проблемами с разрешениями в других службах, нам бы вернули явную Access Denied
ошибку. Что я здесь упускаю?
Комментарии:
1. Выполняется ли этот код внутри AWS VPC? Настроен ли ваш VPC на какие-либо конечные точки VPC? Есть ли у вас брандмауэр (или группы безопасности AWS), которые блокируют S3?
2. Да, мне интересно, существует ли конечная точка VPC, которая перенаправляет все запросы в S3 в этом конкретном регионе, таким образом, что вызовы в S3 в других регионах блокируются. Откуда работает этот «инструмент»?
Ответ №1:
Возвращаясь к этому. Проблема заключалась во внутреннем брандмауэре, который по-разному обрабатывал вызовы S3 и давал явный отказ. Как только правило разрешения было введено, вызовы в S3 функционировали должным образом.
Для других, кто сталкивается с этой проблемой, у нас по-прежнему периодически возникают проблемы с вызовами S3, поскольку диапазон IP-адресов, используемый AWS для вызовов API S3, может варьироваться.