Das Problem
Im Rahmen des Betriebs ist die Datensicherung ein wichtiger Aspekt. In den meisten Fällen werden die im Azure AD gespeicherten Bitlocker Wiederherstellungs Schlüssel nicht durch eine Datensicherung erfasst. Neben diesem Grund kann es außerdem erforderlich sein die Schlüssel in der Vorbereitung auf die Migration in einen neuen M365 Tenant zu sichern.
Der Lösungsweg
Das Abrufen der Widerherstellungsschlüssel ist über das Microsoft Graph API möglich. Der einfachste Weg zur Verwendung des Graph API ist das Powershell SDK für die Graph API. Bei der Verbindung ist es wichtig die korrekten Scopes zu verwenden, damit das bei der Anmeldung erzeugte Token auch die richtigen Berechtigungen enthält. Benötigt wird speziell der Scope BitlockerKey.Read.All um die Recovery Keys abrufen zu können.
|
|
Dem für die Anmeldung verwendete Nutzerkonto muss eine der folgenden Rollen zugewiesen sein. Ist keine dieser Rollen zugewiesen kann der angemeldete Nutzer nur die Schlüssel seiner eigenen Geräte abrufen.
- Cloud device administrator
- Helpdesk administrator
- Intune service administrator
- Security administrator
- Security reader
- Global reader
Die Liste aller Bitlocker Schlüssel kann mit dem folgenden Kommando abgerufen werden:
|
|
Allerdings sind die eingentlichen Schlüssel in dem Ergebnis der Liste nicht enthalten:
|
|
Das Abrufen aller Bitlocker Recovery Keys ist mit einem Kommando also nicht möglich, da dieser keine Werte für den eigentlichen Schlüssel zurückliefert. Der Abruf eines einzelnen Schlüssels mit ist jedoch ohne Probleme möglich.
|
|
Ein möglicher Ansatz das Problem zu umgehen ist, das Abrufen aller Schlüssel in einer Schleife durchzuführen und die Ergebnisse anschließend in einer Datei zur späteren Verwendung zu speichern. Dieser Vorgang kann für ca. 2.000 Schlüssel in etwa 15 Minuten dauern.
Das Skript
Das nachfolgende Skript ruft alle vorhandenen Bitlocker Keys ab und speichert diese anschließend in einer JSON-Datei. Hier ist darauf zu achten diese Datei sehr sorgsam zu behandeln, da alle Keys darin enthalten sind!
|
|
Quellen und nützliche Links
Erforderliche API permissions: https://learn.microsoft.com/en-us/graph/api/bitlockerrecoverykey-get?view=graph-rest-1.0&tabs=http#permissions Powershell Command - Get-MgInformationProtectionBitlockerRecoveryKey: https://learn.microsoft.com/en-us/powershell/module/microsoft.graph.identity.signins/get-mginformationprotectionbitlockerrecoverykey?view=graph-powershell-1.0