Create it
- Console
- CLI and API
- Coding agent
- Open the environment, then New service › Blueprint.
- Find AWS Bedrock Access in the catalog and pick the major version.
- Fill in the variables. Required ones are marked; the others use their defaults.
- Create the service, and deploy it now or later.
Variables and outputs
Generated fromqbm.yml at EXTERNAL/bedrock/default/1.0.3, the manifest the Console form is built from.
All 8 variables
All 8 variables
All 8 outputs
All 8 outputs
Reference
From the Blueprint’s README. Provisions scoped access to Amazon Bedrock: an IAM policy (aws_iam_policy) allowing invocation of the models you name, and by default an IAM user with a
long-lived access key (aws_iam_user, aws_iam_access_key), via the official hashicorp/aws
provider (~> 6.0).
Available on every cloud. This is an EXTERNAL blueprint: the AWS credentials come in as
variables rather than from the cluster, so a GCP, Azure or Scaleway cluster can consume Bedrock, and
an AWS cluster can reach a Bedrock account other than its own. The generated access key is the
point — a workload outside AWS has no IAM role to assume, so a static key is the only way in. On an
AWS cluster, set create_iam_user = false and pass attach_to_role_name to stay keyless.
It provisions access, not models: Bedrock model access is granted per account in the console and
is not manageable through this provider. Enable the models you want first, or every invocation
returns AccessDeniedException regardless of the IAM policy.
Credentials
An AWS access key pair inaws_access_key_id + aws_secret_access_key (both sensitive), supplied
as variables (credentials.default: env). The principal needs:
No
bedrock:* permission is needed — the blueprint only writes IAM.
Variables
Required
Optional
Outputs
Notes
- Invocation logging is deliberately not managed here. Bedrock keeps one logging configuration
per account per region, so a per-service blueprint that owned it would overwrite whatever the
account already had on create and remove logging for every other workload in that region on
destroy. Configure it once at the account level instead
(
aws_bedrock_model_invocation_logging_configurationin your account baseline, or the console). - A cross-region model id is expanded to two ARNs. Invoking
us.anthropic.claude-…is authorized against both the inference profile in your account and the underlying foundation model in whichever region the request is routed to, so the foundation-model ARN is emitted with a region wildcard. Pinning it toaws_regionwould deny every cross-region invocation — which is how the Claude models are normally called. allowed_model_idsis required, with no default.*is accepted but has to be typed: it grants every foundation model in the account, including ones added after the key is issued. An empty or comma-only value is rejected rather than being treated as*.- The access key is long-lived. It is surfaced as a sensitive output and stored encrypted by
Qovery. Rotating it means tainting
aws_iam_access_key.appand redeploying. Prefercreate_iam_user = falseplusattach_to_role_namewherever the workload already has an AWS identity. force_destroyis set on the IAM user, so destroying the blueprint removes the user together with the keys it still holds instead of failing.- Guardrails, knowledge bases and provisioned throughput are out of scope: each is a substantial configuration of its own and belongs in its own blueprint.