AccessDenied application using S3 in AWS EC2 Instance - amazon-web-services

I have hosted a meteor-angular application using S3 in AWS EC2.
Now when I run the Application I am receiving this error message below.
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>8WK30J2DDCZRTWXK</RequestId>
<HostId>6+bSjn5yWA5olpHZb7pcYCBAIlCzPjN8MxxBs3kTuGfuNuNk+CgHDjDeBpXCIjpd5WDVoFnc5Zw=</HostId>
</Error>
I have search a lot for a suitable answer and also to understand that might be the issue.
When I run aws s3 ls in the terminal I am able to see all the S3 buckets and also in the IAM Role I have added the AmazonS3FullAccess Permissions policies. But still, the issue remains.
When I go to my bucket permissions it says that "objects can be public" and the public access is not blocked.
Here is an example of a Object permission Screenshot.
Can anyone help me to fix this error?

On your s3 bucket, check the security rules and check if they are available to the public. It looks like you're trying to access it on the web browser if so you'll need to make it public.
I believe you can do this either to the entire bucket or each object the concept should be the same for each.
Go to your bucket and select the object using the checkbox.
Click on actions and select make public.

Related

Error in object URL of static website in S3 bucket: Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature

I have created a static website in an S3 bucket AWS. I have created two files in bucket one in index.html and 2nd is error.html. When I open index.html and click on object URL in AWS it gives below error:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>InvalidArgument</Code>
<Message>Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4.</Message>
<ArgumentName>Authorization</ArgumentName>
<ArgumentValue>null</ArgumentValue>
<RequestId>R69TKNDJTYZ8E0SW</RequestId>
<HostId>OAOZKRsA6ATOgH6jBr5jO1fS0zi+GSh4at34nLq8V/Ug8Icvuy8c6NOlCoNqqjpBcORg8bDlzJ0=</HostId>
</Error>
I have checked every possible solution but nothing works. My bucket has public access like below my bucket name it is written in red Publicly accessible. But still I could not find what is issue.

AWS S3 Bucket policy editor access denied

I am logged in with the root account trying to give public access to a bucket inline with the instructions for setting up a static s3 web site.
However I get an access denied message when running the bucket policy.
There is no more detail on the message.
This could be due to recent changes in S3. To fix this issue, you need to assign Public Access to the bucket, follow the below steps:
In the Permissions tab click on the Block Public Access settings.
Click Edit to the right of these settings.
Make sure Block public access to buckets and objects granted through new public bucket or access point policies option is deselected.
Click Save.
Go back to the Bucket Policy and try again.
"Manage public bucket policies for this bucket" section need to be unchecked for to introduce "Allow" policies.
But be cautious, unchecking these might enable you to introduce a
policy but that policy is a public policy making your bucket public.
Having these checked - You won't be able to introduce "Allow" policies that for this bucket.
You can however introduce "Deny" policies, with these options checked.
The accepted answer works even if related comments suggest it's not a good idea for security reasons. In fact it is in line with AWS instructions for static website hosting here
https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html
which answers the OP's question.
To summarise the steps (given in the linked page) to configure a static website on Amazon S3:
Create a bucket
Enable static website hosting
Unblock all public access
Add the bucket policy that makes your content publicly available (the yaml config you have in your post)
Configure your index document (usually index.html)
Configure any error/redirect/no-auth documents (for React this is usually also index.html)
Change the permissions to below works for me:
If your bucket policy grants public access, check if S3 Block Public Access is enabled on the bucket.

Access Denied from Amazon S3 by using AWS CPP SDK

We are using AWS CPP SDK for download/upload from Amazon S3 , Its working fine for our lower environment but getting below error on while accessing buckets for one particular environment,
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>F1CEBCDCAB623E08</RequestId>
<HostId>
fAVPSqbWgBKqnr1cos13mkoqUm9/NQ2s4rrGnXbdyldYqjYPOx+OBM90qQXkYB2fVOJD3hP4DaE=
</HostId>
</Error>
we have cross verified IAM ROLE but nothing worked out.
Any help here appreciated.
Thanks.
The error means that the AWS AccessKey that you are using does not have rights for the operation that you are performing.
1) If you are running this code on an EC2 instance, a) create an IAM role with the correct permissions, b) assign this role to the EC2 instance.
2) If you are running this code outside of AWS, then you need to review the IAM user's AccessKey for correct permissions (policy).
You mention role, so I am assuming #1 above. Verify that you have assigned this role to the EC2 instance in the AWS EC2 console.

Unable to edit S3 object metadata in console or Cyber Duck

I am trying to edit the metadata for S3 objects in both Cyber Duck and the AWS Console. Cyber Duck does not give me an error, but does not apply the settings. When I try to edit the data in the AWS Console I get the following error message:
Sorry! You were denied access to do that.
I can upload and do everything else in the bucket, and I have the AmazonS3FullAccess policy applied to my account.
I figured it out. The files were uploaded as an anonymous user, therefor I could not edit anything about them. I re-uploaded everything with correct credentials and was able to change the metadata.

Get Request from AWS

I am really new with AWS. I got a task to get request from this link : https://s3.amazonaws.com , but it shows Access Denied. and Here is the result I got. Please help me to getObject data from the link
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>FF91410354571103</RequestId>
<HostId>
4KESrzSjgbNG+gURnW2d5PKiyDIUoesZoySaDKfSk6OVNtEi3j2KIrwVXrFXQ2HR
</HostId>
</Error>
I guess you want to enable access to the s3 objects for public.
You can either add bucket policy for public access through aws console, which will enable public access to all files in the bucket check this link or set permission for each file that needs to be publicly accessible through aws console. When you click on the file you will see properties tab on the right side where you can set read access for everyone in permission setting.