The correct answer is logs:PutLogEvents and logs:CreateLogStream. A Lambda function requires both of these CloudWatch Logs permissions to write logs successfully: CreateLogStream must be called first to establish a new log stream when none exists for the execution environment, and PutLogEvents is then needed to actually send the log data to that stream. Without either permission, the function will throw an AccessDenied error, even if the log group already exists. On the AWS Certified Developer Associate DVA-C02 exam, this concept frequently appears in troubleshooting scenarios where a policy grants logs:CreateLogGroup but omits the stream-level actions—a common trap is assuming only PutLogEvents is needed. Remember the order of operations: you cannot write to a stream that hasn’t been created. A useful mnemonic is “Create first, Put second” to recall the required pair.
DVA-C02 Security Practice Question
This DVA-C02 practice question tests your understanding of security. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A developer is troubleshooting an AccessDenied error when a Lambda function tries to write to CloudWatch Logs. The function's IAM role includes the following policy. Which TWO missing permissions are causing the error? (Choose TWO.)
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
logs:CreateLogStream
Option C is correct because a Lambda function must call logs:CreateLogStream before it can write log events to a specific log stream. Without this permission, the function cannot create a new log stream when one does not already exist, resulting in an AccessDenied error. Option E is correct because logs:PutLogEvents is the permission required to actually write log events to an existing log stream; without it, the function cannot send log data to CloudWatch Logs.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✗
logs:DescribeLogStreams
Why it's wrong here
Not required for writing logs.
✗
logs:CreateLogGroup
Why it's wrong here
Already allowed in the policy.
✓
logs:CreateLogStream
Why this is correct
Required to create a log stream.
Related concept
Read the scenario before looking for a memorised answer.
✗
logs:GetLogEvents
Why it's wrong here
Not needed for writing.
✓
logs:PutLogEvents
Why this is correct
Required to write log events.
Related concept
Read the scenario before looking for a memorised answer.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates often assume only PutLogEvents is needed for writing logs, forgetting that the Lambda runtime must also create the log stream if it does not already exist, making CreateLogStream a required permission.
Detailed technical explanation
How to think about this question
Under the hood, when a Lambda function writes to CloudWatch Logs, the AWS SDK automatically calls CreateLogStream if the stream does not exist, followed by PutLogEvents to send the log data. The IAM policy must grant both actions on the specific log group ARN (e.g., arn:aws:logs:region:account-id:log-group:/aws/lambda/*:*). A common real-world scenario is when a Lambda function is deployed to a new environment where the log group exists but no log stream has been created yet, causing a failure if CreateLogStream is missing.
KKey Concepts to Remember
Read the scenario before looking for a memorised answer.
Find the constraint that changes the correct option.
Eliminate answers that are true in general but not in this case.
TExam Day Tips
→Watch for words such as best, first, most likely and least administrative effort.
→Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A company's IT admin needs to give a contractor read-only access to production logs without sharing account credentials. Using role-based access control (RBAC) and temporary scoped permissions — not a permanent shared password — is the correct pattern. Questions like this test whether you can apply least-privilege access across cloud identity services.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Security — This question tests Security — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: logs:CreateLogStream — Option C is correct because a Lambda function must call logs:CreateLogStream before it can write log events to a specific log stream. Without this permission, the function cannot create a new log stream when one does not already exist, resulting in an AccessDenied error. Option E is correct because logs:PutLogEvents is the permission required to actually write log events to an existing log stream; without it, the function cannot send log data to CloudWatch Logs.
What should I do if I get this DVA-C02 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A developer needs to grant least-privilege access to a Lambda function to write logs to CloudWatch Logs. Which IAM policy effect should be used?
easy
A.Always allow
✓ B.Allow
C.Deny
D.Revoke
Why B: Option B is correct because the policy should explicitly allow the necessary actions. Option A is wrong because Deny is used to explicitly deny access. Option C is wrong because Allow is the correct effect. Option D is wrong because Revoke is not an IAM policy effect.
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
This DVA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DVA-C02 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.