Создаем S3 Bucket, делаем его не публичным, в правах доступа ничего не меняем. Сразу найдем ARN созданного бакета.
Создаем пользователя, на вкладке "Permisson" переходим в "Attach existing policies directly" и находим "AmazonS3ReadOnlyAccess". Посмотрим ARN созданного пользователя.
Возвращаемся в настройки S3 Bucket уже созданного и переходим в "Permisson", создаем "Bucket Policy" со следующим содержимым:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::XXXXXXXXXXXX:user/artem-mys3bucket" }, "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::artem-mys3bucket/*" } ] }
Не забываем заменить ARN на свои.