The bucket was full of patient records, and someone almost deleted them by mistake.
That’s when you realize HIPAA compliance isn’t just about encryption—it’s about control. If you use AWS S3 for healthcare data, you need strict, enforceable, read-only roles that stop accidents before they happen. One wrong permission and protected health information can be altered, destroyed, or exposed, putting everything at risk.
Why HIPAA and AWS S3 Permissions Matter
HIPAA requires that you limit access to the minimum necessary privileges. AWS S3 can store and secure PHI at scale, but without precise roles, compliance breaks down. Read-only IAM roles are the simplest way to ensure data integrity and prevent write or delete actions that should never occur. For audit trails, breach prevention, and operational safety, they are essential.
What a HIPAA-Compliant S3 Read-Only Role Looks Like
A well-constructed read-only role for HIPAA workloads follows least privilege principles. The policy should:
- Use
s3:GetObjectands3:ListBucketpermissions only. - Block all
s3:PutObject,s3:DeleteObject, ands3:PutBucketPolicyactions. - Be scoped to specific bucket ARNs, not wildcards.
- Apply condition keys for source IP ranges or VPC endpoints.
- Require encryption in transit and at rest using AWS KMS keys.
Common Mistakes in S3 Role Configuration
Teams often: