feat(publisher-s3): allow ACL omission #3728
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows the caller to omit the ACL from the upload request, per Amazon's recommendation of using bucket owner-enforced permissions.
Summarize your changes:
AWS recommends disabling the use of ACLs and instead using bucket owner-enforced permissions (see https://docs.aws.amazon.com/AmazonS3/latest/userguide/ensure-object-ownership.html). The current configuration and implementation of the S3 publisher always applies an ACL, which simply doesn't work with buckets configured this way. This PR adds an
omitAcl
option to the config that simply omits the ACL from the upload command.I considered making this config look more like the Google Cloud Storage publisher (which uses essentially applies some of its options, such as
predefinedAcl
,public
, andprivate
, directly to its upload object); however, that would be a breaking change, and I opted for keeping this non-breaking. I'm happy to refactor if you think that is preferred.