How CDR Selects a Principal
Introduction
When a new event is received by a CDR integration, part of the process determines which principal created the event. It is vital that principals are selected in a consistent way so that:
- Event history is populated correctly for a principal
- Exclusions are applied to the correct principal
This article explains how principals are selected from an inbound event.
Basis
The vast majority of events processed by a CDR integration come from AWS CloudTrail management events therefore this (opens in a new tab) AWS User Guide document was used to determine the principal for each event.
Pass-through detections for GuardDuty, Macie and Access Analyzer do not have a principal selection.
Selection Criteria
Based on the userIdentity.type
field of an event, the following fields are selected from userIdentity
to represent the principal:
- Root = Root
- IAMUser = userName
- AssumedRole = principalId
- Role = userName
- FederatedUser = sessionContext.sessionIssuer.userName
- Directory = userName
- AWSAccount = accountId
- AWSService = invokedBy
- IdentityCenterUser = onBehalfOf.userId
- Unknown = userName
- SAMLUser = userName
- WebIdentityUser = userName
In the case where no value is present for the selected field the principal will be set to Unknown
with the userIdentity.type
value appended