Centralizing Multi-Account Logs to Amazon OpenSearch Service Using Kinesis Firehose
A DevOps engineer is tasked with centralizing logs from multiple AWS accounts into a single Amazon OpenSearch Service domain. The engineer sets up Amazon Kinesis Data Firehose to deliver logs from each account to the OpenSearch domain. However, some accounts show failed deliveries in the Firehose console. Which configuration is MOST likely causing the failures?
Quick Answer
The answer is that the IAM role assumed by Kinesis Data Firehose in each account lacks the necessary permissions to write to the cross-account Amazon OpenSearch Service domain. This is the most likely cause of failed deliveries because Firehose operates under an IAM role in its own account, and to deliver logs to a destination in a different account, that role must explicitly include a trust policy and an IAM policy granting `es:ESHttpPut` and `es:ESHttpPost` actions on the target OpenSearch domain’s ARN. On the AWS Certified DevOps Engineer Professional DOP-C02 exam, this scenario tests your understanding of cross-account resource-based policies and IAM delegation, a common trap where engineers focus on network or data stream configurations instead of the fundamental permission boundary. A frequent memory tip is to think of Firehose as a delivery driver: it needs a key (the IAM role) that works at the destination building (the OpenSearch domain), not just a key for its own garage.
⚠ Common exam trap
It's easy for candidates to assume the failure is due to missing CloudWatch subscription filters or S3 bucket permissions, but the real issue is the missing cross-account IAM trust between the Firehose role and the OpenSearch domain's access policy.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
The IAM role assumed by Firehose in each account does not have permissions to write to the cross-account OpenSearch domain
The most likely cause of failed deliveries is that the IAM role assumed by Kinesis Data Firehose in each source account lacks the necessary permissions to write to the cross-account Amazon OpenSearch Service domain. Firehose uses a service-linked or custom IAM role to perform actions such as `es:ESHttpPut` and `es:ESHttpPost` against the OpenSearch domain endpoint. Without explicit cross-account trust and resource-based policy allowing the Firehose role's ARN, the delivery will fail with an authorization error.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
The IAM role assumed by Firehose in each account does not have permissions to write to the cross-account OpenSearch domain
Why this is correct
Firehose needs an IAM role with sts:AssumeRole and es:HttpPut permissions for the destination OpenSearch domain.
- ✗
The source accounts do not have a CloudWatch Logs subscription filter to send logs to Firehose
Why it's wrong here
Logs can be sent to Firehose directly, not necessarily via CloudWatch subscription.
- ✗
The Kinesis Data Streams used as the Firehose source is not encrypted
Why it's wrong here
Encryption is not required for Firehose delivery.
- ✗
The OpenSearch domain's access policy does not allow access from the S3 bucket used by Firehose
Why it's wrong here
Firehose delivers directly to OpenSearch, not via S3.
Go deeper
Related to this question
About these practice questions
One of 251 original DOP-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on DOP-C02
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 DevOps engineer is tasked with setting up a centralized logging solution for a multi-account AWS environment. Which service should be used to aggregate logs from multiple accounts?
easy- A.Amazon S3 with cross-region replication
- B.AWS CloudTrail with organization trails
- ✓ C.Amazon CloudWatch Logs with cross-account subscription
- D.AWS Config with aggregated compliance rules
Why C: Amazon CloudWatch Logs can aggregate logs across accounts using cross-account subscriptions with a central destination (e.g., Kinesis or Lambda). Option C is correct. Option A is incorrect because S3 is a storage service, not for real-time aggregation. Option B is incorrect as CloudTrail is for API activity, not application logs. Option D is incorrect because AWS Config is for configuration compliance.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DOP-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 DOP-C02 exam.