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:

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
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