For hands-on security assessment methodology, see AWS.
Overview
AWS is a cloud platform offering compute, storage, networking, identity, and managed services via a global infrastructure of regions and availability zones. Resources are managed via the AWS Console, CLI, SDKs, or APIs. All access is governed by IAM.
Core Concepts
Regions & Availability Zones
Region — A geographic cluster of data centres (e.g. eu-west-2 = London). Resources are region-scoped unless global.
Availability Zone (AZ) — An isolated data centre within a region. Identified as eu-west-2a, eu-west-2b, etc.
The IAM model is the single most important concept for AWS security.
Principals — Entities that can authenticate and make requests:
Users — Long-lived human identities with static credentials (access keys)
Roles — Assumed by other principals (EC2 instances, Lambda functions, other accounts, humans via federation). No static credentials — uses temporary STS tokens.
Groups — Collections of users. Policies attached to groups apply to all members.
Service accounts — Represented as roles in AWS
Policies — JSON documents that define permissions. Attached to users, groups, or roles.
Identity-based policies — Attached to a principal. Define what that principal can do.
Resource-based policies — Attached to a resource (e.g. S3 bucket policy). Define who can access that resource.
Permission boundaries — Set a maximum permission ceiling for a principal (cannot grant more than the boundary allows).
SCPs (Service Control Policies) — Applied at the AWS Organisation level. Hard limits on what member accounts can do, regardless of IAM policy.
Policy evaluation logic (simplified):
Explicit Deny always wins
Check SCPs — if no allow, deny
Check resource-based policies
Check identity-based policies
Default: implicit deny
Roles & Trust Policies:
A role has two policy types: a trust policy (who can assume the role) and permission policies (what the role can do)
Role assumption produces temporary credentials via STS (AssumeRole, AssumeRoleWithWebIdentity, etc.)
Key Services
Compute
Service
Description
EC2
Virtual machines. Attached instance profiles grant roles to the instance.
Lambda
Serverless functions. Run with an attached execution role.