Amazon S3 (Amazon Simple Storage Service) is onf of famous storage for the Internet. It is designed to make web-scale computing easier for developers. Spring boot with Amazone SDK is a good tool to implement a upload function. Implementing them is very simple with some line of code. When I follow the tutorial (https://medium.com/oril/uploading-files-to-aws-s3-bucket-using-spring-boot-483fcb6f8646) and many others on Internet, it just take some minutes to finish.
Oh, wait. Something went wrong.
Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: xxxx)
What did I do wrong?
I check step by step follow link: https://aws.amazon.com/premiumsupport/knowledge-center/s3-troubleshoot-403/
and problem found here:
- Issues in bucket policy or AWS Identity and Access Management (IAM) user policies There is somethings that tutorial did not mention. When you create bucket, a dialog appear ask you about permission.
- Manage public access control lists (ACLs) for this bucket
- Block new public ACLs and uploading public objects (Recommended)
- Remove public access granted through public ACLs (Recommended)
- Manage public bucket policies for this bucket
- Block new public bucket policies (Recommended)
- Block public and cross-account access if bucket has public policies (Recommended)
All opinion is set enable, it prevent you access bucket from Amazon SDK.
We simple uncheck in permission tab in bucket.
- Manage public access control lists (ACLs) for this bucket
- Block new public ACLs and uploading public objects (Recommended)
Problem is disappreared.