Для интерфейса командной строки (CLI) требуются учетные данные AWS.Невозможно использовать интерфейс командной строки AWS в качестве анонимного пользователя.
Поэтому, когда вы запускаете aws s3 sync
, он фактически использует ключ доступа и секретный ключ, которые вы сохраняли ранее.Эти учетные данные идентифицируют вашего пользователя IAM, поэтому он использует разрешения этого пользователя IAM, а не анонимно (публично) обращается к вашему содержимому S3.
Фактически, команда aws s3 sync
не может работать только с доступом GetObject
потому что он также должен перечислить содержимое корзины, чтобы узнать, какие файлы существуют.Таким образом, очевидно, что вы не используете определенную вами Bucket Policy.
Чтобы ответить на ваш вопрос ... исходя из вышеуказанной политики, не возможно для кого-то загрузить всю вашуbucket, потому что они не могут перечислить содержимое корзины .Они могут получить доступ только к тем объектам, которые, как они знают, существуют.