Skip to content

Invoke a lambda function (cross account) from event bridge

0

Is it possible to invoke a lambda function in account A directly from event bridge (custom event bus) in account B without integrating with an event bus in account A?

asked 4 years ago11K views
3 Answers
9
Accepted Answer

Hi there,

At this point sending events cross-account is only supported via Event Buses which means that it is not possible to directly set a target of Lambda-in-AccountA to an EventBridge Rule Rule-in-AccountB. The supported flow would be as below:

Event-Bus-AccountB => Rule-in-AccountB => Event-Bus-AccountA as one of the Target => Rule-in-AccountA to match the events coming from AccountB and with a Target of Lambda-in-AccountA.

To help you further understand, here are some useful resources Sending and Receiving events between AWS Accounts and Simplifying cross-account access with Amazon EventBridge Resource policies

Hope this helps, and please let me know if you have any further questions

AWS
SUPPORT ENGINEER
answered 4 years ago
EXPERT
reviewed 2 years ago
  • The flow Event-Bus-AccountB=>Rule-in-AccountB=>SQS-in-AccountB=>Lambda-in-AccountA looks to be supported now. As recently Lambda service announced the support of invocation from SQS Queue in a different AWS account. You can check the details from https://aws.amazon.com/about-aws/whats-new/2021/09/aws-lambda-lambda-function-amazon-sqs-queue/

  • In case it's not possible to use event bus in account A as a target. Any other options to invoke Lambda-in-AccountA when an event is published on Event-Bus-AccountB? Is Event-Bus-AccountB=>Rule-in-AccountB=>SQS-in-AccountB=>Lambda-in-AccountA a feasible alternative?

  • However, could you please describe a crucial aspect: the trust relationship and permission policies of the various components.

0

Update: Amazon EventBridge announced support for cross-account targets for Event Buses on 21 Jan 2025 [1], which allows you to send events directly to targets, such as Amazon SQS, AWS Lambda, and Amazon SNS, located in other accounts.

[1] https://aws.amazon.com/blogs/compute/introducing-cross-account-targets-for-amazon-eventbridge-event-buses/

AWS
answered 8 months ago
  • In the blogpost, a note says: "The following example describes setting up cross-account event delivery to an SQS queue. You can apply the same technique to other target types as well, such as Lambda functions or SNS topics.". Indeed, after correctly setting up a resource-based policy on the target Lambda function, allowing the EventBus role as Principal, I was able to make it work.

0

I don't think this is possible.

With EventBridge, it's possible to configure an event bus to receive events from different sources including sources from other AWS accounts. To invoke a lambda function - this would be done via Event Bus -> Rule -> Target (in this case, the target would be a lambda function). Currently, it seems that the Lambda function must be in the same account as the Rule.

If you're looking to do extra architecture, a couple solutions could be as follows:

answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.