You can use Kusto Query Language (KQL) to query Azure logs beyond the default 30-day retention limit when logs are sent to a Log Analytics Workspace.
Below are commonly used KQL examples for Azure AD, Entra ID, Teams, and user auditing.
AuditLogs
| where Category == "GroupManagement" and OperationName == "Add group" //and InitiatedBy.user.userPrincipalName == ""
| project TimeGenerated, OperationName, TargetResources[0].displayName, TargetResources[0].UserPrincipalName, InitiatedBy.user.userPrincipalName
AuditLogs
| where OperationName == "Add member to group" and TargetResources contains "[email protected]"
| extend UTC_Time = TimeGenerated
| extend CST_Time = datetime_add('hour', -6, UTC_Time)
| project CST_Time, OperationName, Username = TargetResources[0].userPrincipalName, GroupName = TargetResources[0].modifiedProperties[1].newValue
AuditLogs
| where ActivityDisplayName == "Update application"
| where AdditionalDetails contains "38993b0e-fc90-4d54-9b3a-8068892423ac" //Entra application id
| project TimeGenerated, OperationName, ResultType, UserPrincipalName, IPAddress
SigninLogs
| where UserPrincipalName == "[email protected]"
| project TimeGenerated, UserPrincipalName, AppDisplayName, Location
AuditLogs
| where OperationName == "Delete user"
| project TimeGenerated, ActivityDateTime, OperationName, TargetResources[0].userPrincipalName, InitiatedBy.user.userPrincipalName