Embed encryption, least-privilege roles, and auditability into every stage.
Each stage should use its own IAM role (least privilege) and emit audit events.
Artifacts, S3 buckets, and SNS notifications can use customer-managed keys (CMKs) with key policies + IAM.
| Stage | Role intent | Example actions (scoped) |
|---|---|---|
| Source | Read repo only | codecommit:GitPull or GitHub OIDC subject |
| Build | Build project | logs:* to project log group; s3:GetObject on input prefix |
| Deploy | Target env | cloudformation:* or codedeploy:* on approved ARNs |
ConsoleLogin + pipeline StartPipelineExecution anomaliesMap pipeline controls to frameworks your assessors expect.