Если вы говорите «нет» Cognito, то вы просто усложняете себе жизнь.Это как раз тот случай, когда вы хотите использовать Cognito.Тот факт, что вы не требуете от своих пользователей аутентификации и что контент S3 не является специфичным для пользователя, не означает, что Cognito не подходит для этого сценария.
Все, что вам нужно сделать, - это создать идентификацию Cognito.объединить и выбрать поддержку неподтвержденных лиц.Создайте политику IAM, которая позволяет выполнять чтение из этого конкретного сегмента S3, и позволить неаутентифицированным пользователям принимать на себя эту роль IAM, подключая ее к этим неаутентифицированным объектам.
Аутентификация затем происходит автоматически во время инициализации SDK в вашем приложении.Это все, что вам нужно сделать, чтобы разрешить доступ к этой корзине S3 только из вашего приложения.
И вы получите в качестве бонуса метрики доступа даже для неаутентифицированных пользователей.И если впоследствии вы решите, что ваше приложение должно поддерживать аутентификацию, вам не нужно почти ничего менять в настройках.