Description: Lists all of the available service-specific resources, actions, and condition keys that can be used in IAM policies to control access to Amazon Bedrock.

Actions, resources, and condition keys for Amazon Bedrock - Service Authorization Reference

# Actions, resources, and condition keys for Amazon Bedrock

Amazon Bedrock (service prefix: `bedrock` ) provides the following service-specific resources, actions, and condition context keys for use in IAM permission policies.

References:

- Learn how to configure this service .

- View a list of the API operations available for this service .

- Learn how to secure this service and its resources by using IAM permission policies.

###### Topics

- Actions defined by Amazon Bedrock
- Resource types defined by Amazon Bedrock
- Condition keys for Amazon Bedrock

## Actions defined by Amazon Bedrock

You can specify the following actions in the `Action` element of an IAM policy statement. Use policies to grant permissions to perform an operation in AWS. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.

The Resource types column of the Actions table indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") to which the policy applies in the `Resource` element of your policy statement. If the column includes a resource type, then you can specify an ARN of that type in a statement with that action. If the action has one or more required resources, the caller must have permission to use the action with those resources. Required resources are indicated in the table with an asterisk (*). If you limit resource access with the `Resource` element in an IAM policy, you must include an ARN or pattern for each required resource type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one of the optional resource types.

The Condition keys column of the Actions table includes keys that you can specify in a policy statement's `Condition` element. For more information on the condition keys that are associated with resources for the service, see the Condition keys column of the Resource types table.

###### Note

Resource condition keys are listed in the Resource types table. You can find a link to the resource type that applies to an action in the Resource types (*required) column of the Actions table. The resource type in the Resource types table includes the Condition keys column, which are the resource condition keys that apply to an action in the Actions table.

For details about the columns in the following table, see Actions table .

Actions | Description | Access level | Resource types (*required) | Condition keys | Dependent actions
--- | --- | --- | --- | --- | ---
AllowVendedLogDeliveryForResource [permission only] | Grants permission to configure vended log delivery for a knowledge base | Permissions management | knowledge-base |  |
ApplyGuardrail | Grants permission to apply a guardrail | Read | guardrail* |  |
AssociateAgentKnowledgeBase | Grants permission to associate a knowledge base with an agent | Write | agent* |  |
knowledge-base* |  |
AssociateThirdPartyKnowledgeBase [permission only] | Grants permission to use 3rd party platform to store knowledge data | Write |  | bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn |
CreateAgent | Grants permission to create a new agent and a test agent alias pointing to the DRAFT agent version | Write |  | aws:RequestTag/${TagKey} aws:TagKeys |
CreateAgentActionGroup | Grants permission to create a new action group in an existing agent | Write | agent* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateAgentAlias | Grants permission to create a new alias for an agent | Write | agent* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateDataSource | Grants permission to create a data source | Write | knowledge-base* |  |
CreateEvaluationJob | Grants permission to create a job for evaluation foundation models or custom models | Write | custom-model* |  |
foundation-model* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateFoundationModelAgreement | Grants permission to create a new foundation model agreement | Write |  |  |
CreateGuardrail | Grants permission to create a new guardrail | Write |  | aws:RequestTag/${TagKey} aws:TagKeys |
CreateGuardrailVersion | Grants permission to create a new guardrail version | Write | guardrail* |  |
CreateKnowledgeBase | Grants permission to create a knowledge base | Write |  | aws:RequestTag/${TagKey} aws:TagKeys |
CreateModelCustomizationJob | Grants permission to create a job for customizing the model with your custom training data | Write | custom-model* |  |
foundation-model* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateModelEvaluationJob | Grants permission to create a job for evaluation foundation models or custom models | Write | custom-model* |  |
foundation-model* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateModelInvocationJob | Grants permission to create a new model invocation job | Write | custom-model* |  |
foundation-model* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateProvisionedModelThroughput | Grants permission to create a new provisioned model throughput | Write | custom-model* |  |
foundation-model* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
DeleteAgent | Grants permission to delete an Agent that you created earlier | Write | agent* |  |
DeleteAgentActionGroup | Grants permission to delete an actionGroup that you created earlier | Write | agent* |  |
DeleteAgentAlias | Grants permission to delete an AgentAlias that you created earlier | Write | agent-alias* |  |
DeleteAgentVersion | Grants permission to delete an Agent Version that you created earlier | Write | agent* |  |
DeleteCustomModel | Grants permission to delete a custom model that you created earlier | Write | custom-model* |  |
DeleteDataSource | Grants permission to delete a data source | Write | knowledge-base* |  |
DeleteFoundationModelAgreement | Grants permission to delete a foundation model agreement that you created earlier | Write |  |  |
DeleteGuardrail | Grants permission to delete a guardrail or its version | Write | guardrail* |  |
DeleteKnowledgeBase | Grants permission to delete a knowledge base | Write | knowledge-base* |  |
DeleteModelInvocationLoggingConfiguration | Grants permission to delete an existing Invocation logging configuration | Write |  |  |
DeleteProvisionedModelThroughput | Grants permission to delete a provisioned model throughput that you created earlier | Write | provisioned-model* |  |
DetectGeneratedContent | Grants permission to detect if the provided content is generated using Amazon Bedrock | Read | foundation-model* |  |
DisassociateAgentKnowledgeBase | Grants permission to disassociate a knowledge base from the agent | Write | agent* |  |
knowledge-base* |  |
GetAgent | Grants permission to retrieve an existing agent | Read | agent* |  |
GetAgentActionGroup | Grants permission to retrieve an existing action group | Read | agent* |  |
GetAgentAlias | Grants permission to retrieve an existing alias | Read | agent-alias* |  |
GetAgentKnowledgeBase | Grants permission to describe a knowledge base associated with an agent | Read | agent* |  |
knowledge-base* |  |
GetAgentVersion | Grants permission to retrieve an existing version of an agent | Read | agent* |  |
GetCustomModel | Grants permission to get the properties associated with a Bedrock custom model that you have created | Read | custom-model* |  |
GetDataSource | Grants permission to retrieve an existing data source | Read | knowledge-base* |  |
GetEvaluationJob | Grants permission to get the properties associated with a evaluation job. Use this operation to get the status of a evaluation job | Read | evaluation-job* |  |
GetFoundationModel | Grants permission to get the properties associated with a Bedrock foundation model | Read | foundation-model* |  |
GetFoundationModelAvailability | Grants permission to get the availability of a foundation model | Read |  |  |
GetGuardrail | Grants permission to retrieve a guardrail or its version | Read | guardrail* |  |
GetIngestionJob | Grants permission to retrieve an existing ingestion job | Read | knowledge-base* |  |
GetKnowledgeBase | Grants permission to retrieve an existing knowledge base | Read | knowledge-base* |  |
GetModelCustomizationJob | Grants permission to get the properties associated with a model-customization job. Use this operation to get the status of a model-customization job | Read | model-customization-job* |  |
GetModelEvaluationJob | Grants permission to get the properties associated with a model-evaluation job. Use this operation to get the status of a model-evaluation job | Read | model-evaluation-job* |  |
GetModelInvocationJob | Grants permission to retrieve a model invocation job | Read | model-invocation-job* |  |
GetModelInvocationLoggingConfiguration | Grants permission to retrieve an existing Invocation logging configuration | Read |  |  |
GetProvisionedModelThroughput | Grants permission to retrieve a provisioned model throughput | Read | provisioned-model* |  |
GetUseCaseForModelAccess | Grants permission to retrieve a use case for model access | Read |  |  |
InvokeAgent | Grants permission to send user input (text-only) to the alias of an agent for Bedrock | Read | agent-alias* |  |
InvokeModel | Grants permission to invoke the specified Bedrock model to run inference using the input provided in the request body | Read | foundation-model* |  |
provisioned-model* |  |
InvokeModelWithResponseStream | Grants permission to invoke the specified Bedrock model to run inference using the input provided in the request body with streaming response | Read | foundation-model* |  |
provisioned-model* |  |
ListAgentActionGroups | Grants permission to list action groups in an agent | List | agent* |  |
ListAgentAliases | Grants permission to list aliases for an agent | List | agent* |  |
ListAgentKnowledgeBases | Grants permission to list knowledge bases associated with an agent | List | agent* |  |
ListAgentVersions | Grants permission to list existing versions of an agent | List | agent* |  |
ListAgents | Grants permission to list existing agents | List |  |  |
ListCustomModels | Grants permission to get a list of Bedrock custom models that you have created | List |  |  |
ListDataSources | Grants permission to list existing data sources in an knowledge base | List | knowledge-base* |  |
ListEvaluationJobs | Grants permission to get the list of evaluation jobs that you have submitted | List |  |  |
ListFoundationModelAgreementOffers | Grants permission to get a list of foundation model agreement offers | List |  |  |
ListFoundationModels | Grants permission to list Bedrock foundation models that you can use | List |  |  |
ListGuardrails | Grants permission to list guardrails or its versions | List | guardrail |  |
ListIngestionJobs | Grants permission to list ingestion jobs in a data source | List | knowledge-base* |  |
ListKnowledgeBases | Grants permission to list existing knowledge bases | List |  |  |
ListModelCustomizationJobs | Grants permission to get the list of model customization jobs that you have submitted | List |  |  |
ListModelEvaluationJobs | Grants permission to get the list of model evaluation jobs that you have submitted | List |  |  |
ListModelInvocationJobs | Grants permission to list model invocation jobs that you created earlier | List |  |  |
ListProvisionedModelThroughputs | Grants permission to list provisioned model throughputs that you created earlier | List |  |  |
ListTagsForResource | Grants permission to list tags for a Bedrock resource | Read | agent* |  |
agent-alias* |  |
custom-model* |  |
evaluation-job* |  |
guardrail* |  |
knowledge-base* |  |
model-customization-job* |  |
model-evaluation-job* |  |
model-invocation-job* |  |
provisioned-model* |  |
PrepareAgent | Grants permission to prepare an existing agent to receive runtime requests | Write | agent* |  |
PutFoundationModelEntitlement | Grants permission to put entitlement to access a foundation model | Write |  |  |
PutModelInvocationLoggingConfiguration | Grants permission to create an existing Invocation logging configuration | Write |  |  |
PutUseCaseForModelAccess | Grants permission to put a use case for model access | Write |  |  |
Retrieve | Grants permission to retrieve ingested data from a knowledge base | Read | knowledge-base* |  |
RetrieveAndGenerate | Grants permission to send user input to perform retrieval and generation | Write |  |  |
StartIngestionJob | Grants permission to start an ingestion job | Write | knowledge-base* |  |
StopEvaluationJob | Grants permission to stop a evaluation job while in progress | Write | evaluation-job* |  |
StopModelCustomizationJob | Grants permission to stop a Bedrock model customization job while in progress | Write | model-customization-job* |  |
StopModelInvocationJob | Grants permission to stop a model invocation job that you started earlier | Write | model-invocation-job* |  |
TagResource | Grants permission to Tag a Bedrock resource | Tagging | agent |  |
agent-alias |  |
custom-model |  |
evaluation-job |  |
guardrail |  |
knowledge-base |  |
model-customization-job |  |
model-evaluation-job |  |
model-invocation-job |  |
provisioned-model |  |
| aws:TagKeys aws:RequestTag/${TagKey} |
UntagResource | Grants permission to Untag a Bedrock resource | Tagging | agent |  |
agent-alias |  |
custom-model |  |
evaluation-job |  |
guardrail |  |
knowledge-base |  |
model-customization-job |  |
model-evaluation-job |  |
model-invocation-job |  |
provisioned-model |  |
| aws:TagKeys |
UpdateAgent | Grants permission to update an existing agent | Write | agent* |  |
UpdateAgentActionGroup | Grants permission to update an existing action group | Write | agent* |  |
UpdateAgentAlias | Grants permission to update an existing alias | Write | agent-alias* |  |
UpdateAgentKnowledgeBase | Grants permission to update a knowledge base associated with an agent | Write | agent* |  |
knowledge-base* |  |
UpdateDataSource | Grants permission to update a data source | Write | knowledge-base* |  |
UpdateGuardrail | Grants permission to update a guardrail | Write | guardrail* |  |
UpdateKnowledgeBase | Grants permission to update a knowledge base | Write | knowledge-base* |  |
UpdateProvisionedModelThroughput | Grants permission to update a provisioned model throughput that you created earlier | Write | custom-model* |  |
foundation-model* |  |
provisioned-model* |  |

## Resource types defined by Amazon Bedrock

The following resource types are defined by this service and can be used in the `Resource` element of IAM permission policy statements. Each action in the Actions table identifies the resource types that can be specified with that action. A resource type can also define which condition keys you can include in a policy. These keys are displayed in the last column of the Resource types table. For details about the columns in the following table, see Resource types table .

Resource types | ARN | Condition keys
--- | --- | ---
foundation-model | `arn:$ { Partition}:bedrock:$ { Region}::foundation-model/$ { ResourceId}` |
custom-model | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:custom-model/$ { ResourceId}` | aws:ResourceTag/${TagKey}
provisioned-model | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:provisioned-model/$ { ResourceId}` | aws:ResourceTag/${TagKey}
model-customization-job | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:model-customization-job/$ { ResourceId}` | aws:ResourceTag/${TagKey}
agent | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:agent/$ { AgentId}` | aws:ResourceTag/${TagKey}
agent-alias | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:agent-alias/$ { AgentId}/$ { AgentAliasId}` | aws:ResourceTag/${TagKey}
knowledge-base | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:knowledge-base/$ { KnowledgeBaseId}` | aws:ResourceTag/${TagKey}
model-evaluation-job | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:model-evaluation-job/$ { ResourceId}` | aws:ResourceTag/${TagKey}
evaluation-job | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:evaluation-job/$ { ResourceId}` | aws:ResourceTag/${TagKey}
model-invocation-job | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:model-invocation-job/$ { JobIdentifier}` | aws:ResourceTag/${TagKey}
guardrail | `arn:$ { Partition}:bedrock:$ { Region}:$ { Account}:guardrail/$ { GuardrailId}` | aws:ResourceTag/${TagKey}

## Condition keys for Amazon Bedrock

Amazon Bedrock defines the following condition keys that can be used in the `Condition` element of an IAM policy. You can use these keys to further refine the conditions under which the policy statement applies. For details about the columns in the following table, see Condition keys table .

To view the global condition keys that are available to all services, see Available global condition keys .

Condition keys | Description | Type
--- | --- | ---
aws:RequestTag/${TagKey} | Filters access by creating requests based on the allowed set of values for each of the mandatory tags | String
aws:ResourceTag/${TagKey} | Filters access by having actions based on the tag value associated with the resource | String
aws:TagKeys | Filters access by creating requests based on the presence of mandatory tags in the request | ArrayOfString
bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn | Filters access by the secretArn containing the credentials of the third party platform | ARN

Did this page help you? - Yes

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of it.

Did this page help you? - No

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.