Design Secure Architectures
Learning goals
- Choose among IAM users, groups, roles and policies, and use STS for role switching and cross-account access
- Design multi-account governance with Organizations, SCPs, Control Tower and IAM Identity Center
- Design traffic paths with public/private subnets, security groups, network ACLs, NAT gateways and VPC endpoints
- Meet data protection requirements with KMS, ACM, Secrets Manager, S3 encryption and access control, backup and replication
Key points
- Use IAM Identity Center (or federation with your corporate identity provider) for people, and temporary credentials from IAM roles for applications and services. Keep long-term access keys to a minimum, protect the root user with MFA and do not use it for daily tasks.
- In IAM policy evaluation an explicit deny always wins, and anything not allowed anywhere is implicitly denied. SCPs and permissions boundaries set the “maximum permissions”; they do not grant permissions by themselves.
- To access resources in another account, either assume (AssumeRole) a role in the target account, or allow the other party in a resource-based policy such as an S3 bucket policy.
- Put web servers in public subnets (or make only the ALB public) and the application and database in private subnets. Use a NAT gateway for outbound internet access from private subnets, and a gateway VPC endpoint to reach S3 or DynamoDB without going over the internet.
- Security groups are stateful and have allow rules only; network ACLs are stateless, support allow and deny rules, and are used to deny specific IPs at the subnet level.
- Use AWS WAF for SQL injection and cross-site scripting, and AWS Shield for DDoS (Standard is automatic and free; Advanced is paid, enhanced protection). Use GuardDuty for threat detection, Macie to discover sensitive data in S3, and Inspector for vulnerability scanning.
- For encryption at rest use KMS (key policies control who can use a key; automatic rotation can be enabled); for encryption in transit use TLS with ACM certificates. Rotate database passwords automatically with Secrets Manager.
- S3 data protection: Block Public Access, bucket policies, versioning, Object Lock (WORM, retention periods) and replication (copies to another Region or account). Centralize backups with AWS Backup.
Workplace uses
- AccountingAn S3 bucket storing invoice PDFs blocks public access and is encrypted with a KMS key. Object Lock prevents deletion or overwriting during the legal retention period.
- General AffairsGroup each subsidiary's AWS account under Organizations and use an SCP to block Regions other than Tokyo and Osaka. Employees sign in through IAM Identity Center with their corporate identity.
- SalesStore the sales support system's DB password in Secrets Manager with automatic rotation. The app retrieves it with an IAM role, so no password is written in code.
Exam objectives (from the exam guide)
- 1.1 Design secure access to AWS resources.
- 1.2 Design secure workloads and applications.
- 1.3 Determine appropriate data security controls.