Actions, resources, and condition keys for Amazon Lex - AWS Identity and Access Management

Actions, resources, and condition keys for Amazon Lex

Tip

This page is moving to a new location on November 16, 2020. Please update your bookmark to use the new page at https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlex.html.

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

References:

Actions defined by Amazon Lex

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 indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") 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. Required resources are indicated in the table with an asterisk (*). If you specify a resource-level permission ARN in a statement using this action, then it must be of this type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one but not the other.

For details about the columns in the following table, see The actions table.

Actions Description Access level Resource types (*required) Condition keys Dependent actions
CreateBotVersion Creates a new version based on the $LATEST version of the specified bot. Write

bot version*

CreateIntentVersion Creates a new version based on the $LATEST version of the specified intent. Write

intent version*

CreateSlotTypeVersion Creates a new version based on the $LATEST version of the specified slot type. Write

slottype version*

DeleteBot Deletes all versions of a bot. Write

bot version*

DeleteBotAlias Deletes an alias for a specific bot. Write

bot alias*

DeleteBotChannelAssociation Deletes the association between a Amazon Lex bot alias and a messaging platform. Write

channel*

DeleteBotVersion Deletes a specific version of a bot. Write

bot version*

DeleteIntent Deletes all versions of an intent. Write

intent version*

DeleteIntentVersion Deletes a specific version of an intent. Write

intent version*

DeleteSession Removes session information for a specified bot, alias, and user ID. Write

bot alias

bot version

DeleteSlotType Deletes all versions of a slot type. Write

slottype version*

DeleteSlotTypeVersion Deletes a specific version of a slot type. Write

slottype version*

DeleteUtterances Deletes the information Amazon Lex maintains for utterances on a specific bot and userId. Write

bot version*

GetBot Returns information for a specific bot. In addition to the bot name, the bot version or alias is required. Read

bot alias

bot version

GetBotAlias Returns information about a Amazon Lex bot alias. Read

bot alias*

GetBotAliases Returns a list of aliases for a given Amazon Lex bot. List
GetBotChannelAssociation Returns information about the association between a Amazon Lex bot and a messaging platform. Read

channel*

GetBotChannelAssociations Returns a list of all of the channels associated with a single bot. List

channel*

GetBotVersions Returns information for all versions of a specific bot. List

bot version*

GetBots Returns information for the $LATEST version of all bots, subject to filters provided by the client. List
GetBuiltinIntent Returns information about a built-in intent. Read
GetBuiltinIntents Gets a list of built-in intents that meet the specified criteria. Read
GetBuiltinSlotTypes Gets a list of built-in slot types that meet the specified criteria. Read
GetExport Exports Amazon Lex Resource in a requested format. Read

bot version*

GetImport Gets information about an import job started with StartImport. Read
GetIntent Returns information for a specific intent. In addition to the intent name, you must also specify the intent version. Read

intent version*

GetIntentVersions Returns information for all versions of a specific intent. List

intent version*

GetIntents Returns information for the $LATEST version of all intents, subject to filters provided by the client. List
GetSession Returns session information for a specified bot, alias, and user ID. Read

bot alias

bot version

GetSlotType Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must also specify the slot type version. Read

slottype version*

GetSlotTypeVersions Returns information for all versions of a specific slot type. List

slottype version*

GetSlotTypes Returns information for the $LATEST version of all slot types, subject to filters provided by the client. List
GetUtterancesView Returns a view of aggregate utterance data for versions of a bot for a recent time period. List

bot version*

ListTagsForResource Lists tags for a Lex resource Read

bot

bot alias

channel

PostContent Sends user input (text or speech) to Amazon Lex. Write

bot alias

bot version

PostText Sends user input (text-only) to Amazon Lex. Write

bot alias

bot version

PutBot Creates or updates the $LATEST version of a Amazon Lex conversational bot. Write

bot version*

aws:TagKeys

aws:RequestTag/${TagKey}

PutBotAlias Creates or updates an alias for the specific bot. Write

bot alias*

aws:TagKeys

aws:RequestTag/${TagKey}

PutIntent Creates or updates the $LATEST version of an intent. Write

intent version*

PutSession Creates a new session or modifies an existing session with an Amazon Lex bot. Write

bot alias

bot version

PutSlotType Creates or updates the $LATEST version of a slot type. Write

slottype version*

StartImport Starts a job to import a resource to Amazon Lex. Write
TagResource Adds or overwrites tags to a Lex resource Tagging

bot

bot alias

channel

aws:TagKeys

aws:RequestTag/${TagKey}

UntagResource Removes tags from a Lex resource Tagging

bot

bot alias

channel

aws:TagKeys

aws:RequestTag/${TagKey}

Resource types defined by Amazon Lex

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 table. For details about the columns in the following table, see The resource types table.

Resource types ARN Condition keys
bot arn:${Partition}:lex:${Region}:${Account}:bot:${BotName}

aws:ResourceTag/${TagKey}

bot version arn:${Partition}:lex:${Region}:${Account}:bot:${BotName}:${BotVersion}

aws:ResourceTag/${TagKey}

bot alias arn:${Partition}:lex:${Region}:${Account}:bot:${BotName}:${BotAlias}

aws:ResourceTag/${TagKey}

channel arn:${Partition}:lex:${Region}:${Account}:bot-channel:${BotName}:${BotAlias}:${ChannelName}

aws:ResourceTag/${TagKey}

intent version arn:${Partition}:lex:${Region}:${Account}:intent:${IntentName}:${IntentVersion}
slottype version arn:${Partition}:lex:${Region}:${Account}:slottype:${SlotName}:${SlotVersion}

Condition keys for Amazon Lex

Amazon Lex 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 The 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 based on the tags in the request. String
aws:ResourceTag/${TagKey} Filters access by the tags attached to a Lex resource. String
aws:TagKeys Filters access based on the set of tag keys in the request. String
lex:associatedIntents Enables you to control access based on the intents included in the request. String
lex:associatedSlotTypes Enables you to control access based on the slot types included in the request. String
lex:channelType Enables you to control access based on the channel type included in the request. String