Skip to content

BitLocker Key & LAPS Password Retrieval Audit (30 days)

The question it answers: Who read BitLocker recovery keys or LAPS passwords in the last 30 days, and were there unusual bursts or night-time reads?

BitLocker recovery keys and LAPS passwords unlock devices. Help-desk staff read them for good reasons, one or two at a time. Dozens in a day, or reads at night, point to an insider or a compromised admin account collecting them.

Where in the appEntra ID › Sign-in & Audit Investigations › BitLocker & LAPS Retrievals
WorkloadEntra ID
KindFindings list · dashboard tile
DataRead from Microsoft 365 when someone first opens it, then kept for the report cache lifetime (Settings > Data & cache, 1 hour unless changed).
LicenceNo extra licence needed.
Report id (API and MCP)entra.investigations.recovery-secret-reads
ColumnKeyType
SeveritySeverityStatus
SecretCategoryText
Read bySubjectLink
CheckSettingText
DevicesValueText
FindingFindingText
TimingDetailText
Last readWhenDate
ReadsNumberNumber

A findings list hides columns that no row fills. Severity is Critical, Serious, Warning, OK or Info; rows rated Critical, Serious or Warning need attention (Working with findings).

Licence: No extra licence needed.

Application permissions on the IntensiveReports app registration (all permissions):

PermissionAPIWhat it allowsNote
AuditLog.Read.AllMicrosoft GraphRead all audit log data
Data sources it reads
  • GET /v1.0/auditLogs/directoryAudits?$filter=activityDisplayName eq 'Read BitLocker key'
  • ... activityDisplayName eq 'Recover device local administrator password'
GET /ir-api/v1/reports/entra.investigations.recovery-secret-reads?size=100

An AI assistant reads it with the MCP tool get_report and the id entra.investigations.recovery-secret-reads. The client needs the Read grant for Entra ID. See Using the API.