One-page cheat sheets for the AWS Certified Solutions Architect โ Associate (SAA-C03) exam. Pick a topic on the left.
| Type | What it is | Credentials |
|---|---|---|
| User | A person or app โ long-term identity | Password (console) and/or Access Keys (CLI/API) |
| Group | A bucket of Users, for bulk permission assignment | None โ can't log in as a Group, can't nest groups |
| Role | A temporary identity "assumed" by a User, AWS service, or federated identity | None stored โ temporary credentials issued via STS, auto-expire |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::my-bucket/*" } ] }
2012-10-17 (the current/only version โ don't overthink it). Statement โ an array of one or more permission blocks, each with an Effect (Allow/Deny), one or more Action(s) (the API action(s) being granted, e.g. s3:PutObject), and one or more Resource(s) (the ARN(s) it applies to, wildcards allowed).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:DeleteObject", "Resource": "arn:aws:s3:::my-bucket/*" } ] }
s3:DeleteObject on the bucket no matter what any other Allow statement says, on this policy or any other attached to the identity. This is the "Explicit Deny always wins" rule below in practice.
| Access via | Credential |
|---|---|
| Console | Username + Password (+ MFA recommended) |
| CLI / API (User) | Access Key ID + Secret Access Key (long-term โ avoid where possible) |
| CLI / API (Role) | Temporary credentials via STS (Security Token Service) โ short-lived, auto-expire |
s3:PutObject) rather than "console access" vs "CLI access" โ the permission is on the underlying API action, not the interface used to trigger it. It's also why CloudTrail can log every single one, regardless of which interface made the call.
| Short Name | Full Name | Example use case |
|---|---|---|
| AWS CDK | AWS Cloud Development Kit | Define your infrastructure in Python/TypeScript instead of hand-writing raw CloudFormation YAML |
| AWS CLI | AWS Command Line Interface | Script aws s3 cp in a deploy pipeline instead of clicking through the console |
| AWS DMS | AWS Database Migration Service | Migrate an on-prem Oracle database into RDS with minimal downtime |
| Amazon DocumentDB | Amazon DocumentDB (with MongoDB compatibility) | Run a MongoDB-style workload without managing MongoDB servers yourself |
| Amazon EBS | Amazon Elastic Block Store | Attach a persistent virtual hard drive to an EC2 instance |
| Amazon EC2 | Amazon Elastic Compute Cloud | Launch a virtual server to host an application |
| Amazon ECR | Amazon Elastic Container Registry | Store and version your Docker container images before deploying them |
| Amazon ECS | Amazon Elastic Container Service | Run and orchestrate Docker containers without managing Kubernetes yourself |
| Amazon EFS | Amazon Elastic File System | Share one common file system across many EC2 instances at once |
| Amazon EKS | Amazon Elastic Kubernetes Service | Run a managed Kubernetes cluster when you specifically need Kubernetes |
| IAM | AWS Identity and Access Management | Add a new user, create a Role, or attach a permissions policy |
| Amazon Keyspaces | Amazon Keyspaces (for Apache Cassandra) | Run a Cassandra-compatible workload without managing Cassandra nodes |
| AWS KMS | AWS Key Management Service | Create and manage the encryption key used to encrypt an S3 bucket or EBS volume |
| AWS Managed Microsoft AD | AWS Directory Service for Microsoft Active Directory | Stand up a real Active Directory domain for Windows workloads, without running your own domain controllers |
| AWS Private CA | AWS Private Certificate Authority | Issue private TLS certificates for internal services that don't need a public CA |
| Amazon RDS | Amazon Relational Database Service | Launch a managed MySQL/PostgreSQL database without patching or backing it up yourself |
| Amazon S3 | Amazon Simple Storage Service | Store and serve static files, backups, or website assets |
| AWS SAM | AWS Serverless Application Model | Define and deploy a serverless Lambda application from a simplified template |
| AWS SCT | AWS Schema Conversion Tool | Convert a database schema from one engine (e.g. Oracle) to another (e.g. PostgreSQL) before migrating with DMS |
| Amazon SES | Amazon Simple Email Service | Send transactional or marketing emails from an application |
| Amazon SNS | Amazon Simple Notification Service | Fan out one notification to many subscribers (email, SMS, Lambda, SQS) at once |
| Amazon SQS | Amazon Simple Queue Service | Decouple two application components with a durable message queue |
| AWS STS | AWS Security Token Service | Issue the temporary credentials handed out when a Role is assumed |
| Amazon VPC | Amazon Virtual Private Cloud | Create an isolated private network to launch your resources into |