Using AWS Security for Developers
Rahul Singh
Technical Product Manager



First, one piece of vocabulary

You push a change
Your pipeline runs

You push a change
Your pipeline runs
The deploy stops: AccessDenied
First instinct: "Let me check my own permissions."




Whoever set the work in motion.
Here: you.

Whoever set the work in motion.
Here: you.
The identity AWS evaluates when the request arrives.
Here: the pipeline's role.


Whoever set the work in motion.
Here: you.
The identity AWS evaluates when the request arrives.
Here: the pipeline's role.


Role A (The shape of AdministratorAccess)
Role B
Prefix: a folder-like path inside a bucket


Wide role
If compromised: reaches every bucket, prefix, and object in the account.
Narrow role
If compromised: reaches one prefix, in one bucket. Nothing more.


A role should do what its job requires, and very little beyond that.
AmazonS3ReadOnlyAccess: every bucket. Customer managed: yours, down to one prefixExample: a reports-bucket reader role Two allows. Nothing else granted.

Using AWS Security for Developers