Home › Modules › Module 05

🔒 Module 05 · Global Infrastructure, IAM & Security

AWS Global Infrastructure, Service Categories, the Shared Responsibility Model, AWS IAM, Securing Accounts and Data, Compliance

6 hours11 practice questions 4 sections

🎯 By the end of this module you should be able to…

  • Describe Regions, Availability Zones, Local Zones and edge locations, and choose a Region for a workload.
  • Name the main AWS service categories and give an example service in each.
  • Explain the Shared Responsibility Model and place any given task on the right side of the line.
  • Define IAM users, groups, roles and policies, and explain when a role is the right answer.
  • Read a simple IAM JSON policy and predict what it allows.
  • Apply the account-security baseline: MFA, least privilege, no root for daily work, no long-lived keys on instances.
  • Explain encryption at rest and in transit, and what AWS Artifact is for.

AWS global infrastructure

  • 🌎Region A geographic area such as ap-south-1 (Mumbai) or us-east-1 (N. Virginia). Regions are isolated from one another; data does not leave a Region unless you move it. Most services are regional.
  • 🏢Availability Zone (AZ) One or more discrete data centres inside a Region, with independent power, cooling and networking, connected by high-bandwidth, low-latency links. Every Region has at least three.
  • 📍Local Zone / Wavelength An extension of a Region placed close to a large city or inside a mobile network, for workloads that need single-digit-millisecond latency.
  • Edge location / Point of Presence Hundreds of sites worldwide used by CloudFront and Route 53 to serve users from nearby. There are far more edge locations than Regions.

Choosing a Region — four factors, in this order

⚖️ Compliance

Does the law or your contract require the data to stay in a country? This decides it before anything else.

⏱️ Latency

Pick the Region closest to your users. Mumbai for Indian users, Frankfurt for German ones.

💵 Cost

Prices differ per Region, sometimes substantially, for the same instance type.

🧰 Service availability

New services appear in a few Regions first. Check before you design.

The design rule you will use forever

Always deploy across at least two Availability Zones. An AZ is the unit of failure in AWS. A single-AZ architecture is a single point of failure no matter how many instances you run in it. This is the practical meaning of "design for failure" in Module 8.

Global versus regional services

ScopeServicesWhy
GlobalIAM, Route 53, CloudFront, WAF (for CloudFront), OrganizationsThey are identity or edge services — a user or a DNS name is not tied to one Region.
RegionalEC2, VPC, RDS, DynamoDB, Lambda, SNS, CloudWatchThe resources physically live in a Region's data centres.
ZonalEC2 instances, EBS volumes, subnetsThese live inside one specific AZ.
S3 sits in between

An S3 bucket name is globally unique, but the bucket itself lives in one Region. That is why your website endpoint in the S3 lab contains ap-south-1.

The Shared Responsibility Model

The single most examinable diagram in AWS. AWS secures the cloud; you secure what you put in it.

CUSTOMER — SECURITY IN THE CLOUD • Customer data • Platform, applications, IAM • OS, network & firewall config • Client-side encryption • Server-side encryption • Network traffic protection • Patching your instances • Security group rules • Who can access what AWS — SECURITY OF THE CLOUD • Compute, storage, database • Networking hardware • Hypervisor • Regions, AZs, edge locations • Physical security • Power & cooling • Managed-service patching • Hardware decommissioning
Customer: security in the cloud. AWS: security of the cloud.
TaskWhose job?
Patching the hypervisorAWS
Patching the guest OS on your EC2 instanceYou
Patching the database engine on Amazon RDSAWS (you choose the maintenance window)
Configuring security group rulesYou
Physical access to the data centreAWS
Encrypting an S3 objectYou decide; AWS provides the mechanism
Deciding who in your company can delete a bucketYou
Destroying a failed disk securelyAWS
The shortcut that answers most exam questions

The more managed the service, the more AWS does. On EC2 you own the operating system. On RDS AWS owns the engine and you own the data and access. On Lambda or S3 you own essentially only your data, your code and your permissions.

AWS Identity and Access Management

IAM answers one question for every single API call in your account: is this principal allowed to perform this action on this resource? The default answer is no.

👤 User

A person or an application with long-term credentials — a password for the console, or an access key for the CLI. Should be rare.

👥 Group

A collection of users with the same policies attached. Groups cannot be nested, and a group is not a principal — you cannot give a group a role.

🎭 Role

A set of permissions that can be assumed temporarily. No password, no permanent keys. This is how an EC2 instance, a Lambda function or a user from another account gets permission.

📜 Policy

A JSON document listing Effect, Action, Resource and optional Condition. Attached to a user, group or role.

A typical IAM policy
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ReadOneBucket",
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:ListBucket"],
      "Resource": [
        "arn:aws:s3:::pushpjeetinitm",
        "arn:aws:s3:::pushpjeetinitm/*"
      ]
    }
  ]
}

Read it as: allow the actions GetObject and ListBucket on that bucket and everything inside it. The bucket ARN and the object ARN are different resources — listing needs the bucket, reading needs the objects. Forgetting one of the two is the most common policy bug.

How a decision is actually made

1. Is there an explicit DENY anywhere? → DENIED. Always wins. 2. Is there an explicit ALLOW? → ALLOWED 3. Otherwise → DENIED (implicit deny)
Never put access keys on an EC2 instance

Attach an IAM role to the instance instead. The instance receives temporary credentials that rotate automatically. Long-lived keys pasted into a config file, a script or a Git repository are one of the most common causes of real AWS account compromises.

Root user

The root user is the email address you signed up with. It can do anything, and no policy can restrict it (only an SCP can). Treat it as a break-glass credential:

  • Enable MFA on it immediately.
  • Delete any root access keys.
  • Create an IAM admin user or role and use that for everyday work.
  • Only a short list of tasks genuinely require root — closing the account, changing the support plan, changing the account name or email, and restoring an IAM policy that locked everyone out.

Securing accounts, securing data, compliance

Account security baseline

  • 🔑MFA everywhere Root first, then every human user. A password alone is not an account control.
  • 🎯Least privilege Grant the minimum, then widen only when something genuinely breaks. Start from a managed policy and narrow it, rather than starting from *.
  • 🔍CloudTrail on, everywhere It records every API call. Without it you cannot answer "who deleted that?" — and that question always gets asked eventually.
  • 🧱Separate accounts Production, development and sandbox in different accounts under one Organization is the cleanest blast-radius control AWS offers.
  • 🔄Rotate and remove credentials Use the IAM credential report to find keys nobody has used for 90 days, and delete them.

Securing data

WhereProtectionService / mechanism
At restEncrypt stored dataKMS keys used by S3, EBS, RDS, DynamoDB; CloudHSM for dedicated hardware
In transitEncrypt data on the wireTLS everywhere; AWS Certificate Manager issues and renews the certificates
SecretsStop storing passwords in codeAWS Secrets Manager (rotates), Systems Manager Parameter Store
DiscoveryFind sensitive data you did not know you hadAmazon Macie scans S3 for personal data
BackupsRecover from deletion and ransomwareAWS Backup, S3 versioning, cross-Region replication
S3 defaults are your friend now

New S3 buckets have Block Public Access enabled and are encrypted by default. When you turn that off for the static-website lab, understand that you are deliberately making the objects world readable — and that a production site would use CloudFront with Origin Access Control instead, so the bucket can stay private and the site can still use HTTPS.

Working to ensure compliance

📄 AWS Artifact

Self-service portal for AWS audit reports — SOC 1/2/3, ISO 27001, PCI DSS. This is what you give your auditor to cover the AWS half of the line.

⚙️ AWS Config

Records the configuration of every resource over time and evaluates it against rules, so you can prove a bucket was never public.

🧭 AWS Audit Manager

Continuously collects evidence and maps it to a framework such as ISO 27001 or GDPR.

Key takeaways

  • Region → Availability Zone → data centre. Edge locations are separate and far more numerous.
  • Choose a Region by compliance, then latency, then cost, then service availability.
  • Always design across at least two Availability Zones.
  • AWS secures the cloud; you secure what you put in it. The more managed the service, the more AWS does.
  • IAM: users and groups for people, roles for machines and temporary access, policies as JSON.
  • Explicit deny always wins; everything is denied unless explicitly allowed.
  • Never put long-lived access keys on an EC2 instance — attach a role.
  • Encrypt at rest with KMS and in transit with TLS; use Artifact for audit reports.

Quiz