Enable AWS Bedrock foundation models
A new process
AWS transitioned access to Amazon Bedrock foundation models from the previous "Model Access" request flow to Marketplace subscription offers. Access to all Amazon Bedrock foundation models is enabled by default with the correct AWS Marketplace permissions. When users select a model from the model catalog in the Amazon Bedrock console and open it in the playground or invoke the model using the API, access is automatically granted.
Method 1: Enable models using the Amazon Bedrock console (recommended)
The simplest way to enable a foundation model is to use the Amazon Bedrock console playground. This method automatically handles the marketplace subscription offer acceptance.
Prerequisites
The AWS account must have permissions to accept AWS Marketplace offers. Coordinate with the AWS account owner or cloud security team to confirm that accepting marketplace product offers is allowed for the role used to access the console.
The IAM role must have permissions for Amazon Bedrock APIs and any required AWS Marketplace actions as governed by your organization's policies.
Steps to enable a model
Sign in to the Amazon Bedrock console at https://console.aws.amazon.com/bedrock/.
In the left navigation pane, under Bedrock configurations, choose Model catalog.
Select the model to enable.
Choose Open in Playground.
Send a test prompt to the model in the playground.
If the model returns a response, the model is successfully enabled for the AWS account.
Handling delays
Due to marketplace subscription propagation delays, the first request may not succeed immediately:
If the first request fails or times out, wait a few moments and try again.
The model should respond successfully on the second attempt.
Once enabled, the model becomes available for all users in the AWS account across all regions where the model is supported.
Provider-specific requirements
Anthropic models: First-time customers must submit use case details once per account or once at the organization's management account. The Amazon Bedrock console will prompt for this information when selecting an Anthropic model. Access is granted immediately after successful submission.
Method 2: Enable models using the AWS CLI
For organizations that prefer command-line workflows or need to enable models programmatically, the AWS CLI provides an alternative method to accept marketplace subscription offers.
Prerequisites
The AWS account must have permissions to accept AWS Marketplace offers. Coordinate with the AWS account owner or cloud security team to confirm that accepting marketplace product offers is allowed for the role used to run these steps.
The AWS CLI must be installed and configured with credentials and the target Region where the model will be used.
The IAM role running these commands must have permissions for Amazon Bedrock APIs and any required AWS Marketplace actions as governed by your organization's policies.
Step 1: Identify the model ARN
In the AWS console, navigate to Amazon Bedrock, open the Model catalog, choose Providers, select the model, and copy the model ID/ARN shown for that model.
Use this value as the
--model-idin the following commands.
Step 2: Sign in with IAM Identity Center (SSO)
Ensure the AWS CLI profile is configured for IAM Identity Center. See Configuring IAM Identity Center authentication with the AWS CLI.
Sign in to cache SSO credentials for your profile:
aws sso login --profile <profile-name>
If you use
sso-sessionconfiguration, you can log in by session name:
aws sso login --sso-session <session-name>
To run subsequent commands with the same profile, either set
AWS_PROFILE=<profile-name>in your shell or append--profile <profile-name>to each command.
Note: An AWS SSO profile is required only if your organization uses IAM Identity Center for CLI authentication. If you already have valid credentials configured (for example, access keys or an assume-role profile), you can skip this step and run the commands with that profile.
Step 3: List available subscription offers
Run the following command to list the subscription offers for the selected model. Copy the offerToken value for use in the next step.
aws bedrock list-foundation-model-agreement-offers \ --model-id <model-arn>
PowerShell:
aws bedrock list-foundation-model-agreement-offers ` --model-id <model-arn>
Return only the offer token (concise output):
aws bedrock list-foundation-model-agreement-offers \ --model-id <model-arn> \ --query 'offers[].offerToken' \ --output text
PowerShell (concise output):
aws bedrock list-foundation-model-agreement-offers ` --model-id <model-arn> ` --query "offers[].offerToken" ` --output text
Step 4: Accept the offer (create the agreement)
Use the offerToken from the previous command to create the foundation model agreement (i.e., accept the subscription offer):
aws bedrock create-foundation-model-agreement \ --model-id <model-arn> \ --offer-token <offer-token>
PowerShell:
aws bedrock create-foundation-model-agreement ` --model-id <model-arn> ` --offer-token <offer-token>
Complete example
The following shows the full flow with made-up values.
In this example:
Profile:
my-dev-profileModel ID/ARN:
anthropic.claude-3-5-sonnet-20240620-v1:0
Bash:
# 1) Sign in with SSO (if your org uses IAM Identity Center)
aws sso login --profile my-dev-profile
# 2) Use the profile for subsequent commands
export AWS_PROFILE=my-dev-profile
# 3) Get only the offer token
OFFER_TOKEN=$(aws bedrock list-foundation-model-agreement-offers \ --model-id anthropic.claude-3-5-sonnet-20240620-v1:0 \ --query 'offers[0].offerToken' \ --output text)
# Example: echo the token (shortened here)echo "$OFFER_TOKEN"# => AQICAFAKEOFFER...==
# 4) Create the agreement (accept the offer)
aws bedrock create-foundation-model-agreement \ --model-id anthropic.claude-3-5-sonnet-20240620-v1:0 \ --offer-token "$OFFER_TOKEN"
PowerShell:
# 1) Sign in with SSO (if your org uses IAM Identity Center)
aws sso login --profile my-dev-profile
# 2) Use the profile for subsequent commands
$env:AWS_PROFILE = "my-dev-profile"
# 3) Get only the offer token
$offerToken = aws bedrock list-foundation-model-agreement-offers ` --model-id anthropic.claude-3-5-sonnet-20240620-v1:0 ` --query "offers[0].offerToken" ` --output text
# Example: write the token (shortened here)Write-Output $offerToken# => AQICAFAKEOFFER...==
# 4) Create the agreement (accept the offer)
aws bedrock create-foundation-model-agreement ` --model-id anthropic.claude-3-5-sonnet-20240620-v1:0 ` --offer-token $offerToken
Propagation and first-invocation timing
After the first invocation, allow up to 15 minutes for the marketplace subscription to fully propagate. During this period:
The first call may succeed even though the subscription is not fully activated.
Subsequent calls may fail while propagation is in progress.
After approximately 15 minutes, all calls should succeed consistently.
If errors persist beyond 15 minutes, verify that the agreement was created for the correct Region and that the AWS account has permissions to accept AWS Marketplace offers.
Additional notes
Some providers' models are not sold through AWS Marketplace and do not have product IDs. Access control for these models is managed via Amazon Bedrock permissions rather than marketplace product scoping.
References
Amazon Bedrock: Access foundation models, subscription/offer flow, permissions, and provider notes: Access Amazon Bedrock foundation models
AWS CLI: Configure and sign in with IAM Identity Center (SSO): Configuring IAM Identity Center authentication with the AWS CLI
