Account A is the application account where I created Kinesis stream and I want to create Firehose in Account B to read from Account A Kinesis stream. Is this possible? I tried to follow the steps from (https://medium.com/upday-devs/configure-kcl-to-read-from-a-different-aws-account-16000b26e7ff) and created an external access role (say 'arn:aws:iam::111111111:role/External-Kinesis-Access') in Account A and just specify the ARN
KinesisStreamSourceConfiguration:
KinesisStreamARN:
Ref: KinesisSourceStreamARN
RoleARN: 'arn:aws:iam::111111111:role/External-Kinesis-Access'
But this results in an error: IAM role and Kinesis stream should belong to the same account.
I tried to using sts:AssumeRole, but this results in a different error: 'Cross-account pass role is not allowed.'
So it seems cross account streaming through Firehose is not supported. I also found this: https://forums.aws.amazon.com/thread.jspa?threadID=249458 which leads me to believe that it is not supported.
If that is the case, what is the workaround? Create a Lambda function in Account A to write to Firehose in Account B?