Important changes to CloudTrail events for AWS IAM Identity Center
AWS IAM Identity Center is streamlining its AWS CloudTrail events by including only essential fields that are necessary for workflows like audit and incident response… It also enhances correlation between IAM Identity Center users and external directory services, such as Okta Universal Directory o…
AWS IAM Identity Center is streamlining its AWS CloudTrail events by including only essential fields that are necessary for workflows like audit and incident response. This change simplifies user identification in CloudTrail, addressing customer feedback. It also enhances correlation between IAM Identity Center users and external directory services, such as Okta Universal Directory or Microsoft Active Directory.
Effective January 13, 2025, IAM Identity Center will stop emitting userName
and principalId
fields under the user identity element in CloudTrail events. These fields will be excluded from the CloudTrail events that are initiated when users sign in to IAM Identity Center, use the AWS access portal, and access AWS accounts through the AWS CLI. Instead, IAM Identity Center now emits user ID and Identity Store Amazon Resource Name (ARN) fields to replace the userName
and principalId
fields, simplifying user identification. IAM Identity Center CloudTrail events will also specify IdentityCenterUser
as the identity type instead of Unknown
, providing a clear identifier for users. Additionally, IAM Identity Center will omit the value of a group’s displayName in CloudTrail events when you create or update a group. You can access group attributes, such as displayName
, by using the Identity Store DescribeGroup API operation for authorized workflows.
We recommend that you update your workflows that process the userName
, principalId
, userIdentity
type, or group displayName
fields in CloudTrail events for IAM Identity Center before these changes take effect on January 13, 2025. This blog post provides guidance for these updates.
How to prepare your workflows for the upcoming changes to IAM Identity Center user identification in CloudTrail
To simplify user identification, IAM Identity Center is making changes to the user identity element for its CloudTrail events. Based on these changes, you can update your workflows to link CloudTrail events to a specific user, associate users with their external directories, and track user activity within the same session. The updated user identity element for a sample CloudTrail event is shared at the end of this section.
IAM Identity Center will update the userIdentity
type for CloudTrail events that are emitted when users sign in, use the AWS access portal, and access AWS accounts through the AWS CLI. For authenticated users, the userIdentity
type will change from Unknown
to IdentityCenterUser
. For unauthenticated users, the userIdentity
type will remain Unknown
. We recommend that you update your workflows to accept both values.
To identify the user linked to a CloudTrail event, IAM Identity Center now emits userId
and identityStoreArn
fields to replace the userName
and principalId
fields. The userId
is a unique and immutable user identifier that IAM Identity Center assigns to every user in the Identity Store, its native directory referenced by the identityStoreArn
. These new fields enhance user identification and action tracking in CloudTrail and are present in the CloudTrail entries where the userIdentity
type is IdentityCenterUser
. For an example of the user identity element with the new fields and the describe-user
CLI command to retrieve user attributes using the user ID and Identity Store ARN, see the Identifying the user and session in IAM Identity Center user-initiated CloudTrail events section of the IAM Identity Center User Guide.
Among other user attributes, you can use the describe-user
CLI command to retrieve the external ID associated with a user in the Identity Store. You can use the external ID to associate Identity Store users with their external directories. The external ID maps the user to an immutable user identifier in their external directory, such as Microsoft Active Directory or Okta Universal Directory.
Note: IAM Identity Center doesn’t emit an external ID in CloudTrail. You need access to the Identity Store to retrieve an external ID based on the
userId
andidentityStoreArn
fields in CloudTrail.
If you have access to the CloudTrail events but not the Identity Store, you can use the UserName field emitted under the additionalEventData element to correlate your users with their external directories. This field represents the username that the user authenticates or federates with when signing in to IAM Identity Center. For more details, see the Correlating users between IAM Identity Center and external directories section of the IAM Identity Center User Guide.
Notes:
- When the identity source is the AWS Directory Service, the
UserName
value logged in theadditionalEventData
element in CloudTrail is equal to the username that the user enters during authentication. For example, a user who has the username anyuser@company.com, can authenticate with anyuser, anyuser@company.com, or company.comanyuser, and in each case the entered value is emitted in CloudTrail respectively.- For a sign-in failure caused by incorrect username input, IAM Identity Center emits the
UserName
field in its CloudTrail event as a fixed-text value ofHIDDEN_DUE_TO_SECURITY_REASONS
. This is because the username value input by the user in such a scenario could contain sensitive information, such as a user’s password.
To track user activity within the same session, IAM Identity Center now emits the credentialId
field in CloudTrail events for user actions that take place in the AWS access portal or that use the AWS CLI. The credentialId
field contains the AWS access portal session ID for a user, to help you track user actions during their session.
The following table shows a CloudTrail event example that illustrates the fields, highlighted in yellow, that will change on January 13, 2025. IAM Identity Center recently started emitting userId
, identityStoreArn
, credentialId
, and UserName
in the additional event data for its CloudTrail events. Therefore, this example considers them as existing fields.
Before the upcoming changes |
|
After the upcoming changes |
|
How to prepare your workflows for the upcoming changes to IAM Identity Center group management events in CloudTrail
Your workflows that require access to group attributes, such as displayName
, can retrieve them by using the Identity Store DescribeGroup API operation. Beginning January 13, 2025, IAM Identity Center will replace the displayName
value in the administrative CloudTrail events for CreateGroup and UpdateGroup with a fixed text value of HIDDEN_DUE_TO_SECURITY_REASONS
. This update restricts access to the group displayName
only to workflows that are authorized to access group attributes in the Identity Store.
The following table shows a CloudTrail event example that illustrates the upcoming change in the displayName
field, which is highlighted in yellow.
Before the upcoming changes |
|
After the upcoming changes |
|
Gain a deeper understanding of the specific CloudTrail events impacted by the changes
Earlier in this post, we said that IAM Identity Center emits the relevant CloudTrail events when users sign in to IAM Identity Center, use the AWS access portal, and access AWS accounts through the AWS CLI, or when administrators create and update groups. These CloudTrail events belong to four event groups that the IAM Identity Center User Guide refers to as AWS access portal, OIDC, Sign-in, and Identity Store events. The following list provides more details about the use cases that lead to the emission of these CloudTrail events:
- The AWS access Portal events cover sign-in and sign-out from the AWS access portal, as well as the retrieval of a user’s account and application assignments, which are necessary to display the portal. IAM Identity Center also emits these events when configuring AWS CLI or IDE toolkits for access to AWS accounts as an IAM Identity Center user.
- The relevant OpenID Connect (OIDC) event is
CreateToken
. IAM Identity Center emits this event when starting a session for an authenticated user (for example, to access assigned AWS accounts through AWS CLI or IDE toolkits). - The Sign-in events cover password-based and federated authentication, as well as multi-factor authentication (MFA).
- The relevant Identity Store events include the end-user management of MFA devices inside the AWS access portal and the two administrative Identity Store events, CreateGroup and UpdateGroup.
Note that some of the API operations behind the CloudTrail events in scope are also available as AWS CLI commands:
The two tables in this section provide a detailed record of the changes and their relation to CloudTrail events.
The following table lists the changes to fields emitted by IAM Identity Center and the relevant CloudTrail events.
Changes | AWS access portal (Use of the portal) | OIDC (Sign-in to IAM Identity Center through AWS CLI and IDE toolkits) | Sign-in (authentication, including MFA, federation) | Identity Store (MFA device and group management) |
Available as of January 13, 2025 | ||||
Exclusion of userName from the userIdentity element for authenticated users | Yes | Yes, limited to the CreateToken event | Yes | Yes, limited to MFA management in the AWS access portal |
Exclusion of principalId from the userIdentity element | Yes | Yes, limited to the CreateToken event | Yes | Yes, limited to MFA management in the AWS access portal |
Modified userIdentity ’s type value from Unknown to IdentityCenterUser | Yes | Yes, limited to the CreateToken event | Yes, limited to successful authentications | Yes, limited to MFA management in the AWS access portal |
Exclusion of the group displayName value from the requestParameters and responseElements elements | No | No | No | Yes, limited to administrative CreateGroup and UpdateGroup events |
Exclusion of the UserName (in the additionalEventData element) a user keys in on failed authentication attempts | No | No | Yes, limited to the CredentialChallenge event | No |
Available as of October 2024 | ||||
Addition of the onBehalfOf element with userId and identityStoreArn , and credentialId in the userIdentity element | Yes | Yes, limited to the CreateToken event | Yes, limited to successful authentications | Yes, limited to MFA management in the AWS access portal |
Addition of UserName in additionalEventData element | No | No | Yes, limited to CredentialChallenge and UserAuthentication events in specific cases | No |
The following table summarizes the relevant IAM Identity Center CloudTrail event groups, event sources, and event names.
Event group | Source | Event names |
AWS access portal | sso.amazonaws.com | Authenticate |
OIDC | sso.amazonaws.com | CreateToken |
Sign-in | signin.amazon.com | CredentialChallenge |
Identity Store | sso-directory.amazonaws.com oridentitystore.amazonaws.com | ListMfaDevicesForUser |
Conclusion
In this post, we reviewed several important upcoming and recently completed changes to CloudTrail events that IAM Identity Center emits. We recommend that you update your CloudTrail based workflows before January 13, 2025 if they rely on the userName
, principalId
, or type
fields in the CloudTrail user identity element when users sign in to IAM Identity Center, use the AWS access portal, access AWS accounts through the AWS CLI, or set a group’s displayName
field in group management administrative events. AWS has recently introduced the fields userId
, identityStoreArn
, and credentialId
in the CloudTrail user identity element to help you complete your updates.
Please contact your AWS account team or AWS support if you need additional assistance.
Author: Arthur Mnev