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
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 | |||
CancelQuery | Grants permission to cancel a running query | Write | |||
CreateChannel | Grants permission to create a channel | Write |
cloudtrail:AddTags |
||
CreateEventDataStore | Grants permission to create an event data store | Write |
cloudtrail:AddTags iam:CreateServiceLinkedRole iam:GetRole kms:Decrypt kms:GenerateDataKey organizations:ListAWSServiceAccessForOrganization |
||
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 | |||
CreateTrail | Grants permission to create a trail that specifies the settings for delivery of log data to an Amazon S3 bucket | Write |
cloudtrail:AddTags iam:CreateServiceLinkedRole iam:GetRole organizations:ListAWSServiceAccessForOrganization |
||
DeleteChannel | Grants permission to delete a channel | Write | |||
DeleteEventDataStore | Grants permission to delete an event data store | Write | |||
DeleteResourcePolicy | Grants permission to delete a resource policy from the provided resource | Write | |||
DeleteServiceLinkedChannel [permission only] | Grants permission to delete a service-linked channel | Write | |||
DeleteTrail | Grants permission to delete a trail | Write | |||
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 | |||
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 |
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 |
glue:CreateDatabase glue:CreateTable iam:GetRole iam:PassRole lakeformation:DeregisterResource lakeformation:RegisterResource |
||
GenerateQuery | Grants permission to generate a query for a specified event data store using the CloudTrail Lake query generator | Write | |||
GenerateQueryResultsSummary [permission only] | Grants permission to generate a results summary for specified queries using the CloudTrail natural language generator | Read |
cloudtrail:GetQueryResults kms:Decrypt kms:GenerateDataKey |
||
GetChannel | Grants permission to return information about a specific channel | Read | |||
GetEventDataStore | Grants permission to list settings for the event data store | Read | |||
GetEventDataStoreData | Grants permission to get data from an event data store by using the AWS Glue Data Catalog | Read |
kms:Decrypt kms:GenerateDataKey |
||
GetEventSelectors | Grants permission to list settings for event selectors configured for a trail | Read | |||
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 | |||
GetQueryResults | Grants permission to fetch results of a complete query | Read |
kms:Decrypt kms:GenerateDataKey |
||
GetResourcePolicy | Grants permission to get the resource policy attached to the provided resource | Read | |||
GetServiceLinkedChannel [permission only] | Grants permission to list settings for the service-linked channel | Read | |||
GetTrail | Grants permission to list settings for the trail | Read | |||
GetTrailStatus | Grants permission to retrieve a JSON-formatted list of information about the specified trail | Read | |||
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 | |||
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 | |||
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 | |||
PutInsightSelectors | Grants permission to create and update CloudTrail Insights selectors for a trail or event data store | Write | |||
PutResourcePolicy | Grants permission to attach a resource policy to the provided resource | Write | |||
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 | |||
RestoreEventDataStore | Grants permission to restore an event data store | Write | |||
StartEventDataStoreIngestion | Grants permission to start ingestion on an event data store | Write | |||
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 | |||
StartQuery | Grants permission to start a new query on a specified event data store | Write |
kms:Decrypt kms:GenerateDataKey |
||
StopEventDataStoreIngestion | Grants permission to stop ingestion on an event data store | Write | |||
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 | |||
UpdateChannel | Grants permission to update a channel | Write | |||
UpdateEventDataStore | Grants permission to update an event data store | Write |
iam:CreateServiceLinkedRole iam:GetRole kms:Decrypt kms:GenerateDataKey organizations:ListAWSServiceAccessForOrganization |
||
UpdateServiceLinkedChannel [permission only] | Grants permission to update the service-linked channel settings for delivery of log data to an AWS service | Write | |||
UpdateTrail | Grants permission to update the settings that specify delivery of log files | Write |
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}
|
|
channel |
arn:${Partition}:cloudtrail:${Region}:${Account}:channel/${ChannelId}
|
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 |