AWS EventBridge connector — customer onboarding¶
Secruna offers two ways to connect your AWS account for AI inventory discovery:
-
Assume role — you create a read-only IAM role we assume on a schedule. Comprehensive, but requires granting cross-account IAM access.
-
EventBridge push (recommended) — you create a single EventBridge rule that forwards AI-relevant CloudTrail events (Lambda / Bedrock / SageMaker / Comprehend / Polly / Rekognition) to a Secruna-managed bus. No IAM grant in your account. Sub-minute discovery latency.
This page covers option 2.
What gets forwarded¶
Only these 7 CloudTrail event names — the events that signal a new AI-relevant resource:
CreateFunction20150331v2,UpdateFunctionConfiguration20150331v2(Lambda)CreateModel(Bedrock)CreateEndpoint(SageMaker)CreateDocumentClassifier(Comprehend)CreateVoice(Polly)CreateProject(Rekognition)
Everything else stays in your account.
Step 1 — Tell us your AWS account number¶
In the Secruna dashboard:
- Open Connections → Connect AWS.
- Choose the EventBridge push (new) tab.
- Enter your 12-digit AWS account number → Connect.
We provision a dedicated EventBridge bus
(secruna-customer-<your-tenant-id>) in our AWS account and email
you the next-step CloudFormation snippet within one business day.
Step 2 — Deploy the forwarding rule¶
The CloudFormation snippet we email creates:
- An EventBridge rule on your default event bus that matches the 7 CloudTrail events above.
- An IAM role with one inline policy granting
events:PutEventson our bus only. No other permissions.
# Excerpt from the snippet you receive:
SecrunaForwardingRule:
Type: AWS::Events::Rule
Properties:
EventPattern:
source:
- aws.lambda
- aws.bedrock
- aws.sagemaker
- aws.comprehend
- aws.polly
- aws.rekognition
detail-type:
- "AWS API Call via CloudTrail"
detail:
eventName:
- CreateFunction20150331v2
- UpdateFunctionConfiguration20150331v2
- CreateModel
- CreateEndpoint
- CreateDocumentClassifier
- CreateVoice
- CreateProject
Targets:
- Arn: arn:aws:events:us-east-1:<secruna-account>:event-bus/secruna-customer-<tenant-id>
RoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/${SecrunaRoleName}"
Deploy with:
aws cloudformation deploy \
--template-file secruna-eventbridge.yaml \
--stack-name secruna-eventbridge-forwarder \
--capabilities CAPABILITY_IAM
Step 3 — Verify¶
Create a test Lambda in your account (e.g. via the AWS console). Within 60 seconds the Lambda should appear in Inventory → AI systems in the Secruna dashboard.
The Connections → AWS page also shows a real-time webhook health panel (last received, 24h count, the receiver URL).
Revoking¶
Delete the CloudFormation stack. Future CloudTrail events stop
flowing immediately. We mark every existing AI system from your
account as archived on the next inventory tick.
What we DO see vs DON'T see¶
We see ONLY:
- The 7 CloudTrail events listed above (ARNs, names, regions).
- Your AWS account ID (carried in
userIdentity.accountId). - The exact JSON bodies AWS already emits for those events.
We do NOT see:
- Anything that didn't trip one of the 7 event matchers.
- IAM grants, secrets, or any other CloudTrail event.
- Any data plane traffic (Lambda invocation payloads, Bedrock prompts, etc.).
Security¶
- Every forwarded event is signed with HMAC-SHA256 by a Lambda in our AWS account; cp-api rejects unsigned / mis-signed deliveries.
- The cross-account permission grant is the narrowest EventBridge
supports:
events:PutEventson a single bus ARN, principal pinned to our AWS account number. - We log every received delivery in the audit log. You can review your audit log via the dashboard.