Understand the Security Importance of CloudTrail Event Fields
AWS CloudTrail event fields provide granular details about API activities, user identities, and resource interactions, enabling precise tracking and analysis during security investigations. This section outlines the critical CloudTrail event fields, their security significance, and recommended use cases for forensic analysis and incident response.
Key CloudTrail Event Fields for Security Investigations
Below is a detailed breakdown of the most critical CloudTrail event fields, their importance in security investigations, and how to leverage them effectively during incident response.
To explore the full details of AWS CloudTrail record contents, including key fields like eventName, eventSource, and requestParameters, check our comprehensive documentation. Enhance your security forensics and incident response with complete log insights.
Critical Event Fields
- 
1. userIdentity
- Description: Contains details about the IAM identity making the request, including 
type(e.g., IAMUser, AssumedRole, Root),principalId,arn,accountId,userName, andsessionContext. - Security Importance: Identifies the actor behind an incident, enabling determination of whether a compromised user, role, or root account was involved. It also supports tracing cross-account access.
 - Use Case: Use 
userIdentityto pinpoint if a bad actor used stolen IAM credentials or assumed a role to escalate privileges. IftypeisRoot, escalate immediately due to the high risk of root account compromise. 
 - Description: Contains details about the IAM identity making the request, including 
 - 
2. userIdentity.accessKeyId
- Description: Identifies the access key used in the request.
 - Security Importance: Tracks compromised credentials across multiple events, as bad actors often reuse stolen access keys.
 - Use Case: Correlate suspicious activities using 
accessKeyIdto determine the scope of a breach. If empty (e.g., for console actions), cross-reference withuserIdentity.sessionContextto confirm session type. 
 - 
3. userIdentity.userName
- Description: Specifies the IAM user's name.
 - Security Importance: Tracks user-specific activity, especially with multiple access keys.
 - Use Case: Cross-reference 
userNamewithuserIdentity.principalIdfor consistent identity tracking. 
 - 
4. userIdentity.principalId
- Description: Provides a unique identifier for the entity making the request.
 - Security Importance: Correlates actions across sessions, especially for temporary credentials.
 - Use Case: Track bad actor movement across assumed roles or sessions using 
principalId. 
 - 
5. userIdentity.sessionContext
- Description: Details assumed roles or federated sessions, including 
sessionIssuerandsourceIdentity. - Security Importance: Critical for understanding cross-account access or role-chaining attacks. If the request was made with temporary security credentials, sessionContext provides information about the session created for those credentials. You create a session when you call any API that returns temporary credentials. Users also create sessions when they work in the console and make requests with APIs that include multi-factor authentication.
 - Use Case: Analyze 
sessionContext.sourceIdentityto trace the attack's origin in role assumption scenarios. 
 - Description: Details assumed roles or federated sessions, including 
 - 
6. userIdentity.type
- Description: Specifies the identity type (e.g., 
IAMUser,Root,AssumedRole). - Security Importance: Identifies high-risk actions, such as 
Rootusage, requiring immediate escalation. - Use Case: Filter by 
userIdentity.typeto prioritize investigations involving privileged identities. 
 - Description: Specifies the identity type (e.g., 
 - 
7. userIdentity.arn
- Description: Provides the Amazon Resource Name of the principal.
 - Security Importance: Ensures precise identification of actors in complex environments.
 - Use Case: Trace actions to specific IAM entities using 
arn. 
 - 
8. userIdentity.accountId
- Description: Identifies the AWS account owning the entity.
 - Security Importance: Isolates the source account in cross-account scenarios.
 - Use Case: Cross-reference with 
recipientAccountIdto detect unauthorized access. 
 - 
9. userIdentity.sessionIssuer
- Description: Identifies the entity issuing session credentials (e.g., a role).
 - Security Importance: Tracks the source of temporary credentials in role-based attacks. If a user makes a request with temporary security credentials, sessionIssuer provides information about how the user obtained credentials. For example, if they obtained temporary security credentials by assuming a role, this element provides information about the assumed role. If they obtained credentials with root or IAM user credentials to call AWS STS GetFederationToken, the element provides information about the root account or IAM user.
 - Use Case: Analyze 
sessionIssuerinAssumedRoleevents for privilege escalation analysis. 
 - 
10. userIdentity.invokedBy
- Description: Indicates if an AWS service (e.g., Lambda) made the request.
 - Security Importance: Distinguishes service-initiated actions from user activity, identifying misconfigurations or exploited roles.
 - Use Case: Investigate 
invokedByfor anomalies in service behavior. 
 - 
11. eventTime
- Description: Records the UTC timestamp of the activity.
 - Security Importance: Establishes the timeline of an attack, identifying the initial point of compromise and correlating events across systems.
 - Use Case: Sequence bad actor actions and determine the duration of unauthorized access. A spike in API calls at unusual times may indicate malicious activity.
 
 - 
12. eventName
- Description: Specifies the AWS API action (e.g., 
GetCallerIdentity,CreateAccessKey,DeleteBucket). - Security Importance: Reveals bad actor techniques, such as reconnaissance (
ListUsers) or privilege escalation (CreateAccessKey). - Use Case: Analyze 
eventNameto identify high-risk actions like modifying IAM policies or disabling logging, indicating intent to persist or evade detection. 
 - Description: Specifies the AWS API action (e.g., 
 - 
13. eventSource
- Description: Identifies the AWS service targeted (e.g., 
iam.amazonaws.com,s3.amazonaws.com). - Security Importance: Determines affected services, helping prioritize remediation efforts.
 - Use Case: Investigate 
eventSourceforsts.amazonaws.comwitheventNameAssumeRoleto detect role-chaining attacks. Filter logs to focus on compromised services. 
 - Description: Identifies the AWS service targeted (e.g., 
 - 
14. sourceIPAddress
- Description: Indicates the IP address from which the request originated.
 - Security Importance: Identifies the geographic origin of an attack and potential threat actors.
 - Use Case: Cross-reference 
sourceIPAddresswith threat intelligence feeds to detect suspicious origins. If it shows "AWS Internal/#", investigate service roles or misconfigurations. 
 - 
15. userAgent
- Description: Details the application or tool used (e.g., 
aws-cli,aws-sdk-java). - Security Importance: Identifies suspicious tools or non-standard applications used by bad actors.
 - Use Case: Monitor 
userAgentfor anomalies, such as non-AWS SDKs, which may indicate malicious tooling that deviates from normal organizational patterns. 
 - Description: Details the application or tool used (e.g., 
 - 
16. errorCode and errorMessage
- Description: Indicates if an API call failed and why (e.g., 
AccessDenied). - Security Importance: Reveals failed attack attempts and permission boundaries, providing insight into a bad actor's scope.
 - Use Case: Multiple 
AccessDeniederrors forCreateAccessKeymay indicate permission testing. Use these fields to refine security controls. 
 - Description: Indicates if an API call failed and why (e.g., 
 - 
17. requestParameters
- Description: Contains parameters sent with the API call, such as resource names or configurations. The response elements, if any, for actions that make changes (create, update, or delete actions). For readOnly APIs, this field is null. If the action doesn't return response elements, this field is null. The response elements for actions are documented in the API reference documentation for the appropriate AWS service.
 - Security Importance: Reveals the specific inputs of an API call and configuration details sent by a bad actor's actions.
 - Use Case: Analyze 
requestParametersin aCreateBucketcall to identify the bucket name for remediation. 
 - 
18. responseElements
- Description: Includes the API call's output, such as newly created access keys or resource ARNs. The response elements, if any, for actions that make changes (create, update, or delete actions). For readOnly APIs, this field is 
null. If the action doesn't return response elements, this field isnull. The response elements for actions are documented in the API reference documentation for the appropriate AWS service. - Security Importance: Contains critical information like newly created resources, access keys, and other artifacts.
 - Use Case: Use 
responseElementsin aCreateAccessKeyevent to deactivate new keys and reverse unauthorized changes. 
 - Description: Includes the API call's output, such as newly created access keys or resource ARNs. The response elements, if any, for actions that make changes (create, update, or delete actions). For readOnly APIs, this field is 
 - 
19. resources
- Description: Lists AWS resources accessed or modified, including ARNs and resource types.
 - Security Importance: Identifies affected assets, such as S3 buckets or IAM roles, for remediation.
 - Use Case: Use 
resourcesin aDeleteObjectevent to pinpoint the affected S3 object and prioritize recovery. 
 - 
20. eventType
- Description: Categorizes the event (e.g., 
AwsApiCall,AwsConsoleSignIn). - Security Importance: Distinguishes API-based attacks, console logins, or service-initiated actions.
 - Use Case: Filter 
AwsConsoleSignInevents to detect unauthorized console access and verify MFA. 
 - Description: Categorizes the event (e.g., 
 - 
21. recipientAccountId
- Description: Identifies the AWS account receiving the request.
 - Security Importance: Tracks cross-account activity in multi-account organizations.
 - Use Case: Investigate if 
recipientAccountIddiffers fromuserIdentity.accountIdfor unauthorized cross-account access. 
 - 
22. awsRegion
- Description: Specifies the AWS region of the request.
 - Security Importance: Establishes geographic patterns and incident scope.
 - Use Case: Filter logs by 
awsRegionto identify anomalies in unused regions. 
 - 
23. readOnly
- Description: Indicates whether the API call was read-only (
true) or write (false). - Security Importance: Distinguishes reconnaissance from modification actions.
 - Use Case: Focus on write operations for potential data tampering or persistence.
 
 - Description: Indicates whether the API call was read-only (
 - 
24. eventID
- Description: Uniquely identifies each CloudTrail event.
 - Security Importance: Enables referencing specific events and correlating with external systems like SIEM tools.
 - Use Case: Use 
eventIDas a primary key for log aggregation and tracking. 
 - 
25. serviceEventDetails
- Description: Provides service-specific context, such as IAM Identity Center federation events.
 - Security Importance: Enhances investigations with specialized service details.
 - Use Case: Analyze 
serviceEventDetailsfor IAM Identity Center events to audit federated user actions. 
 
For a comprehensive guide to understanding the userIdentity element in AWS CloudTrail logs, including its fields (e.g., type, userName, arn), visit our detailed documentation. Unlock insights for effective security forensics and incident response.
To maximize the effectiveness of CloudTrail for security investigations, enable CloudTrail for all regions and accounts in your AWS Organization. Ensure logs are stored securely in an S3 bucket with restricted access and enable log file integrity validation to detect tampering. Regularly analyze these fields using tools like Amazon Athena or CloudTrail Lake to identify anomalies and respond promptly to incidents.
Example Analysis Workflow for Compromised AWS Access Key
- Identify the Actor: Use 
userIdentityfields (type,userName,arn,accountId,principalId) to determine the identity involved. Escalate ifRootis detected. - Establish Timeline: Use 
eventTimeto sequence events and identify the attack's duration. - Analyze Actions: Review 
eventName,eventSource, andreadOnlyto understand bad actor techniques and affected services. - Track Resources: Use 
resources,requestParameters, andresponseElementsto identify targeted or modified assets for remediation. - Investigate Access: Cross-reference 
sourceIPAddress,userAgent,recipientAccountId, andsessionContextto detect unauthorized access or role-chaining. - Review Errors: Analyze 
errorCodeanderrorMessageto identify attempted actions blocked by IAM policies. - Correlate Events: Use 
eventIDandserviceEventDetailsto integrate with SIEM tools and perform detailed forensic analysis.