The bucket looked harmless until you realized it held Protected Health Information. Then every permission mattered.
Creating AWS S3 read-only roles for PHI is not optional—it is the minimum bar for security compliance. A single misconfigured policy can expose sensitive medical data and trigger regulatory nightmares. AWS Identity and Access Management (IAM) lets you create roles that can only read from specific S3 buckets, blocking writes and deletes entirely. For environments with HIPAA-related workloads, these roles protect PHI at the object level.
Start by defining an IAM policy that grants only s3:GetObject and, if needed, s3:ListBucket on your PHI bucket resource. Scope the resource ARN to the exact bucket and paths storing PHI. Do not use wildcards beyond what is absolutely necessary, and never attach permissions directly to a user. Instead, create an IAM role, attach the policy, and require session-based or service-specific access. If you allow access through applications, enforce least privilege via AWS STS and temporary credentials.