Actions, resources, and condition keys for AWS CloudTrail - Service Authorization Reference

# Actions, resources, and condition keys for AWS CloudTrail

AWS CloudTrail (service prefix: `cloudtrail` ) 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 AWS CloudTrail
- Resource types defined by AWS CloudTrail
- Condition keys for AWS CloudTrail

## Actions defined by AWS CloudTrail

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
--- | --- | --- | --- | --- | ---
AddTags | Grants permission to add one or more tags to a trail, event data store, or channel, up to a limit of 50 | Tagging | channel |  |
eventdatastore |  |
trail |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CancelQuery | Grants permission to cancel a running query | Write | eventdatastore* |  |
CreateChannel | Grants permission to create a channel | Write | channel* |  | cloudtrail:AddTags
eventdatastore* |  |
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateEventDataStore | Grants permission to create an event data store | Write | eventdatastore* |  | cloudtrail:AddTags iam:CreateServiceLinkedRole iam:GetRole kms:Decrypt kms:GenerateDataKey organizations:ListAWSServiceAccessForOrganization
| aws:RequestTag/${TagKey} aws:TagKeys |
CreateServiceLinkedChannel [permission only] | Grants permission to create a service-linked channel that specifies the settings for delivery of log data to an AWS service | Write | channel* |  |
CreateTrail | Grants permission to create a trail that specifies the settings for delivery of log data to an Amazon S3 bucket | Write | trail* |  | cloudtrail:AddTags iam:CreateServiceLinkedRole iam:GetRole organizations:ListAWSServiceAccessForOrganization
| aws:RequestTag/${TagKey} aws:TagKeys |
DeleteChannel | Grants permission to delete a channel | Write | channel* |  |
DeleteEventDataStore | Grants permission to delete an event data store | Write | eventdatastore* |  |
DeleteResourcePolicy | Grants permission to delete a resource policy from the provided resource | Write | channel* |  |
DeleteServiceLinkedChannel [permission only] | Grants permission to delete a service-linked channel | Write | channel* |  |
DeleteTrail | Grants permission to delete a trail | Write | trail* |  |
DeregisterOrganizationDelegatedAdmin | Grants permission to deregister an AWS Organizations member account as a delegated administrator | Write |  |  | organizations:DeregisterDelegatedAdministrator organizations:ListAWSServiceAccessForOrganization
DescribeQuery | Grants permission to list details for the query | Read | eventdatastore* |  |
DescribeTrails | Grants permission to list settings for the trails associated with the current region for your account | Read |  |  |
DisableFederation | Grants permission to disable federation of event data store data by using the AWS Glue Data Catalog | Write | eventdatastore* |  | glue:DeleteDatabase glue:DeleteTable glue:PassConnection lakeformation:DeregisterResource lakeformation:RegisterResource
EnableFederation | Grants permission to enable federation of event data store data by using the AWS Glue Data Catalog | Write | eventdatastore* |  | glue:CreateDatabase glue:CreateTable iam:GetRole iam:PassRole lakeformation:DeregisterResource lakeformation:RegisterResource
GetChannel | Grants permission to return information about a specific channel | Read | channel* |  |
GetEventDataStore | Grants permission to list settings for the event data store | Read | eventdatastore* |  |
GetEventDataStoreData | Grants permission to get data from an event data store by using the AWS Glue Data Catalog | Read | eventdatastore* |  | kms:Decrypt kms:GenerateDataKey
GetEventSelectors | Grants permission to list settings for event selectors configured for a trail | Read | trail* |  |
GetImport | Grants permission to return information about a specific import | Read |  |  |
GetInsightSelectors | Grants permission to list CloudTrail Insights selectors that are configured for a trail or event data store | Read | eventdatastore |  |
trail |  |
GetQueryResults | Grants permission to fetch results of a complete query | Read | eventdatastore* |  | kms:Decrypt kms:GenerateDataKey
GetResourcePolicy | Grants permission to get the resource policy attached to the provided resource | Read | channel* |  |
GetServiceLinkedChannel [permission only] | Grants permission to list settings for the service-linked channel | Read | channel* |  |
GetTrail | Grants permission to list settings for the trail | Read | trail* |  |
GetTrailStatus | Grants permission to retrieve a JSON-formatted list of information about the specified trail | Read | trail* |  |
ListChannels | Grants permission to list the channels in the current account, and their source names | List |  |  |
ListEventDataStores | Grants permission to list event data stores associated with the current region for your account | List |  |  |
ListImportFailures | Grants permission to return a list of failures for the specified import | Read |  |  |
ListImports | Grants permission to return information on all imports, or a select set of imports by ImportStatus or Destination | List |  |  |
ListPublicKeys | Grants permission to list the public keys whose private keys were used to sign trail digest files within a specified time range | Read |  |  |
ListQueries | Grants permission to list queries associated with an event data store | List | eventdatastore* |  |
ListServiceLinkedChannels [permission only] | Grants permission to list service-linked channels associated with the current region for a specified account | List |  |  |
ListTags | Grants permission to list the tags for trails, event data stores, or channels in the current region | Read | channel |  |
eventdatastore |  |
trail |  |
ListTrails | Grants permission to list trails associated with the current region for your account | List |  |  |
LookupEvents | Grants permission to look up and retrieve metric data for API activity events captured by CloudTrail that create, update, or delete resources in your account | Read |  |  |
PutEventSelectors | Grants permission to create and update event selectors for a trail | Write | trail* |  |
PutInsightSelectors | Grants permission to create and update CloudTrail Insights selectors for a trail or event data store | Write | eventdatastore |  |
trail |  |
PutResourcePolicy | Grants permission to attach a resource policy to the provided resource | Write | channel* |  |
RegisterOrganizationDelegatedAdmin | Grants permission to register an AWS Organizations member account as a delegated administrator | Write |  |  | iam:CreateServiceLinkedRole iam:GetRole organizations:ListAWSServiceAccessForOrganization organizations:RegisterDelegatedAdministrator
RemoveTags | Grants permission to remove tags from a trail, event data store, or channel | Tagging | channel |  |
eventdatastore |  |
trail |  |
| aws:TagKeys |
RestoreEventDataStore | Grants permission to restore an event data store | Write | eventdatastore* |  |
StartEventDataStoreIngestion | Grants permission to start ingestion on an event data store | Write | eventdatastore* |  |
StartImport | Grants permission to start an import of logged trail events from a source S3 bucket to a destination event data store | Write |  |  |
StartLogging | Grants permission to start the recording of AWS API calls and log file delivery for a trail | Write | trail* |  |
StartQuery | Grants permission to start a new query on a specified event data store | Write | eventdatastore* |  | kms:Decrypt kms:GenerateDataKey
StopEventDataStoreIngestion | Grants permission to stop ingestion on an event data store | Write | eventdatastore* |  |
StopImport | Grants permission to stop a specified import | Write |  |  |
StopLogging | Grants permission to stop the recording of AWS API calls and log file delivery for a trail | Write | trail* |  |
UpdateChannel | Grants permission to update a channel | Write | channel* |  |
UpdateEventDataStore | Grants permission to update an event data store | Write | eventdatastore* |  | iam:CreateServiceLinkedRole iam:GetRole kms:Decrypt kms:GenerateDataKey organizations:ListAWSServiceAccessForOrganization
UpdateServiceLinkedChannel [permission only] | Grants permission to update the settings that specify delivery of log files | Write | channel* |  |
UpdateTrail | Grants permission to update the settings that specify delivery of log files | Write | trail* |  | iam:CreateServiceLinkedRole iam:GetRole organizations:ListAWSServiceAccessForOrganization

## Resource types defined by AWS CloudTrail

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 .

###### Note

For policies that control access to CloudTrail actions, the Resource element is always set to "*". For information about using resource ARNs in an IAM policy, see How AWS CloudTrail works with IAM in the AWS CloudTrail User Guide .

Resource types | ARN | Condition keys
--- | --- | ---
trail | `arn:$ { Partition}:cloudtrail:$ { Region}:$ { Account}:trail/$ { TrailName}` |
eventdatastore | `arn:$ { Partition}:cloudtrail:$ { Region}:$ { Account}:eventdatastore/$ { EventDataStoreId}` | aws:ResourceTag/${TagKey}
channel | `arn:$ { Partition}:cloudtrail:$ { Region}:$ { Account}:channel/$ { ChannelId}` | aws:ResourceTag/${TagKey}

## Condition keys for AWS CloudTrail

AWS CloudTrail 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 the tag key-value pairs in the request | String
aws:ResourceTag/${TagKey} | Filters access by the tags attached to the resource | String
aws:TagKeys | Filters access by the tag keys in a request | ArrayOfString

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.