AWS Bedrock
Overview
This guide provides step-by-step instructions for setting up AKTO's AWS Bedrock monitoring solution in your AWS account. This solution automatically captures, processes, and sends AWS Bedrock agent conversations to your AKTO instance for security analysis.
System Architecture
What You'll Achieve
✅ Automated Bedrock Monitoring: Capture all AWS Bedrock agent conversations ✅ Real-time Processing: Process logs every 5 minutes automatically ✅ Security Analysis: Send conversation data to AKTO for guardrail detection ✅ Multi-Model Support: Works with Amazon Nova, Claude, and other Bedrock models ✅ Client-Side Deployment: Complete data isolation in your AWS account
Prerequisites
1. AWS Account Requirements
AWS account with Bedrock agents configured and model invocation logging enabled.
Please provide the AWS region on which deployment will be done to Akto team before deployment (Eg: us-east-1)
2. AKTO Instance Requirements - To be verified with Akto Team
AKTO Data ingestion service instance running and accessible
AKTO API key for authentication
Step-by-Step Setup
Prepare Your Information
Before running the deployment, gather this information:
S3 Bucket Name - LogsBucketName: A bucket name where Bedrock logs are stored ie. where you have enabled model invocation logging
Make sure that you have enabled 'Model invocation logging' and the S3 bucket configured for invocation logs need to be provided.
Go to Amazon Bedrock - Settings - Check 'Model invocation logging' and the S3 logging destination selected. If not enabled, there would be no discovery possible.
Example:
my-company-bedrock-logs-2026
Enable AgentCore CloudWatch tracing: Skip this step entirely if you don’t have AgentCore Harnesses/Runtimes yet, or don’t need their conversation data — the AgentCore pipeline just no-ops (finds 0 log groups) without it.
This is a one-time, account-level setting, not per-resource: your Harnesses/Runtimes already run inside AgentCore’s managed runtime, so once this is on they get OpenTelemetry instrumentation automatically — no per-agent config needed.
Go to CloudWatch → Settings (under Setup) → Account tab → X-Ray traces tab → Transaction Search section → View settings → Edit → Enable Transaction Search → Save.
LogsPrefix: (Optional) S3 prefix path for Bedrock logs. Default: AWSLogs/
Check 'Model invocation logging' and check the S3 location prefix configured for the bucket
Example: S3 location :
s3://akto-aws-bedrock-logs-02/bedrock-logs/In the above eg : LogsBucketName would be akto-aws-bedrock-logs-02 and LogsPrefix would be bedrock-logs/
This is optional field, if user has not configured any prefix then by default AWSLogs/ will be configured

S3 Bucket Name - MarkersBucketName: S3 bucket name to store AKTO marker files for maintaining checkpoint of processed logs. This can be the same bucket name or a different bucket name. It stores a manifest file with all discovered agents details and lastprocessed timestamp.
Example:
akto-marker-logs
AKTO Data Ingestion URL: Your AKTO endpoint
Format:
https://your-akto-instance.com/api/ingestDataContact AKTO support team to obtain your Data Ingestion URL
AKTO API Key: Authentication key for your AKTO instance
Navigate to: AKTO Argus → Connectors → Setup Guardrails
Copy the API key from there
LambdaCodeVersion: version
v4.5
RuntimeLogGroupPrefix: This can be left blank if you dont have Agentcore/runtimes yet. (Optional) CloudWatch log group prefix for per-runtime AgentCore observability logs. Default matches AWS''s own naming convention so if no changes done to default then can be left blank.
Open CloudFormation
Sign in to AWS Console
Search for "CloudFormation"
Click CloudFormation service
Create Stack
Click Create stack
Select Amazon S3 URL
Enter the CloudFormation template URL:

Click Next.
Enter Stack Details
Fill in the form with your information:
Stack name: Enter a name for your stack (must be lowercase, no spaces)
Example:
akto-bedrock-discovery-prod
Parameters:
S3BucketName: Enter the S3 bucket name you gathered in Step 1
Example:
my-company-bedrock-logs-2026
LogsPrefix: (Optional) S3 prefix path for Bedrock logs
Example:
bedrock-logs
MarkersBucketName: S3 bucket name to store AKTO marker manifest file
DataIngestionEndpoint:
<URL-obtained-from-akto-team>LambdaCodeVersion: v3.6
<Version-obtained-from-akto-team>AktoApiKey:
<Akto-API-Key>

Click Next.
Configure Stack Options
Leave defaults (no changes needed)
Scroll down to Acknowledgment
✅ Check: "I acknowledge that AWS CloudFormation might create IAM resources with custom names"
CloudFormation needs this acknowledgement to create the Lambda execution role.
Click Create stack
Wait for Completion
CloudFormation will create the following resources:
✅ Lambda Execution Role
✅ Lambda Function (akto-bedrock-log-processor-cf-)
✅ EventBridge Execution Role
✅ EventBridge Schedule Rule
Expected Status:
⏳ Typical time: 2-3 minutes
Verify Success
Stack Status should show: CREATE_COMPLETE (green)
Click Outputs tab
You should see:
LambdaFunctionName
LambdaFunctionArn
EventBridgeRuleName
✅ Deployment successful!
Check Lambda Function
Search for "Lambda" in AWS Console
Click Lambda
Look for function:
akto-bedrock-log-processor-cf-<account-id>Click on it
Should show: Last modified: just now
Check EventBridge Schedule
Search for "EventBridge" in AWS Console
Click EventBridge
Click Rules (left sidebar)
Look for:
akto-bedrock-schedule-cf-<account-id>Should show: State: Enabled ✅
Check Lambda Logs
From Lambda function page, click Monitor tab
Click View CloudWatch logs
Should see log stream with recent entries
✅ Everything working!
Important Notes
Processing Schedule: Logs are processed every 10 minutes via EventBridge
Data Format: Conversations are formatted in AKTO StandardMessage format with security tags
Security: All data remains in your AWS account; no external access required
Integrate Both Bedrock and AgentCore Gateway Interceptor (Unified Setup)
To integrate both AWS Bedrock discovery and AWS Bedrock AgentCore gateway interception in a single stack, use the unified template below instead of the template referenced in the steps above.
Unified CloudFormation Template:
This template adds one new parameter on top of the standard Bedrock discovery setup:
EnableGatewayInterception (
true/false)true— Attaches the Akto interceptor to all available AgentCore Gateways. All gateway requests are routed through the interceptor (proxy) to Akto, in addition to discovery through agent traffic.false— Only discovery through agent traffic is enabled; no gateway interceptor is attached.
Lambda-version to be specified in cloud formation template - v4.2
Deploy following the same Deploy via AWS Console steps in the Step-by-Step Setup section above, using this template URL and setting EnableGatewayInterception alongside the other parameters when filling in stack details.
What Happens Next
Once deployed, the system will:
Auto-Configure Bedrock: Enable model invocation logging to your S3 bucket
Process Conversations: Extract and format conversation data every 10 minutes
Send to AKTO: Forward processed data to your AKTO instance for analysis
Monitor Security: AKTO will analyze conversations for potential threats
Support
For issues or questions:
Check CloudWatch Logs: Monitor Lambda execution logs
Review S3 Configuration: Ensure bucket exists and is accessible
Verify AKTO Connectivity: Test endpoint and API key
Last updated