How it works
The explanation, with examples you can run.
Where the line sits
| Service | AWS takes care of | You still own |
|---|---|---|
| EC2 | Hardware, hypervisor, physical network | Guest OS and patches, software, security groups, IAM roles, data, encryption choices |
| RDS | Database engine installation, patching (in your maintenance window), backups if enabled | Network exposure, database users, parameter choices, enabling encryption and Multi-AZ |
| Lambda | OS, runtime patching, scaling | Function code and its dependencies, the execution role, environment secrets, the data |
| S3, DynamoDB | Everything about storage and durability | Bucket and table policies, who may read and write, encryption keys you manage, retention |
The more managed the service, the less you have to patch, but one row never disappears: identity, network exposure and data. AWS cannot know whether a bucket is meant to be public or a role is meant to be powerful.
What usually goes wrong
- Long-lived access keys in source code, CI logs or laptops. Prefer roles with temporary credentials for workloads, and single sign-on for people.
- Public by mistake: a bucket policy or ACL that grants
"Principal": "*", a security group open to0.0.0.0/0on a database port, or a snapshot shared publicly. S3 Block Public Access is on by default for new buckets; turning it off should be rare and deliberate. - Over-broad permissions:
"Action": "*"on"Resource": "*"for an application that needs three actions on one table. - Unpatched instances that nobody owns, especially ones created by hand for a test and forgotten.
- No logging: without CloudTrail (API activity) and service logs, you cannot tell afterwards what happened.
Making it concrete
Write down, per service you use, which of the items above your team owns, and check them automatically. AWS Config rules, Security Hub and IAM Access Analyzer can flag public buckets, unused permissions and missing encryption. Treat the findings like failing tests, not like advice. The rest of this path keeps returning to this line: each building block has settings that only you can get right.
Check yourself
3 questions. Get them all right to finish this topic.
0 of 3 right so far. Get all three to finish this topic.