# Connect Amazon Bedrock

With Amazon Bedrock as the [model provider](https://docs.faustine.ai/workspace/model-providers/), Faustine calls Claude models through your AWS account, in the region you choose. Analysis, updates, the Advanced editor and chat all run there, and AWS bills the usage.

## Before you begin

- An AWS account with access to the Claude models in the region you will use.
- One of these credentials:
    - A Bedrock API key. See [Amazon Bedrock API keys](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html) in the AWS documentation.
    - The access key ID and secret access key of an IAM user that can invoke Bedrock models. See [Manage access keys for IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html).
- For knowledge, a key for an OpenAI-compatible embeddings endpoint. Faustine does not use Bedrock's own embeddings.

The IAM policy has to allow `bedrock:InvokeModel*` on the Claude models. `bedrock:ListInferenceProfiles` lets Faustine verify the credentials without a warning.

## Enter the credentials

1. In the portal, go to **Settings** > [**Model Provider**](https://auth.faustine.ai/go?to=%2Fsettings%3Ftab%3Dprovider) and select **Configure a provider**.
2. In **Provider**, select **Amazon Bedrock**.
3. In **Region**, enter the AWS region, such as `eu-west-1`.
4. Under **Authentication**, select one:
    - **Bedrock API key**, and enter the key in **Bedrock API key**.
    - **IAM keypair**, and enter **Access key ID** and **Secret access key**.
5. Leave **Endpoint** on **invoke (default)**. Select **mantle** only if your organization uses the Mantle endpoint. Mantle works with a Bedrock API key, not with an IAM keypair.
6. Select **Continue**.

## Map the models

Bedrock does not use Anthropic's model IDs. On the `invoke` endpoint, an invocable ID is a cross-region inference profile: the model ID with a geography prefix, such as `us.anthropic.claude-opus-5`. See [Supported Regions and models for inference profiles](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html).

In **Model names on your provider**:

1. Look at the gray ID in each row under **Required for analysis & code generation**. Faustine derives it from your region, and it is the ID it sends when you leave the field empty.
2. Enter an ID only where your account uses a different one, such as the ARN of a provisioned model.
3. To offer more models for chat, select **Add a chat model…** and confirm its ID.
4. Select **Test connection**.
5. Select **Continue** when every required model is reachable.

> **Note:** Do not copy IDs from the Bedrock model catalog. Those IDs start with `anthropic.` and have no geography prefix, and on-demand invocation rejects them.

The prefix Faustine derives depends on the region.

| Region starts with | Prefix |
| --- | --- |
| `us-gov-` | `us-gov.` |
| `us-` | `us.` |
| `eu-` | `eu.` |
| `ap-` | `apac.` |
| Anything else | `global.` |

On the `mantle` endpoint, nothing is derived. IDs there have no prefix, such as `anthropic.claude-opus-5`, and you enter each one.

## Set embeddings and save

1. In **Embeddings**, select **OpenAI API key** or **Azure OpenAI (or OpenAI-compatible)** and fill in its fields, or select **Not configured**. See [Choose an embeddings provider](https://docs.faustine.ai/workspace/embeddings/).
2. Select **Continue**.
3. In **Review & save**, select **Test connection**, then **Save & activate**.

The tab shows the **Amazon Bedrock** card with an **Active** badge and rows for **Region**, **Authentication** and **Endpoint**.

## What the validation checks

| Check | How |
| --- | --- |
| Credentials | A request to list inference profiles in your region, which costs no tokens. AWS rejecting the key or the signature stops the save. |
| Each model | One real request of one token with the ID in its row. |
| Embeddings | One embeddings request, when embeddings are configured. |

If the credentials are valid and the policy does not allow listing inference profiles, the save goes through with a warning that names `bedrock:InvokeModel*`.

## Troubleshooting

| Symptom | Cause | Fix |
| --- | --- | --- |
| `bedrock.region must be an AWS region (e.g. us-east-1)` | The value in **Region** is not a region name. | Enter the region code. |
| A model shows **Not found** with `This is the catalog's foundation-model id` | The ID has no geography prefix. | Use the ID the message gives, or clear the field to use the gray one. |
| A model shows **Refused** with `The AWS account is not entitled to this model` | The account has no access to that model in the region. | Request access to the model in AWS. The message points to Service Quotas. |
| `Throttled by AWS — try again in a moment.` | AWS rate-limited the test. | Run **Test connection** again. |

When you edit the credentials later with **IAM keypair**, leave **Access key ID** and **Secret access key** empty to keep the stored keypair. A new secret access key needs its access key ID.

## Next steps

- [Model providers](https://docs.faustine.ai/workspace/model-providers/): status, test and the other providers.
- [Choose an embeddings provider](https://docs.faustine.ai/workspace/embeddings/): the embeddings options on Bedrock.
- [Choose the chat model](https://docs.faustine.ai/web-agents/chat-model/): pick among the models you mapped.
