Identity and access management for Web Search
Web Search on Amazon Bedrock uses AWS Identity and Access Management (IAM) to control who can run searches and fetches and in which Regions. This page describes the service's IAM prefix, actions, AWS managed policies, condition keys, example policies, and the controls administrators use to disable Web Search.
The IAM service prefix for Web Search is bedrock-websearch. Use this prefix
when you write policy statements, for example
bedrock-websearch:InvokeSearch.
Actions
Web Search supports three actions.
| Action | Description | Access level |
|---|---|---|
bedrock-websearch:InvokeSearch |
Issue a search query. Returns URLs, titles, and snippets from the Amazon Bedrock web index. Does not make outbound calls. | Read / Write |
bedrock-websearch:InvokeFetch |
Retrieve page content for a specific URL. Fetch uses the Amazon Bedrock cache only unless the request also enables external web access and the identity is allowed to use it. | Read / Write |
bedrock-websearch:ExternalWebAccess |
Allow Fetch to retrieve from the external web after a cache miss. Search continues to use the Amazon Bedrock web index. | Read / Write |
All three actions support the * resource type.
The model decides when to call search and when to call fetch based on its reasoning over
each request and the responses to previous tool calls. Both tools are exposed to the model
whenever web_search is added to a request; IAM permissions don't change what the
model sees, and each permission is evaluated only when the model actually attempts that call.
When a call is denied, the model can continue with the information it already has or obtained
from another tool call. The model response is not guaranteed to disclose the denial. To audit
denied calls, enable CloudTrail data event logging for Web Search.
The two actions grant different capabilities. With
InvokeSearch but not InvokeFetch, the model can run searches and
ground its answer in the titles, URLs, and snippets that search returns, but cannot read the
cached content of a page. With InvokeFetch but not InvokeSearch, the
model cannot run searches to discover sources, but fetch still applies to any URL the model
produces — one you provide in your request or one the model generates from its own
knowledge — subject to the configured Fetch mode and permissions. Fetch is not limited to
URLs you supply, so if you intend to constrain the model to specific sources, restricting
InvokeSearch alone does not achieve that.
Managed policies
Web Search provides the following AWS managed policies.
| Managed policy | Grants |
|---|---|
AmazonBedrockWebSearchFullAccess |
Search and cached fetch actions only. No external web access with this policy. |
AmazonBedrockWebSearchReadOnly |
Search and cached fetch actions in a read-only variant, with no external web access. Provided for parity with other AWS services and for policy automation that expects a ReadOnly policy per service. |
AmazonBedrockExternalWebSearchFullAccess |
All three Web Search actions, including ExternalWebAccess, on all Web
Search resources. |
AmazonBedrockExternalWebSearchReadOnly |
The same actions and resources as
AmazonBedrockExternalWebSearchFullAccess, under a ReadOnly policy name provided
for policy naming and automation conventions. |
Important
The current versions of AmazonBedrockExternalWebSearchReadOnly and
AmazonBedrockExternalWebSearchFullAccess have identical effective permissions.
The ReadOnly policy does not restrict external web retrieval. Use a custom policy if you need a
narrower permission set.
In addition to the web-search-specific policies above, the basic Web Search actions
(bedrock-websearch:InvokeSearch and bedrock-websearch:InvokeFetch)
have been added to the following AWS managed policies:
-
AmazonBedrockFullAccess -
AmazonMantleFullAccess -
AmazonBedrockLimitedAccess -
AmazonBedrockMantleInferenceAccess
None of these general policies grant bedrock-websearch:ExternalWebAccess.
Identities that hold them can use Search. To use cached Fetch without an additional policy
change, explicitly set external_web_access to false. If you leave the
parameter at its default of true, each Fetch attempt fails authorization before the
cache is read. Retrieval from the external web must be granted explicitly.
AmazonBedrockFullAccess is distinct from
AmazonBedrockExternalWebSearchFullAccess, which grants all Web Search actions
including ExternalWebAccess; AmazonBedrockWebSearchFullAccess, by
contrast, grants search and cached fetch only.
Condition key
Web Search provides the following IAM condition key:
| Condition key | Applies to | Description |
|---|---|---|
aws:RequestedRegion |
Both actions | Restrict Web Search to specific Regions. This is the standard AWS global condition key. |
Disable Web Search
Administrators can turn off Web Search at several scopes.
| Scope | Mechanism |
|---|---|
| Organization | A Service Control Policy (SCP) that denies all bedrock-websearch actions
across an AWS Organization. |
| Account | A standard IAM deny on the bedrock-websearch actions. |
| Region | A deny that uses the aws:RequestedRegion condition key. |
The model decides when to call search and when to call fetch based on the content of each request. Before you restrict or disable either action, test your specific request patterns to understand which operations they trigger. That way you can confirm a policy change has the effect you intend and does not unexpectedly degrade responses.
Example policies
Allow search and cached fetch in a specific Region
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowWebSearchInRegion", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeSearch", "bedrock-websearch:InvokeFetch" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "us-west-2" } } } ] }
Allow search, cached fetch, and external web access
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowWebSearchWithExternalAccess", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeSearch", "bedrock-websearch:InvokeFetch", "bedrock-websearch:ExternalWebAccess" ], "Resource": "*" } ] }
Allow cached fetch only
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCachedFetch", "Effect": "Allow", "Action": [ "bedrock-websearch:InvokeFetch" ], "Resource": "*" } ] }
Deny Web Search across an organization (SCP)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllWebSearch", "Effect": "Deny", "Action": "bedrock-websearch:*", "Resource": "*" } ] }