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.
• 5 GB Standard storage
• 20,000 GET requests
• 2,000 PUT requests
Cost: ₹0
• ₹1.9 per GB/month
• ₹0.03 per 1,000 GET requests
• ₹0.4 per 1,000 PUT requests
Most common usage
• Upload: Free
• Download (first 1 GB/month): Free
• Download (after 1 GB): ₹7.5 per GB
For internet transfers
Storing 10 GB with 1,000 file operations per month ≈ ₹20-25/month
Sign in to AWS Console
Go to console.aws.amazon.com and sign in
Navigate to S3
Search for "S3" in the services search bar and click on it
Create Bucket
Click "Create bucket" button
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
Create the Bucket
Click "Create bucket" at the bottom
Open Your Bucket
Click on your bucket name in the S3 console
Go to Permissions Tab
Click on the "Permissions" tab
Edit CORS Configuration
Scroll down to "Cross-origin resource sharing (CORS)" and click "Edit"
Add CORS Policy
Copy and paste this configuration:
[
{
"AllowedHeaders": ["*"],
"AllowedMethods": ["GET", "PUT", "POST", "DELETE", "HEAD"],
"AllowedOrigins": ["*"],
"ExposeHeaders": ["ETag"]
}
]Save Changes
Click "Save changes"
Navigate to IAM
In AWS Console, search for "IAM" and click on it
Go to Users
Click on "Users" in the left sidebar
Create User
Click "Create user" button
User Details
• User name: s3cretbox-user (or any name you prefer)
• Access type: Programmatic access only
• Don't provide AWS Management Console access
Skip Permissions for Now
Click "Next" without attaching any policies (we'll do this in the next step)
Create User
Review and click "Create user"
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!
Go to Your User
In IAM Users, click on your s3cretbox-user
Attach Policies
Click on "Permissions" tab, then "Add permissions" → "Attach policies directly"
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/*"
}
]
}Review and Create
• Click "Next: Tags" (skip tags)
• Click "Next: Review"
• Name: S3cretBoxAccess
• Description: Policy for S3cretBox bucket access
• Click "Create policy"
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"
Your AWS S3 bucket is now ready to use with S3cretBox. Use your Access Key ID and Secret Access Key in the app.