📖 Scenario: You are a cloud administrator for a company that wants to track all API calls made in their AWS account. This helps them audit who did what and when, improving security and compliance.
🎯 Goal: Create an AWS CloudTrail trail that records all API activity in the account and stores the logs in an S3 bucket for auditing purposes.
📋 What You'll Learn
Create an S3 bucket named exactly audit-logs-bucket-12345 to store CloudTrail logs.
Create a CloudTrail trail named exactly APIAuditTrail that logs all management events.
Enable logging for the trail and configure it to deliver logs to the S3 bucket.
Ensure the trail applies to all regions.
💡 Why This Matters
🌍 Real World
CloudTrail is used by companies to track and audit all API calls in their AWS accounts, helping detect unauthorized access and meet compliance requirements.
💼 Career
Cloud administrators and security engineers use CloudTrail to monitor AWS activity and investigate security incidents.
Progress0 / 4 steps
1
Create the S3 bucket for CloudTrail logs
Create an S3 bucket named audit-logs-bucket-12345 to store CloudTrail logs.
AWS
Hint
Use the aws_s3_bucket resource with the exact bucket name and set the ACL to private.
2
Create the CloudTrail trail resource
Create a CloudTrail trail resource named APIAuditTrail with is_multi_region_trail set to true and include_global_service_events set to true.
AWS
Hint
Use the aws_cloudtrail resource with the exact name and link the S3 bucket from step 1.
3
Enable logging for the CloudTrail trail
Add the enable_logging argument to the APIAuditTrail resource to start logging.
AWS
Hint
Set enable_logging to true inside the CloudTrail resource.
4
Add event selector to log management events
Add an event_selector block inside the APIAuditTrail resource to log all management events with read_write_type set to All.
AWS
Hint
Use the event_selector block with read_write_type = "All" and include_management_events = true.
Practice
(1/5)
1. What is the primary purpose of AWS CloudTrail?
easy
A. To manage user permissions and roles
B. To store website files and images
C. To record API calls for auditing and security
D. To monitor server CPU usage
Solution
Step 1: Understand CloudTrail's role
CloudTrail is designed to record all API calls made in an AWS account for auditing and security purposes.
Step 2: Compare other options
The other options describe other AWS services or functions unrelated to CloudTrail's main purpose.
Final Answer:
To record API calls for auditing and security -> Option C
Quick Check:
CloudTrail = API call recording [OK]
Hint: CloudTrail tracks API calls, not files or CPU [OK]
Common Mistakes:
Confusing CloudTrail with S3 storage
Thinking CloudTrail manages permissions
Assuming CloudTrail monitors server health
2. Which AWS service is used to store CloudTrail logs?
easy
A. Amazon S3
B. Amazon EC2
C. Amazon RDS
D. AWS Lambda
Solution
Step 1: Identify CloudTrail log storage
CloudTrail stores its logs in an Amazon S3 bucket that you specify during setup.
Step 2: Eliminate other services
Amazon EC2 is for virtual servers, RDS is for databases, and Lambda runs code; none store CloudTrail logs.
Final Answer:
Amazon S3 -> Option A
Quick Check:
CloudTrail logs go to S3 buckets [OK]
Hint: CloudTrail logs always go to S3 buckets [OK]
Common Mistakes:
Choosing EC2 as storage
Confusing Lambda with log storage
Selecting RDS for logs
3. Given this CloudTrail event selector configuration:
{"ReadWriteType": "WriteOnly"}
Which API calls will CloudTrail log?
medium
A. Only read API calls
B. Only write API calls
C. Both read and write API calls
D. No API calls
Solution
Step 1: Understand ReadWriteType setting
The "WriteOnly" setting means CloudTrail logs only API calls that change resources (write operations).
Step 2: Interpret options
This logs only write API calls. Read-only and both read/write options include read calls, which are excluded. 'No API calls' means no logging, which is incorrect.
Final Answer:
Only write API calls -> Option B
Quick Check:
WriteOnly = write calls logged [OK]
Hint: WriteOnly logs only changes, not reads [OK]
Common Mistakes:
Confusing WriteOnly with ReadOnly
Assuming both read and write are logged
Thinking no calls are logged
4. You configured CloudTrail but notice no logs are delivered to your S3 bucket. What is a likely cause?
medium
A. CloudTrail only logs read API calls by default
B. CloudTrail does not support logging API calls
C. CloudTrail logs are stored in EC2 instances by default
D. The S3 bucket policy blocks CloudTrail from writing logs
Solution
Step 1: Check S3 bucket permissions
If the bucket policy blocks CloudTrail, logs cannot be delivered, causing no logs to appear.
Step 2: Eliminate incorrect causes
CloudTrail does support logging API calls, logs are not stored on EC2 instances by default, and it logs both read and write API calls by default (not only read).
Final Answer:
The S3 bucket policy blocks CloudTrail from writing logs -> Option D
Quick Check:
Bucket policy must allow CloudTrail writes [OK]
Hint: Check S3 bucket policy if logs don't appear [OK]
Common Mistakes:
Assuming CloudTrail logs to EC2
Thinking CloudTrail doesn't log API calls
Believing default logs are read-only
5. You want to audit only management events for your AWS account using CloudTrail. Which configuration should you use?
hard
A. Enable CloudTrail with event selectors set to log only management events
B. Enable CloudTrail with logging only data events on S3 buckets
C. Disable CloudTrail and use CloudWatch logs instead
D. Enable CloudTrail with event selectors set to log only read-only events
Solution
Step 1: Understand management events
Management events track control plane operations like creating or deleting resources.
Step 2: Select correct event selector
Setting event selectors to log only management events ensures auditing of these API calls.
Step 3: Eliminate other options
Enable CloudTrail with logging only data events on S3 buckets logs data events, not management events. Disable CloudTrail and use CloudWatch logs instead disables CloudTrail, losing audit logs. Enable CloudTrail with event selectors set to log only read-only events logs only read-only events, missing write management events.
Final Answer:
Enable CloudTrail with event selectors set to log only management events -> Option A
Quick Check:
Management events = control plane API logs [OK]
Hint: Use event selectors to log management events only [OK]
Common Mistakes:
Confusing data events with management events
Disabling CloudTrail thinking CloudWatch suffices
Logging only read-only events misses writes
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.