Amazon Bedrock — Inference on your account
With this integration, SecureAI’s large language model (LLM) calls for the families you choose run on your own AWS account, through Amazon Bedrock, instead of on SecureAI-managed providers. Usage is billed by AWS to your account, so it draws down your AWS commitment (EDP) and credits, and it uses your Bedrock quotas. SecureAI stays in the path of every request: DLP, model policies, data residency, and signed receipts apply exactly as they do with any other provider. Traffic goes through SecureAI’s gateway, which also inspects and redacts the model’s responses (streaming included) before they reach the user.Not to be confused with the other AWS card. This page connects Bedrock as an inference provider (Admin → Integrations → AI providers). The AWS Bedrock card in the Cloud category inventories agents, models, identities, and costs in read-only mode and never sends a prompt; it is described in AWS — Discovery. Both use the same CloudFormation template and the same External ID, but each has its own role with different permissions.
How it works
- You deploy an IAM role in your AWS account that only SecureAI’s principal can assume, and only when it presents your organization’s External ID.
- For each call, SecureAI assumes that role and gets temporary credentials (they last one hour and renew automatically). No access key is stored.
- SecureAI signs the request with AWS Signature V4 and sends it, through its gateway, to Amazon Bedrock Runtime in the Region you chose: Chat Completions for OpenAI-compatible models, and Anthropic’s Messages API for Claude.
- The response comes back through the gateway, which applies DLP and issues the signed receipt.
What runs on Bedrock and what does not
Model families available on Bedrock:
Not offered through Bedrock: Llama, Amazon Nova, DeepSeek‑R1, Mistral 7B, and Mixtral. On Bedrock those models only answer the Converse API, not the OpenAI-compatible surface SecureAI uses, so they stay on SecureAI-managed providers. Gemini is not on Bedrock.
How many cloud providers you can use
With more than one provider enabled, each one serves different model families: a family can be routed to only one provider, and only one provider can use Remap everything. SecureAI refuses a configuration that overlaps another one and tells you which family collides.
Prerequisites
- An AWS account where the models you want to use are available to your account in the chosen Region.
- For Claude: Anthropic’s use-case form submitted once in the Bedrock console (Model access / Model catalog → any Claude model). Approval is usually immediate. Without it, the connection test tells you so.
- Some of the newest models (latest Claude, GPT‑5.x, Grok) may need AWS to enable them for your account. Until then, the test reports that the model is not available for your account.
- Permission in AWS to create a CloudFormation stack with IAM roles (or to create an IAM role by hand).
- Admin permission on the Integrations section of SecureAI.
Step 1. Copy SecureAI’s identity
- Go to Admin → Integrations → AI providers and open Amazon Bedrock — Inference on your account.
-
Under Connection, leave Cross-account IAM role (recommended) selected. The drawer shows:
- If you will also use AWS — Discovery, tick Also create the read-only discovery role: the same stack creates both roles.
Step 2. Create the role in your AWS account
- CloudFormation (recommended)
- Manual role (no CloudFormation)
- IAM user access key
Deploy the SecureAI stack once in the AWS account where inference will run, in one of two ways:The stack creates the
- Launch Stack in AWS (when your deployment offers it): opens the CloudFormation console with every parameter filled in. Tick the IAM acknowledgement and click Create stack.
- Download template and create the stack from the console (Create stack → Upload a template file) with the principal and External ID from step 1, or with the AWS CLI command shown in the drawer. Copy it from the drawer: it already includes your values. It looks like this:
SecureAI-BedrockInference role and, if you asked for it, the read-only SecureAI-Discovery role. It creates no access key.When the stack completes, copy the
BedrockInferenceRoleArn output (CloudFormation → Stacks → SecureAI-Integration → Outputs).Why the resource Region is
*. A cross-Region inference profile needs permission on the profile and on the model in every Region it may route to. You can narrow the model list in the policy if you want; the Region must stay broad for the profiles you use.Step 3. Connect the account in SecureAI
-
Under Connection, fill in:
- Click Save. SecureAI assumes the role, shows your AWS account ID, and reads the Region’s catalog under Models available to your account: the Region’s foundation models and the cross-Region inference profiles. Nothing is routed yet: the integration is saved turned off so you can test it first.
bedrock:ListFoundationModels / bedrock:ListInferenceProfiles) in that Region. Inference still works with SecureAI’s built-in model ids (the connection test proves them), but automatic mapping is limited. If you change the Region, save again to re-read the models.
Data residency: inference scope
The inference scope decides where AWS may process prompts:
SecureAI enforces your organization’s data-residency policy on the resulting geography. If you need residency, use Geography or In-Region only.
Your own Bedrock Guardrail (optional)
If your organization already uses Amazon Bedrock Guardrails, you can have SecureAI apply one of your guardrails to every call it makes on this connection. It is a second layer on top of SecureAI’s DLP: Bedrock evaluates the prompt and the reply with your own denied topics, content filters, word filters, sensitive-information filters and grounding checks. It applies to Claude and to the Chat Completions models alike (gpt-oss, DeepSeek, Mistral, Qwen, GPT‑5.x).- In the Bedrock console (Guardrails), create or choose the guardrail in the same Region you configured in SecureAI, and publish a version (Create version).
- In SecureAI’s Amazon Bedrock panel, under Your Bedrock Guardrail (optional), click List my guardrails and pick the guardrail and the version. If the role cannot list them, type the guardrail id (or its ARN) and the version number.
- Click Save, then Test connection: the test goes through the guardrail exactly like real traffic.
Permissions. The role needs
bedrock:ApplyGuardrail on your guardrails and, for the list, bedrock:ListGuardrails. SecureAI’s CloudFormation template includes both from this version on: if you deployed the stack earlier, update it with the new template (or add the two statements of the manual role’s policy). If the guardrail uses cross-Region inference, the template also covers its guardrail profiles.How it is applied. SecureAI sends the id and the version in the X-Amzn-Bedrock-GuardrailIdentifier and X-Amzn-Bedrock-GuardrailVersion headers, inside the Signature V4 signature of each request: nothing on the path can drop them without AWS refusing the call, and no user or integration can pick another guardrail. SecureAI does not turn on the guardrail trace, so the content that triggered it is not returned in the reply.AWS logs. If Bedrock model invocation logging is on, AWS stores the original content even when the guardrail masks it. Encrypt those logs with KMS and restrict access to them.Claude prompt caching
On Claude models, SecureAI automatically uses Bedrock prompt caching so your account pays less and answers faster when a conversation reuses long context. There is nothing to configure.- SecureAI marks up to two cache points per request: the system prompt and the last long block of the conversation (a pasted document, a search context, a long tool result).
- It marks them only when the content before them reaches the model’s token minimum (for example 1,024 on Claude Sonnet 4.6 and 4,096 on Claude Haiku 4.5). Short prompts are sent exactly as before.
- The cache lasts 5 minutes from its last use. Reading from cache costs about 10% of an input token; writing it costs 25% more than a regular token, and only on content that reaches the minimum. It pays off from two calls with the same context in that window, which is the usual case in a conversation.
- Each turn’s usage separates the tokens read from cache and the ones written, so you can see them in analytics and on your AWS bill.
Step 4. Choose what runs on Bedrock
Under What runs on Amazon Bedrock there are two modes:- Only these model families: the families you tick run on your Bedrock; every other model keeps running on SecureAI-managed providers (or another connected cloud).
- Remap everything to Amazon Bedrock: all LLM calls run on your Bedrock. Models with no Bedrock equivalent are served by a default model.
Default Bedrock models (pick them from your account’s model list):
Under Model → Bedrock id overrides you can send a catalog model to an exact Bedrock target: a model id, an inference profile id, or the ARN of an application inference profile. Overrides win over the automatic mapping and are used as-is, even outside the chosen scope; the residency policy is still enforced on the resulting geography.
There are also two options:
Step 5. Test, review, and turn it on
- Test connection sends a minimal request to each default model, through the same path real traffic uses (gateway, policies, and receipts included), and shows each result with its latency. If you have not chosen default models yet, it probes
gpt-oss-120b, DeepSeek V3.2, and Claude Haiku 4.5 under your inference scope. The test is billed to your AWS account (cents). - Routing preview shows, for every catalog model, whether Your Amazon Bedrock (and with which id), another connected cloud, or SecureAI will serve it, and which models will be hidden from users.
- When the test passes, turn on Route traffic to Amazon Bedrock and click Save. If you do not save, the switch does not stay on. If your plan allows no further cloud provider or the routing overlaps another one, SecureAI refuses it and says why.
- The card turns green: Routing to Amazon Bedrock. If it is saved but off, it shows Configured · not routing to Bedrock.
What is billed, and to whom
- LLM usage is billed by AWS to your account, with your EDP, discounts, and credits. Rate limits are your Bedrock quotas.
- SecureAI shows the cost of those turns as a list-price estimate for analytics only; AWS’s actual figure may be lower.
- Turns on Bedrock do not deduct points from users unless you turn on Apply user point quotas.
Security and compliance
- No stored secrets. With the role, SecureAI stores no AWS credential: it gets one-hour temporary credentials and renews them automatically. If you use an access key, the secret is stored encrypted and never returned to the browser.
- Scoped trust. The trust policy admits only SecureAI’s principal, and only with
sts:ExternalIdequal to your organization’s External ID. - Least privilege. The inference role can only invoke models (
bedrock:InvokeModel,bedrock:InvokeModelWithResponseStream), read the model catalog, and list and apply your account’s Bedrock Guardrails. It cannot read your data, your IAM, or your billing. - Compatible with your SCPs. SecureAI signs with Signature V4 and temporary credentials; it does not need Bedrock API keys.
- The path stays protected. Every call goes through SecureAI’s SMLTP gateway: DLP on the prompt and on the response (streaming included), a per-request authorization token, and a verifiable signed receipt.
- Fails closed. If the configuration cannot be read or the role cannot be assumed, the request is refused; it is not sent to another provider unless you allowed fallback.
- Audit. Saving, testing, or disconnecting the integration is recorded in the activity log, never with the secret.
Disconnect and revoke
Disconnect (drawer footer) deletes the configuration. From then on, all traffic Bedrock served returns to SecureAI-managed providers. You can also turn off only Route traffic to Amazon Bedrock to pause routing while keeping the connection. To revoke SecureAI’s access in AWS, delete the stack (or the role). If you used an access key, deactivate or delete it in IAM.Troubleshooting
These are the reasons Test connection shows:
Errors users may see in the chat:
Current limitations
- Llama, Amazon Nova, DeepSeek‑R1, Mistral 7B, and Mixtral are not served through Bedrock (on Bedrock they only answer the Converse API).
- With In-Region only, Claude and GPT‑5.x are unavailable.
- Claude on Bedrock: every request gets its signed receipt, but the audit evidence does not yet bind the retained response to that receipt (the “response bound to receipt” flag is not available for these turns).
- Embeddings, re-ranking, OCR, the admin assistant, image generation, and realtime voice stay on SecureAI-managed providers.
Related
- AWS — Discovery — inventory of Bedrock agents, models, identities, and cost.
- Google Vertex AI — Inference on your account
- Azure AI Foundry — Inference on your account
- Cloud AI Providers Overview
- Signed receipts

