From ca7661bc1e47aa1a2e2370e5977ee9198640d8bc Mon Sep 17 00:00:00 2001 From: Jack Danger Date: Wed, 20 Sep 2017 19:04:23 -0700 Subject: [PATCH] S3 keys inherit bucket ACL --- moto/s3/responses.py | 4 +++- tests/test_s3/test_s3.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/moto/s3/responses.py b/moto/s3/responses.py index fbd142a34..86d5dbdef 100755 --- a/moto/s3/responses.py +++ b/moto/s3/responses.py @@ -636,6 +636,8 @@ class ResponseObject(_TemplateEnvironmentMixin): storage_class = request.headers.get('x-amz-storage-class', 'STANDARD') acl = self._acl_from_headers(request.headers) + if acl is None: + acl = self.backend.get_bucket(bucket_name).acl tagging = self._tagging_from_headers(request.headers) if 'acl' in query: @@ -740,7 +742,7 @@ class ResponseObject(_TemplateEnvironmentMixin): if grants: return FakeAcl(grants) else: - return get_canned_acl('private') + return None def _tagging_from_headers(self, headers): if headers.get('x-amz-tagging'): diff --git a/tests/test_s3/test_s3.py b/tests/test_s3/test_s3.py index 4fc698787..8ce56bd01 100644 --- a/tests/test_s3/test_s3.py +++ b/tests/test_s3/test_s3.py @@ -870,7 +870,7 @@ def test_s3_object_in_public_bucket(): s3 = boto3.resource('s3') bucket = s3.Bucket('test-bucket') bucket.create(ACL='public-read') - bucket.put_object(ACL='public-read', Body=b'ABCD', Key='file.txt') + bucket.put_object(Body=b'ABCD', Key='file.txt') s3_anonymous = boto3.resource('s3') s3_anonymous.meta.client.meta.events.register('choose-signer.s3.*', disable_signing)