У меня есть настройка пула Cognito / федеративной идентификации, когда пользователи получают временные учетные данные IAM через AWS Amplify.Эти пользователи имеют доступ к getObject из пары корзин S3, даже если:
- Для корзин отключен общий доступ
- Страница политики корзин пуста
- IAMРоль, связанная с группами Cognito, членами которых являются эти пользователи (доверительные отношения с cognito-identity.amazonaws.com), не имеет прикрепленных политик, предоставляющих какие-либо разрешения S3.Прикрепленные политики предназначены только для AppSync, Cognito и APIGateway
. Если я создаю новый сегмент и указываю getObject на содержащийся объект, пользователи получают 403 Запрещено, что указывает на то, что где-то определена определенная для сегмента политикапредоставление доступа.Проблема в том, что у нас так много политик и ролей, многие из которых используются в производстве, поэтому я не могу просто выполнить тестирование вкл / выкл, чтобы сузить его.
Есть ли способ как-то отследить, что предоставляет политика / рольдоступ к конкретному запросу S3 getObject?
EDIT Я запустил симулятор политики IAM для роли, связанной с группами Cognito, и он дает отказ для рассматриваемых объектов.
Для объектов, доступ к которым я пытаюсь правильно заблокировать, разрешения для них не установлены.В ячейках:
- Блокировка новых общедоступных ACL-списков и загрузка общедоступных объектов (рекомендуется): True
- Удалить общедоступный доступ, предоставленный через общедоступные ACL-списки (рекомендуется): True
- Блокировать новые общедоступные политики корзины (рекомендуется): True
- Блокировать общедоступный и кросс-учетный доступ, если в корзине есть общедоступные политики (рекомендуется): True
UPDATE Iя добавил запись в облачную трассу в мои ведра.В то время как событие с именем события = 'GetObject' регистрируется для любых загрузок, которые я делаю из корзины через консоль, никакие события не регистрируются для s3.getObject
загрузок через AWS javascript SDK.Как я могу получить эти события в журнал?