Aws S3 Management

by aj-geddes3f5182cfd739No license355 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 7 months ago

Manage S3 buckets with versioning, encryption, access control, lifecycle policies, and replication. Use for object storage, static sites, and data lakes.

Includes scriptsDevOps & Cloud
AI-generated overview

Manages AWS S3 buckets: creation, versioning, encryption, access control, lifecycle policies and replication.

What it does
This skill guides an agent through managing Amazon S3 object storage, covering bucket creation and configuration, versioning, server-side encryption, public-access blocking, bucket policies, lifecycle policies and cross-region replication. It provides AWS CLI command examples plus reference guides for CLI configuration, lifecycle rules, Terraform configuration and presigned URLs. It also ships a validation script and an API scaffold template, and lists best practices for secure bucket operation.
When to use it
Use it for object storage tasks such as static website hosting, backup and archival, media libraries and CDN origins, data lakes, log storage, application asset storage, disaster recovery, and data sharing. It fits when buckets must be configured with encryption, versioning, access controls or lifecycle rules.
Requirements
Requires AWS CLI access to an AWS account with permissions for S3 operations, and Terraform for the infrastructure-as-code reference. Network access to AWS is needed. It ships executable scripts (scripts/validate-api.sh) and a template (templates/api-scaffold.yaml).

AWS S3 Management

Table of Contents

Overview

Amazon S3 provides secure, durable, and highly scalable object storage. Manage buckets with encryption, versioning, access controls, lifecycle policies, and cross-region replication for reliable data storage and retrieval.

When to Use

  • Static website hosting
  • Data backup and archival
  • Media library and CDN origin
  • Data lake and analytics
  • Log storage and analysis
  • Application asset storage
  • Disaster recovery
  • Data sharing and collaboration

Quick Start

Minimal working example:

bash
# Create bucketaws s3api create-bucket \  --bucket my-app-bucket-$(date +%s) \  --region us-east-1
# Enable versioningaws s3api put-bucket-versioning \  --bucket my-app-bucket \  --versioning-configuration Status=Enabled
# Block public accessaws s3api put-public-access-block \  --bucket my-app-bucket \  --public-access-block-configuration \    BlockPublicAcls=true,IgnorePublicAcls=true,\    BlockPublicPolicy=true,RestrictPublicBuckets=true
# Enable encryptionaws s3api put-bucket-encryption \  --bucket my-app-bucket \  --server-side-encryption-configuration '{    "Rules": [{      "ApplyServerSideEncryptionByDefault": {        "SSEAlgorithm": "AES256"      }// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
S3 Bucket Creation and Configuration with AWS CLI [blocked]S3 Bucket Creation and Configuration with AWS CLI
S3 Lifecycle Policy Configuration [blocked]S3 Lifecycle Policy Configuration
Terraform S3 Configuration [blocked]Terraform S3 Configuration
S3 Access with Presigned URLs [blocked]S3 Access with Presigned URLs

Best Practices

✅ DO

  • Enable versioning for important data
  • Use server-side encryption
  • Block public access by default
  • Implement lifecycle policies
  • Enable logging and monitoring
  • Use bucket policies for access control
  • Enable MFA delete for critical buckets
  • Use IAM roles instead of access keys
  • Implement cross-region replication

❌ DON'T

  • Make buckets publicly accessible
  • Store sensitive credentials
  • Ignore CloudTrail logging
  • Use overly permissive policies
  • Forget to set lifecycle rules
  • Ignore encryption requirements

Source and attribution

Source:aj-geddes/useful-ai-promptsinskills/aws-s3-managementat commit3f5182c

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal