AWS S3 Setup Guide

A complete beginner-friendly guide to setting up AWS S3 for use with S3cretBox

What is AWS S3?

Amazon Simple Storage Service (S3) is a cloud storage service that allows you to store and retrieve any amount of data from anywhere on the web.

✅ Benefits:

  • 99.999999999% (11 9's) durability
  • Virtually unlimited storage
  • Global accessibility
  • Pay only for what you use
  • Built-in security features

🔧 Use Cases:

  • Website hosting
  • Data backup & archiving
  • Content distribution
  • Big data analytics
  • Application data storage
AWS S3 Pricing in INR (2025)
Approximate costs based on current exchange rates (1 USD ≈ 83 INR)
Free Tier
First 12 Months

• 5 GB Standard storage

• 20,000 GET requests

• 2,000 PUT requests

Cost: ₹0

Standard Storage

• ₹1.9 per GB/month

• ₹0.03 per 1,000 GET requests

• ₹0.4 per 1,000 PUT requests

Most common usage

Data Transfer

• Upload: Free

• Download (first 1 GB/month): Free

• Download (after 1 GB): ₹7.5 per GB

For internet transfers

💡 Cost Example:

Storing 10 GB with 1,000 file operations per month ≈ ₹20-25/month

Creating an S3 Bucket
1

Sign in to AWS Console

Go to console.aws.amazon.com and sign in

2

Navigate to S3

Search for "S3" in the services search bar and click on it

3

Create Bucket

Click "Create bucket" button

4

Configure Bucket Settings

Bucket name: Choose a unique name (e.g., "my-s3cretbox-storage-2025")

Region: Choose closest to you (e.g., "Asia Pacific (Mumbai)" for India)

Block Public Access: Keep all boxes checked (recommended for security)

Versioning: Enable if you want file version history

5

Create the Bucket

Click "Create bucket" at the bottom

Setting up CORS (Cross-Origin Resource Sharing)
Required for S3cretBox to access your bucket from the browser
1

Open Your Bucket

Click on your bucket name in the S3 console

2

Go to Permissions Tab

Click on the "Permissions" tab

3

Edit CORS Configuration

Scroll down to "Cross-origin resource sharing (CORS)" and click "Edit"

4

Add CORS Policy

Copy and paste this configuration:

[
  {
    "AllowedHeaders": ["*"],
    "AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
    "AllowedOrigins": ["*"],
    "ExposeHeaders": ["ETag"]
  }
]
5

Save Changes

Click "Save changes"

Creating an IAM User
Create a dedicated user with limited permissions for S3cretBox
1

Navigate to IAM

In AWS Console, search for "IAM" and click on it

2

Go to Users

Click on "Users" in the left sidebar

3

Create User

Click "Create user" button

4

User Details

User name: s3cretbox-user (or any name you prefer)

Access type: Programmatic access only

• Don't provide AWS Management Console access

5

Skip Permissions for Now

Click "Next" without attaching any policies (we'll do this in the next step)

6

Create User

Review and click "Create user"

7

Create Access Keys

• Click on the newly created user

• Go to "Security credentials" tab

• Click "Create access key"

• Choose "Third-party service" and click "Next"

• Add a description like "S3cretBox access"

• Click "Create access key"

⚠️ Important: Save your Access Key ID and Secret Access Key securely. You won't be able to see the secret again!

Attaching S3 Policy
Give your IAM user the right permissions to access your S3 bucket
1

Go to Your User

In IAM Users, click on your s3cretbox-user

2

Attach Policies

Click on "Permissions" tab, then "Add permissions" → "Attach policies directly"

3

Create Custom Policy

Click "Create policy" and use the JSON editor with this policy (replace YOUR-BUCKET-NAME):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation"
      ],
      "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME"
    },
    {
      "Effect": "Allow", 
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject"
      ],
      "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
    }
  ]
}
4

Review and Create

• Click "Next: Tags" (skip tags)

• Click "Next: Review"

• Name: S3cretBoxAccess

• Description: Policy for S3cretBox bucket access

• Click "Create policy"

5

Attach to User

• Go back to your user's permissions

• Click "Add permissions" → "Attach policies directly"

• Search for "S3cretBoxAccess"

• Select it and click "Add permissions"

🎉 You're All Set!

Your AWS S3 bucket is now ready to use with S3cretBox. Use your Access Key ID and Secret Access Key in the app.