Check ID:
Provider: AWS
Service:
Severity: HIGH
Categories:
Resource type:
eventbridge_bus_cross_account_accessProvider: AWS
Service:
eventbridgeSeverity: HIGH
Categories:
identity-access, trust-boundariesResource type:
AwsEventsEventbusWhat this check verifies
EventBridge event bus has a resource policy that grants cross-account event delivery to principals outside the account, including broad or public access. Focus is on buses whose policies permit external accounts to send events.Risk
Cross-account event injection can erode integrity and availability. Spoofed events may trigger rules and invoke downstream targets, causing unintended actions, data exposure via targets, lateral movement through over-privileged roles, and cost or service disruption from event floods.Recommendation
Apply least privilege on the event bus resource policy: allow only specific account IDs or org scope (e.g.,aws:PrincipalOrgID) and avoid wildcard Principal or *.
Constrain rules to trusted senders using the account field and vetted sources, and add monitoring/throttling for defense in depth.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws events remove-permission —event-bus-name <event_bus_name> —statement-id <statement_id>
References
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/aws/CloudWatchEvents/event-bus-cross-account-access.html
- https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_GettingStarted.html
- https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEvents-CrossAccountEventDelivery.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = eventbridge_bus_cross_account_access. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks