Andrew Gaul created JCLOUDS-1644:
------------------------------------
Summary: Many AWS-S3 tests fail with
InvalidBucketAclWithObjectOwnership
Key: JCLOUDS-1644
URL: https://issues.apache.org/jira/browse/JCLOUDS-1644
Project: jclouds
Issue Type: Bug
Components: jclouds-blobstore
Affects Versions: 2.6.0
Reporter: Andrew Gaul
Assignee: Andrew Gaul
For example:
{noformat}
[ERROR] Run 1:
AWSS3ContainerLiveTest>S3ContainerLiveTest.testPublicAccess:37->BaseContainerLiveTest.testPublicAccess:58
» AWSResponse request PUT https://gaul-blobstore27.s3.amazonaws.com/ HTTP/1.1
failed with code 400, error: AWSError{requestId='RHBHN5VV7NCV10B2',
requestToken='RUCGbBq/rLtQjsfAPAYmm135BtNdK7tx3CNUBeNIimVTnI+MmFp7N/4EAx5CrJiYN6i9Yrn3iCwWXp1HZaqIHavG1lH5v8bF',
code='InvalidBucketAclWithObjectOwnership', message='Bucket cannot have ACLs
set with ObjectOwnership's BucketOwnerEnforced setting',
context='{HostId=RUCGbBq/rLtQjsfAPAYmm135BtNdK7tx3CNUBeNIimVTnI+MmFp7N/4EAx5CrJiYN6i9Yrn3iCwWXp1HZaqIHavG1lH5v8bF}'}
[ERROR] Run 1:
PathBasedContainerLiveTest>S3ContainerLiveTest.testPublicAccess:37->BaseContainerLiveTest.testPublicAccess:58
» AWSResponse request PUT https://s3.amazonaws.com/gaul-blobstore26 HTTP/1.1
failed with code 400, error: AWSError{requestId='RHBVRY3MTGDVF1P2',
requestToken='aqjj1W+CYVT5fKJaWx7NJ2TCPubOGu41rOQIjAawlqNS6dN4oEJZOcrOgPsnIxum2iDmUsn1D5c=',
code='InvalidBucketAclWithObjectOwnership', message='Bucket cannot have ACLs
set with ObjectOwnership's BucketOwnerEnforced setting',
context='{HostId=aqjj1W+CYVT5fKJaWx7NJ2TCPubOGu41rOQIjAawlqNS6dN4oEJZOcrOgPsnIxum2iDmUsn1D5c=}'}
[ERROR] Run 2: AWSBucketsLiveTest.testEu:56 » AWSResponse request PUT
https://gaul-blobstore37eu.s3.amazonaws.com/ HTTP/1.1 failed with code 400,
error: AWSError{requestId='312B9VAMV3WZJQP5',
requestToken='u5xu6Y9HV465H1nBmGdeT29fH8NjAM2Aq0UWX2e+6R6pysrUPqfWeGwQudCmBmvwQyLpd8hVm/I=',
code='InvalidBucketAclWithObjectOwnership', message='Bucket cannot have ACLs
set with ObjectOwnership's BucketOwnerEnforced setting',
context='{HostId=u5xu6Y9HV465H1nBmGdeT29fH8NjAM2Aq0UWX2e+6R6pysrUPqfWeGwQudCmBmvwQyLpd8hVm/I=}'}
[ERROR] Run 13:
AWSBucketsLiveTest>BucketsLiveTest.testPublicReadAccessPolicy:157 » AWSResponse
request PUT https://gaul-blobstore45.s3.amazonaws.com/ HTTP/1.1 failed with
code 400, error: AWSError{requestId='PDFRKWVBRBGYE1XF',
requestToken='OU9+Gi7E/XGheByhurnQZpn6D50tIZvJLjR5Jm06XkCbH1nKZauOOTHr1bfe5x40tyvODBtiRAe4d9vBiMiB5lGdQt89yOzO2txcJ1STplI=',
code='InvalidBucketAclWithObjectOwnership', message='Bucket cannot have ACLs
set with ObjectOwnership's BucketOwnerEnforced setting',
context='{HostId=OU9+Gi7E/XGheByhurnQZpn6D50tIZvJLjR5Jm06XkCbH1nKZauOOTHr1bfe5x40tyvODBtiRAe4d9vBiMiB5lGdQt89yOzO2txcJ1STplI=}'}
{noformat}
This is due to a security change that is intended to prevent public buckets
from leaking unintended blobs: https://stackoverflow.com/a/76102067/2800111
Fixing this for {{AWSS3BlobStore.createContainerInLocation}} and
{{AWSS3BlobStore.setContainerAccess}} is straightforward although the S3Client
tests call through a variety of paths which makes this hard to fully fix.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)