i have used below policy but its locked me out of bucket. now its asking or root access

0

{ "Id": "ExamplePolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSLRequestsOnly", "Action": "s3:", "Effect": "Deny", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } }, "Principal": "*" } ] }

ali
asked 10 months ago327 views
2 Answers
2

I understand that with the bucket policy listed above, you are locked out. To solve this problem, you need to use your root user credentials and follow steps as below:

  1. export AWS_DEFAULT_REGION= <region_name>

  2. export AWS_ACCESS_KEY_ID="ROOT_ACCESS_KEY_ID"

  3. export AWS_SECRET_ACCESS_KEY="ROOT_SECRET_KEY_ID"

  4. aws s3api delete-bucket-policy --bucket s3-bucket-name

Note: For windows use "set" instead of "export" while using CLI

This would delete the s3 bucket policy and you should be able to access the bucket. Next thing to make sure when you put bucket policy is, never add all the actions in deny statement, unless you are not sure what each of those action does exactly.

You can start with something like this and then start tweaking it further to add securetransport condition in second block(listed below), this policy would make sure that you always have access to the bucket to perform actions on it and you are not locked out.

   {
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "<your user arn or role arn would come here>"
         },
         "Action": [
           "s3:*"
         ],
         "Resource": [
           "arn:aws:s3:::bucket_name",
           "arn:aws:s3:::bucket_name/*"
         ]
       },
       {
         "Effect": "Deny",
         "NotPrincipal": {
           "AWS": "<your user arn or role arn would come here>"
          },
         "Action": [
           "s3:*"
         ],
         "Resource": [
           "arn:aws:s3:::bucket_name",
           "arn:aws:s3:::bucket_name/*"
         ]
       }
     ]
   }
profile pictureAWS
EXPERT
answered 10 months ago
1

Hello, Mentioned policy is to only allow encrypted connections via HTTPS and restricting HTTP requests from accessing your bucket. Can you please elaborate more what it means by locked out or asking root access. Any errors ?

AWS
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions