| name | auditing-aws-s3-bucket-permissions |
| description | Systematically audit AWS S3 bucket permissions to identify publicly accessible buckets, overly permissive ACLs, misconfigured bucket policies, and missing encryption settings using AWS CLI, S3audit, and Prowler to enforce least-privilege data access controls. . Use when working with auditing aws s3 bucket permissions. |
| domain | cybersecurity |
| tags | ["cloud-security","aws","s3","bucket-permissions","data-protection","access-control"] |
| subdomain | cloud-security |
| version | 1.0 |
| author | oyi77 |
| license | Apache-2.0 |
| nist_csf | ["PR.IR-01","ID.AM-08","GV.SC-06","DE.CM-01"] |
Auditing Aws S3 Bucket Permissions
Overview
Cybersecurity skill for auditing aws s3 bucket permissions. Follows industry best practices and security standards.
When to Use
Trigger phrases:
-
"auditing aws s3 bucket permissions"
-
"Systematically audit AWS S3 bucket permissions to identify publicly accessible b"
-
When conducting a security assessment of AWS environments to identify publicly exposed data
-
When onboarding a new AWS account and establishing a security baseline for storage resources
-
When responding to an alert about potential S3 data exposure from AWS Trusted Advisor or Security Hub
-
When compliance frameworks (SOC 2, PCI DSS, HIPAA) require periodic review of data access controls
-
When a breach or credential compromise necessitates immediate review of all accessible S3 resources
Do not use for auditing non-AWS object storage (use provider-specific tools), for real-time monitoring (use S3 Event Notifications with Lambda), or for auditing S3 access patterns (use S3 Access Analyzer or CloudTrail S3 data events).
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- AWS CLI v2 configured with credentials that have
s3:GetBucketPolicy, s3:GetBucketAcl, s3:GetBucketPublicAccessBlock, s3:GetEncryptionConfiguration, and s3:ListAllMyBuckets permissions
- Prowler installed (
pip install prowler) for automated CIS benchmark checks
- S3audit or similar enumeration tool for quick public bucket detection
- Access to AWS Organizations if auditing across multiple accounts
- Python 3.8+ with boto3 for custom audit scripts
Workflow
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
: ,
}
() -> :
{k: re.findall(v, text) k, v IOC_PATTERNS.items()}