A developer is setting up an Amazon EventBridge rule to route custom application events to an Amazon Kinesis Data Firehose delivery stream. The developer creates an IAM role named `EventBridgeToFirehoseRole` to allow EventBridge to put records into the delivery stream. The IAM role has the following trust policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "firehose.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
The permissions policy attached to the role is:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"firehose:PutRecord",
"firehose:PutRecordBatch"
],
"Resource": "arn:aws:firehose:us-east-1:123456789012:deliverystream/my-stream"
}
]
}
However, when events are triggered, EventBridge fails to send the events to the delivery stream. Which of the following changes will resolve this issue?
- AUpdate the permissions policy to allow the sts:AssumeRole action on the EventBridge rule resource.
- BConfigure the application's SDK client to generate temporary credentials using STS and pass them directly within the EventBridge event payload.
- Update the IAM role trust policy to list events.amazonaws.com as the service principal instead of firehose.amazonaws.com.Cevap
- DCreate an identity-based policy for the EventBridge service principal that allows it to assume the role, and delete the trust policy.