A common point of confusion when getting started with AWS IAM, and when trying to implement "least privileges" on IAM is the message "is not authorized to perform: iam:PassRole on resource". Usually this refers to "User" or "CloudFormation" as
Amplify, Amplify, and Amplify
"AWS Amplify" is easy to say, but what does it mean? Is it Amplify.js? The AWS Amplify Console? The Amplify Framework? Wonder no more, and read on to uncover the truth of Amplify!
The CloudFormation Layer Cake
So I've had the idea of this post for a while. Like "3 years ago" a while: CFN Layer Cake FTW!I first came across the idea of the CloudFormation Layer Cake from this AWS Advent blog post from 2012,
CloudFormation Examples on GitHub
AWS documentation letting you down? Never fear, GitHub can help with that! Find CloudFormation examples quickly and easily.
Effective Actions for AWS IAM
TL;DR I made Effective IAM Actions, a small tool to expand wildcards "*"in IAM Policy Actions so that you can see explicitly what permissions are granted by a policy. It supports multiple statements in each policy, Allow and Deny
Managing Secure String Parameters in CloudFormation
This was a nifty little trick I just learnt from my colleague James the other day that is definitely worth sharing more widely. While CloudFormation does not support SecureStrings for AWS::SSM::Parameters resources, you can can fudge it with
Don't use Tags to Manage Permissions in AWS
The main problem is this: By using tags for authorisation, you have a multitude of completely new - per-service - actions that can be used to compromise your security posture.
Best Practices for AWS Step Functions
Recently I've been working with Step Functions in my day-to-day work, as well as in my personal projects, and I decided to write this post as a way of articulating the ins-and-outs of Step Functions I've learnt while using them.