Wednesday, May 6, 2026
Cohort 3 | Project CloudIgnite Topics: Identity Management, IAM, Malware & Intrusion Detection Duration: ~3 hours
Key Takeaways
- SSO: log in once, access multiple services; central server issues tokens per service
- Federated users: external identity provider grants temporary access; no permanent AWS account needed
- JWT tokens: encoded user info; always set expiry; refresh tokens extend sessions automatically
- IAM: free, global service; Users, Groups (cannot nest), Roles (temporary delegated access), Policies (JSON)
- Policy evaluation: Explicit Deny > Explicit Allow > Implicit DenY
- Never store credentials inside EC2 — use IAM Roles instead
- Lab 279: Explored IAM users, groups, permissions — tested granular access control
- Malware types: virus, worm, bot, trojan, rootkit, spyware, adware, ransomware
- IDS: signature-based vs anomaly-based; GuardDuty is AWS's managed AI-powered threat detection
Table of Contents
- Single Sign-On (SSO)
- Federated Users & Identity Federation
- JWT Tokens & Token Security
- Amazon Cognito
- AWS IAM – Identity and Access Management
- IAM Policies
- IAM Lab Summary (Lab 279)
- Malware & Threats
- Intrusion Detection Systems (IDS)
- Amazon GuardDuty
- Knowledge Check Answers
- CLF-C02 Exam Relevance
1. Single Sign-On (SSO)
What it is: Log in once, access multiple services without logging in again.
Real-world example: Google ecosystem — log into Gmail once, and you can access YouTube, Google Drive, Google Docs, Play Store, etc. without re-authenticating.
How it works:
- A central authentication server issues a master identity (stored in a cookie/session).
- When you visit another service, your identity is used to request a service-specific token.
- Each service gets its own token — tokens are NOT shared across services.
- AWS SSO works the same way: one login, multiple AWS services, each generating its own access token.
Key point: SSO uses a central server to issue tokens, not shared credentials.
2. Federated Users & Identity Federation
What it is: An external user (not a native user of a system) who is granted access by leveraging a trusted third-party identity provider.
How it works:
- AWS trusts an external identity provider (e.g., Google, or your own website).
- The external provider authenticates the user and issues a short-lived, temporary access token.
- That token is used to access specific AWS resources — no permanent AWS account needed.
Real-world example:
You have videos in an S3 bucket. You want only paying subscribers on your website to view them. Instead of creating IAM accounts for thousands of users, you establish trust between your website and AWS. Your website authenticates users and generates a temporary token so they can access S3 — without ever having an AWS account.
Federated identity vs. OAuth:
- OAuth typically creates an account on the target website (e.g., "Sign in with Google" to create a Shopee account) → user becomes a permanent user.
- Federated user → gets temporary access only; no account is created in the target system.
Federated users are a form of SSO — authentication is handled by a trusted central/external authority.
3. JWT Tokens & Token Security
JWT (JSON Web Token): The most widely used token format for authentication today.
What's inside a JWT:
- Encoded (and encrypted) user information: user ID, email, name, etc.
- Backend server decrypts and reads the token to identify the user.
- Tokens are unique per user — not random strings.
Token lifecycle:
- After login (authentication), a token is issued.
- The token has an expiry date (e.g., 24 hours, 7 days).
- Refresh tokens automatically issue a new token before expiry — so you stay logged in without re-authenticating.
- Tokens should never be permanent — if stolen, a permanent token gives indefinite access.
Security risk:
If someone extracts your JWT from browser cookies/session storage, they can use it to access your account via code (Python, bash, etc.) — no password needed.
Best practice: Always set token expiry. Use refresh tokens. Never make tokens permanent.
4. Amazon Cognito
What it is: AWS-managed service for user authentication and authorization, designed for web and mobile applications.
Use case: Add sign-up/sign-in (username + password or email + password) to your app without building auth from scratch.
5. AWS IAM – Identity and Access Management
What it is: A free, global AWS service to centrally manage users, groups, roles, and permissions across AWS.
Key Concepts
| Concept | Description |
|---|---|
| Principal | Any identity that can make requests — users, EC2 instances, Lambda functions |
| Root Account | Has full, unrestricted access. Use only for special tasks. Store securely. |
| IAM User | Individual identity with granular permissions. Use for day-to-day work. |
| IAM Group | Collection of IAM users. Apply policies to the group, not individual users. |
| IAM Role | Temporary, delegated permissions. Assumed by principals (users, EC2, etc.). |
| IAM Policy | JSON document defining what actions are allowed/denied on which resources. |
Root Account Best Practices
- Do not use root for everyday tasks.
- Use root only to create the first admin IAM user.
- Use the admin IAM user to create all other users.
- Enable MFA on root account.
IAM is Global
- IAM is not region-specific — it applies across all AWS regions.
- Contrast with: EC2, VPC — these are regional services.
MFA (Multi-Factor Authentication)
- Adds an extra layer of security on top of username/password.
- Recommended especially for admin-level users.
- Authenticator apps are the most common MFA method.
IAM Groups
- Apply a policy once to a group → all users in the group inherit those permissions.
- One user can belong to multiple groups.
- Groups cannot be nested (a group cannot be a member of another group).
- Only users can be members of a group.
IAM Roles
- Provides temporary, delegated access — like borrowing a key card.
- No username/password stored — much safer.
- Common use case: An EC2 instance needs to access S3. Instead of storing credentials inside EC2 (bad practice), attach an IAM role that grants S3 access.
- Roles can also be used for federated users — external users assume a role to access AWS resources temporarily.
Analogy: A role is like wearing a hat. While wearing the system admin hat, you can access the server room. Take it off, and access is revoked.
6. IAM Policies
Format: Written in JSON.
Two types:
- Identity-based policy — attached to a user, group, or role. Defines what resources that identity can access.
- Resource-based policy — attached to a resource (e.g., S3 bucket). Defines who can access that resource.
Analogy: Identity policy = ID card that says you can enter. Resource policy = the security guard at the door who can still deny you.
Permission evaluation order (important!):
- Check for explicit DENY → if found, deny immediately.
- Check for explicit ALLOW → if found, allow.
- Otherwise → implicit DENY (deny by default).
Explicit deny always wins, even if an allow also exists.
Policy Structure (JSON)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["dynamodb:*", "s3:*"],
"Resource": ["arn:aws:dynamodb:...", "arn:aws:s3:::bucket-name"]
},
{
"Effect": "Deny",
"NotResource": ["arn:aws:dynamodb:...", "arn:aws:s3:::bucket-name"],
"Action": "*"
}
]
}
Action: "*"— all actionsResource: "*"— all resourcesNotResource— apply this rule to everything except the listed resources (i.e., exclude from deny)
Best practice: Apply policies to groups, not individual users.
7. IAM Lab Summary (Lab 279)
Objective: Explore IAM users, groups, and permissions hands-on.
What was done:
Task 1 – Password Policy
- Set minimum password length to 10 characters.
- Required: uppercase, lowercase, number, special character.
- Password expiry: 90 days.
Task 2 – Explore Users & Groups
- 3 users:
user-1,user-2,user-3 - 3 groups:
S3Support,EC2Support,EC2Admin - Reviewed JSON policies attached to each group:
S3Support→ can view/list S3 objects only (no upload)EC2Support→ can view/describe EC2 instances (no start/stop)EC2Admin→ can start and stop EC2 instances
Task 3 – Assign Users to Groups
user-1→S3Supportuser-2→EC2Supportuser-3→EC2Admin
Task 4 – Test Permissions
- Logged in as each user via IAM sign-in URL (incognito window).
user-1: Could view S3 bucket, could NOT upload (permission denied).user-2: Could view EC2, could NOT stop instance (not authorized).user-3: Could successfully stop EC2 instance.- Demonstrated adding
user-1toEC2Admingroup to show multi-group membership.
Key takeaway: IAM enables granular permission control — each user/group gets only the access they need (principle of least privilege).
8. Malware & Threats
Malware = Malicious software designed to harm systems — affects Confidentiality, Integrity, and Availability (CIA).
Types of Malware
| Type | Description |
|---|---|
| Virus | Corrupts/deletes data; replicates itself and spreads |
| Worm | Self-replicating; consumes system resources (acts like a parasite) |
| Bot | Takes control of your system to launch DDoS attacks |
| Backdoor / Trojan | Opens remote access to your computer without your knowledge |
| Rootkit | Disguises itself as a normal file (e.g., looks like an MP3 or .txt) |
| Spyware | Tracks keystrokes, websites visited, user behaviour |
| Adware | Displays unwanted/intrusive advertisements |
| Ransomware | Encrypts your files and demands payment for the key |
Common Infection Methods
- Untrusted websites (drive-by downloads, deceptive buttons)
- Phishing emails with malicious links
- Infected removable devices (USB drives)
- Cracked/pirated software
Antivirus Software
- Scans for known patterns/signatures of malware.
- Not 100% effective against brand-new threats.
- Best practice: Regularly update virus definition files to detect new malware patterns.
9. Intrusion Detection Systems (IDS)
Two detection methods:
| Method | How it works |
|---|---|
| Signature-based | Matches traffic/behaviour against a database of known attack patterns |
| Anomaly-based | Detects unusual behaviour that deviates from a baseline (e.g., sudden spike in network traffic) |
Two deployment types:
| Type | What it monitors |
|---|---|
| Network-based IDS (NIDS) | Monitors network traffic for threats |
| Host-based IDS (HIDS) | Monitors system logs, file access, and actions on a specific host |
10. Amazon GuardDuty
What it is: AWS's AI-powered threat detection service — an anomaly-based IDS for your AWS account.
What it monitors:
- VPC Flow Logs
- DNS logs
- CloudTrail event logs
How it works:
- Continuously analyzes logs for unusual/suspicious activity.
- Raises findings with details: finding type, resource ID, last seen timestamp, count.
- You review findings and take action to remediate threats.
GuardDuty = managed, intelligent IDS for AWS. No infrastructure to manage.
11. Knowledge Check Answers
Identity Management KC
| Question | Answer |
|---|---|
| Goal of identity management | Administer users and their access permissions |
| Steps during login | Authentication and Authorization |
| What defines actions a user may/may not perform | Policy |
| Best practice for identity management | Implement password policies |
| Form of SSO using one account for multiple services | Federated identities |
| AWS policy format | JSON |
| Authentication factor for "something you have" | Smart card / USB key |
| Dictionary attack | Uses a predefined list of words/passwords to attempt login |
Detection KC
| Question | Answer |
|---|---|
| Malware infection methods | Untrusted websites, removable devices |
| Countermeasure against malware | Scan system regularly |
| Best practice for antivirus | Consistently update virus definition files |
| Where to install IDS | Network (router/firewall) and on a server (host) |
| Data source GuardDuty uses | VPC Flow Logs |
| Two types of IDS | Network-based and Host-based |
| Two detection methods | Anomaly-based and Signature-based |
| AWS service that detects threats | Amazon GuardDuty |
12. CLF-C02 Exam Relevance
The following topics from this lecture are directly relevant to the AWS Certified Cloud Practitioner (CLF-C02) exam:
✅ Domain 1 – Cloud Concepts
- (Minimal direct coverage in this lecture)
✅ Domain 2 – Security and Compliance (HIGH relevance — this is ~25% of the exam)
| Topic | Exam Relevance |
|---|---|
| IAM Users, Groups, Roles, Policies | Core exam topic — know the difference between each |
| Root account best practices | Commonly tested — MFA on root, don't use for daily tasks |
| Principle of least privilege | Fundamental security concept tested in CLF-C02 |
| IAM Policy types (identity vs. resource-based) | Know the difference |
| Explicit Deny > Explicit Allow > Implicit Deny | Policy evaluation logic is testable |
| MFA | Know what it is and when to use it (especially for root/admin) |
| IAM is a global service | Frequently tested — IAM has no region |
| IAM is free | Worth knowing |
| Amazon Cognito | Know it as a user authentication service for apps |
| Federated identities / SSO | Understand the concept; AWS IAM Identity Center (SSO) is a CLF-C02 topic |
| Amazon GuardDuty | Know it as a threat detection/IDS service — commonly appears in exam |
| Shared Responsibility Model | Implied throughout — AWS secures infrastructure, you secure IAM config |
✅ Domain 3 – Cloud Technology & Services
| Topic | Exam Relevance |
|---|---|
| IAM Roles for EC2 | Know that roles are the correct way to grant AWS service-to-service access (not storing credentials) |
| Amazon GuardDuty | Classified under Security services in the exam |
📝 Exam Tips from this Lecture
- Never store credentials (access keys) inside EC2 instances — use IAM Roles instead. This is a classic exam scenario.
- Groups cannot contain other groups — only users. This distinction is tested.
- IAM Role vs. IAM User: Roles are temporary and assumed; users are permanent identities.
- GuardDuty uses VPC Flow Logs, DNS logs, and CloudTrail — not antivirus scan results.
- Know the AAA framework: Authentication, Authorization, Accounting.
Notes compiled from May 6, 2026 lecture transcript. Next lecture: AWS CloudTrail, AWS Config, Response, and a Firewall/Malware lab.