← All writing
· ~9 min read · Cloud, AWS, Security

Hardening an AWS Organization in 30 days: a practical checklist

If you've inherited a single-account AWS environment with IAM users, shared root credentials and no guardrails, here's the playbook I keep reaching for to turn it into something an auditor — and a future you — can live with.

This post is the boring, deliberate version of what I usually do in the first month on an AWS engagement when the answer to "how is access managed?" involves the words shared spreadsheet. Nothing here is novel — but the order matters, and so does ruthlessly skipping nice-to-haves until the basics are in place.

Week 1 — Stop the bleeding

Before touching architecture, kill the obvious risks. Most of these are one-evening fixes.

At the end of the week you should have: a tamper-evident audit log, a baseline of detection, and a list of every human and machine identity. That's the floor.

Week 2 — Identity

This is where you trade convenience for a system you can actually reason about. IAM Users for humans is the original sin of AWS — fix it once.

Quick SCP — block IAM users in member accounts

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "DenyIamUsers",
    "Effect": "Deny",
    "Action": ["iam:CreateUser", "iam:CreateAccessKey"],
    "Resource": "*"
  }]
}

Attach to every OU except the management account. Future-you, scanning for fresh IAM users two years from now, will thank present-you.

Week 3 — Network and data

The "secure defaults" most teams skip because nothing is currently broken.

Week 4 — Guardrails and handover

You now have audit, identity and a baseline. Make it sticky.

What I'd cut

If you only have two weeks, drop weeks 3 and 4. Identity + audit logs is 80% of the value. Network and OU polish can wait — what cannot wait is "who is currently logged into prod, and how would we know".

The point isn't to be impressive. It's to make the next year less surprising than the last.

If this rings true for your environment — or you'd rather not do it alone — say hello.