Estoy enviando archivos a un depósito S3 y el propietario del depósito no puede ver los archivos mientras mi rol tiene acceso para escribir en el depósito. No estoy seguro de por qué sucede esto y esperaba tener que forzar programáticamente bucket-owner-full-control .
ObjectMetadata metadata = constructMetadata(); PutObjectRequest request = new PutObjectRequest(bucketName, filename, data, metadata); s3Supplier.get().putObject(request);Se carga correctamente, pero el propietario del depósito no lo ve. ¿Alguna razón de por qué sería esto?
PutObjectRequest request = new PutObjectRequest(bucketName, filename, data, metadata).withCannedAcl(CannedAccessControlList.BucketOwnerFullControl);
ObjectMetadata metadata = constructMetadata();
PutObjectRequest request = new PutObjectRequest(bucketName, filename, data, metadata);
s3Supplier.get().putObject(request);Inspirado por la respuesta
Los objetos de S3 son propiedad de la cuenta de AWS que los escribe. Clean forma predeterminada, solo el propietario del objeto tiene todos los privilegios sobre el objeto y otros, incluido el propietario del depósito, no pueden acceder a él, a menos que el acceso se otorguemente (a través de ACL).