Set Up IAM Roles

Least-priv.

Overview

IAM roles are the AWS primitive that lets workloads authenticate without static credentials. The discipline is least-privilege: roles grant only the API actions a workload actually needs, scoped to the resources it actually touches. Role count is irrelevant; what matters is that no role has *:* and that every permission has a documented reason.

The approach

Three habits keep IAM tractable: start with AWS-managed policies for speed, narrow to inline policies as actual usage patterns emerge, and manage everything through Terraform or CDK so changes are reviewed, not console-clicked.

Why this compounds

Each tightened role reduces blast radius. The cumulative effect across an estate is the difference between a contained breach and a full account compromise. The team's understanding of which AWS APIs each service actually needs deepens over time.