Альтернативный подход, который позволяет более детально контролировать, кому именно разрешено просматривать объект (только для всех пользователей или только для аутентифицированных пользователей):
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, image);
AccessControlList acl = new AccessControlList();
acl.grantPermission(GroupGrantee.AllUsers, Permission.Read); //all users or authenticated
putObjectRequest.setAccessControlList(acl);
s3client.putObject(putObjectRequest);