OneDrive sichern, selbst gehostet
Restow sichert das OneDrive jedes geschützten Benutzers eines Microsoft-365-Tenants über die Microsoft-Graph-API (OneDrive-Backup). Es läuft auf Ihrem eigenen Server und schreibt auf Speicher, den Sie wählen. Nach dem ersten vollständigen Lauf liest jeder Lauf nur, was sich geändert hat, Löschungen eingeschlossen, und ergibt einen Sicherungsstand, aus dem Sie eine Datei, einen Ordner, eine frühere Version oder ein ganzes OneDrive wiederherstellen. Ein Restore überschreibt nie eine vorhandene Datei. Das OneDrive-Backup gibt es seit 0.1.0 in jeder Edition, Community eingeschlossen. Es wurde gegen eine simulierte Microsoft Graph getestet, nicht gegen einen echten Microsoft-365-Tenant: Restow ist eine Beta.
Wie ein OneDrive gefunden und geschützt wird
Benutzer, Postfächer und OneDrives kommen automatisch über den Entra-ID-Verzeichnis-Sync herein. Der geschützte Umfang wird je Quelle gesteuert: alle, die Mitglieder einer Gruppe, alle außer einer Ausschlussliste oder nur die Objekte, die Sie auswählen. Jedes OneDrive ist ein eigenes geschütztes Objekt, benannt nach seiner Person, und läuft in den Mail-Jobs neben Postfächern und IMAP-Konten. Ein neu geschütztes Objekt bekommt sein erstes Backup sofort eingereiht. Ein OneDrive for Business gehört genau einem Benutzer.
Im Umfang „nur ausgewählte Objekte“ ist niemand geschützt, bis ein Administrator ihn einschließt. Ein neues Objekt eines Benutzers, der schon eingeschlossen ist, wird nicht von selbst eingeschlossen, zum Beispiel ein OneDrive, das Microsoft anlegt, wenn der Benutzer es zum ersten Mal öffnet.
Wie ein Backup läuft
Restow liest die Änderungen des Laufwerks mit der Delta-Abfrage von Microsoft Graph: Der erste Lauf liefert alles, spätere Läufe nur Änderungen, Löschungen eingeschlossen. Dateien werden über die kurzlebigen URLs geladen, die Graph herausgibt, und stückweise gestreamt, nie ganz im Speicher gehalten. Alles wird in Chunks zerlegt, innerhalb des Mandanten dedupliziert und verschlüsselt (AES-256-GCM, ein Schlüssel je Mandant), bevor es Ihren Speicher erreicht.
Microsoft drosselt die Graph-API, besonders beim ersten Backup eines großen
Tenants. Restow beachtet die Wartezeit, die Microsoft verlangt, fügt Jitter
hinzu und zeigt die Wartezeit, statt sie zu verstecken. Ein OneDrive zeigt „X
Elemente bisher“, bis es vollständig aufgelistet ist. Ein erstes Backup, das
Tage dauert, läuft nach einer Unterbrechung weiter: Wird es durch sein
Zeitlimit von 23 Stunden oder durch einen Neustart des Workers unterbrochen,
nachdem es einen Checkpoint gespeichert hat, läuft es weiter, ohne einen
seiner Wiederholungsversuche zu verbrauchen, bis zu 21 Tage nach seinem
ersten Start (seit 0.3.5), und eine Graph-Anfrage, die innerhalb von 5 Minuten
keine Antwort bekommt, wird wiederholt. Seit 0.4.7 steht ein Backup, das
Microsoft Graph oder der Speicher nach allen Wiederholungen noch bremst, gelb
als „Vom Dienst gedrosselt, wird wiederholt“ da statt rot als
„Fehlgeschlagen“: Es fällt aus den Fehlerzahlen heraus, löst keine Warnung
backup.failed und keinen Webhook job.failed aus, und
der nächste geplante Lauf versucht es erneut (ein Objekt, das länger gebremst
wird, fangen die Regeln für überfällige Sicherungen und die Bereitschaft
auf). Ein Hintergrund-Job beachtet außerdem ein Retry-After von bis zu 5
Minuten (vor 0.4.7 etwa eine Minute).
Elemente, die Microsoft unvollständig meldet, ohne Namen oder ohne ihren Ordner, erscheinen als Warnungen mit der Ursache „Microsoft hat das Element unvollständig gemeldet“; das passiert meist, während ein Element verschoben, umbenannt oder hochgeladen wird, und der nächste Lauf versucht es erneut. Ein Benutzer ohne ein OneDrive, das Restow erreichen kann, weil es keine Lizenz mit OneDrive gibt oder der Benutzer es nie geöffnet hat, wird mit „Dieser Benutzer hat kein OneDrive, das Restow erreichen kann“ gemeldet, mit dem, was zu tun ist.
Ein OneDrive, das Microsoft gesperrt hat, ist ein verwandter Fall, und eine
entzogene Lizenz ist meist der Grund für beide. Microsoft sperrt das OneDrive
eines Kontos ohne Lizenz nach einiger Zeit und beantwortet danach jede Anfrage
mit HTTP 423 („Access to this site has been blocked“). Seit 0.4.7 scheitert
ein solches OneDrive nicht mehr jede Nacht mit „Microsoft hat die Anfrage
abgelehnt“: Sobald eine einzige billige Leseanfrage die Sperre bestätigt,
steht dort „Nicht gesichert: gesperrt“, ein neutraler Zustand ohne
Wiederholungen, ohne Fehlerzählung, ohne Rot wegen des Alters, nicht
überfällig und ohne Warnung backup.failed, und der Planer plant
es nicht mehr ein. Vorhandene Sicherungen bleiben erhalten. Der
Verzeichnis-Sync nimmt das OneDrive erst wieder auf, wenn eine Leseanfrage auf
das Laufwerk wieder gelingt, und behält sonst die Sperre. Ein 423, den diese
Leseanfrage nicht bestätigt, bleibt ein gezählter Fehler, und ein 423 auf
einer einzelnen Datei bleibt ein Problem dieses Elements. Wie jedes Objekt,
das Restow nicht mehr sichert, steht ein gesperrtes OneDrive zuerst gelb als
„Nicht mehr gesichert, bitte bestätigen“, bis ein Administrator mit „Ja,
beabsichtigt“ bestätigt (die Bereitschaft bleibt bis dahin mindestens gelb);
ein bestätigtes steht grau als „Absichtlich nicht mehr gesichert“, und die
Sicherung läuft von selbst weiter, sobald die Sperre aufgehoben ist. Ein
Restore an den ursprünglichen Ort eines gesperrten OneDrives wird mit dem
Grund abgelehnt: Stellen Sie stattdessen in ein anderes Konto wieder her oder
laden Sie die Daten herunter.
Ein OneDrive, dessen Laufwerk Microsoft Graph nicht mehr findet (der Benutzer wurde gelöscht, oder die Aufbewahrungsfrist ist abgelaufen), wird mit der Ursache „Dieser Benutzer hat kein OneDrive, das Restow erreichen kann“ als dauerhafter Fehler gemeldet und nicht wiederholt, statt als fehlgeschlagenes Element (seit 0.4.7). Ein Element, das scheiterte und später im selben Lauf durchkam, weil es in einem Delta-Feed doppelt aufgeführt war oder wiederholt wurde, bleibt nicht mehr unter den Fehlern. Dateien, die ein Host komprimiert sendet, gelten nicht mehr als abgebrochene Downloads, und das Abbrechen eines Jobs während einer Drosselungs-Wartezeit verbucht keine Elemente mehr als fehlgeschlagen.
Wiederherstellung
Im Restore-Explorer (seit 0.4.2) ist jede Person ein Eintrag: Postfach, OneDrive und ein zugeordnetes IMAP-Konto zusammen, mit „OneDrive“ in der zweiten Spalte neben E-Mail, Kalender und Kontakten, jeweils mit den Sicherungsständen des eigenen Objekts. Das OneDrive eines gelöschten Kontos bleibt unter dem Namen seines Besitzers in der Liste, markiert als „Konto gelöscht“, mit jedem Sicherungsstand, den es je gemacht hat. Seit 0.4.4 kommen die Ordnerlisten eines großen OneDrives aus einem Index und öffnen sich in Millisekunden statt in Sekunden bis Minuten. Eine Suche deckt Namen und Pfade zum gewählten Zeitpunkt ab.
- Ursprünglicher Ort. Die Datei geht in das OneDrive zurück, aus dem sie stammt. Existiert eine Datei dieses Namens, stellt „Beide behalten“ (die Vorgabe) sie unter einem neuen Namen wieder her, und „Vorhandene überspringen“ stellt nur wieder her, was fehlt.
-
Anderes Konto. In das OneDrive eines anderen Benutzers
desselben Mandanten (der UPN des Benutzers oder die Laufwerks-ID; mit
:/Ordnerstellen Sie in einen Unterordner wieder her). Für Restore-Operatoren und Mandanten-Administratoren. - Als ZIP herunterladen. Dateien unverändert, mit einer Prüfsummenliste, über einen Link, der 24 Stunden gültig ist.
Ein Restore überschreibt nie eine Datei, die in einem OneDrive existiert. Große Dateien gehen in Upload-Sitzungen hoch, und Restow vergleicht Größe und Hash dessen, was es geschrieben hat, mit dem Backup; ein Element, dessen Bestätigung nicht passt, wird als „Nicht bestätigt“ angezeigt. Eine frühere Version, die OneDrive selbst aufgehoben hat, gibt es nur als Download. Ein Benutzer mit der Rolle „user“ stellt nur das eigene OneDrive wieder her. Stellt ein Administrator Daten eines anderen wieder her, fragt der Dialog nach einem Grund, und das Audit-Log hält den Restore als im Auftrag dieser Person ausgeführt fest.
Nachweislich wiederherstellbar, und auf Ransomware beobachtet
Eine Restore-Prüfung, im Backup-Job eingestellt (standardmäßig wöchentlich), liest eine zufällige Stichprobe des neuesten Sicherungsstands über den Restore-Pfad zurück, bei einem OneDrive bis zu 20 Dateien, und vergleicht Größe und Hash mit dem Manifest. Jedes OneDrive wird in der Wiederherstellbarkeit neben Postfächern und Rechnern bewertet; siehe die Seite zur Verifizierung.
Jeder neue Sicherungsstand wird auch auf Anzeichen von Ransomware beurteilt. Für ein OneDrive gibt es alle Signalfamilien: die Menge der Änderungen, Löschungen, umbenannte Endungen, Dateinamen und Entropie sowie Kompression und Deduplizierung. Einzelheiten auf der Seite zur Ransomware-Erkennung. Sind unveränderbare Backups für das Repository des Mandanten eingeschaltet, sind die Daten von OneDrives wie die von Mail gesperrt (siehe Speicher).
Was es braucht
- Eine Microsoft-365-Quelle. Sie verbindet sich auf einem von drei Wegen: über die Zustimmungseinladung der gemeinsamen Backup-App; über eine eigene Graph-App für diese Quelle (seit 0.2.2); oder, für den Tenant, in dem die Backup-App selbst liegt, über eine direkte Verbindung, die keinen Zustimmungslink braucht (nur Provider-Inhaber). Die Einzelheiten stehen auf der Übersichtsseite, unter Eine Microsoft-365-Quelle verbinden.
-
Die Berechtigung
Files.ReadWrite.All(OneDrive-Backup und -Restore über Upload-Sitzungen), neben den übrigen Anwendungsberechtigungen einer Microsoft-365-Quelle, mit der Zustimmung eines Administrators. Eine Berechtigung, die ein Administrator der App später erteilt, wirkt ohne neues Client-Secret: Seit 0.4.7 holt Restow, wenn Graph mit 401 oder 403 antwortet, einmal ein neues Token und sendet die Anfrage erneut, höchstens einmal je Minute und Mandant oder Quelle. -
Netz. Ausgehend HTTPS (443) vom Restow-Server zu
login.microsoftonline.com,graph.microsoft.comund den SharePoint-Hosts des Tenants, für OneDrive<Tenant>-my.sharepoint.com, wo Graph die kurzlebigen Download-URLs und die Upload-Sitzungen bereitstellt. - Eine Lizenz mit OneDrive für jeden Benutzer und ein OneDrive, das bereitgestellt wurde (der Benutzer öffnet es einmal). Wird die Lizenz entzogen, sperrt Microsoft das OneDrive nach einiger Zeit (siehe oben).
Benannte Grenzen, nicht versteckte
- Backup und Restore von OneDrive sind in den Release-Prüfungen noch nicht gegen einen echten Microsoft-365-Tenant gelaufen. Sie sind durch Tests gegen eine simulierte Graph-API abgedeckt, die Erkennung eines gesperrten OneDrives eingeschlossen. Eine Antwort von Microsoft, die Restow nicht als Sperre erkennt, bleibt ein gezählter Fehler. Restow ist eine Beta: Betreiben Sie es neben Ihrer bestehenden Sicherung und stellen Sie ein paar Dateien von Hand wieder her, bevor Sie sich darauf verlassen.
- Die Freigaben und Berechtigungen von OneDrive-Elementen werden als Information gesichert und nie wiederhergestellt.
- Ein Restore überschreibt nie eine vorhandene Datei, und eine frühere Version, die OneDrive aufgehoben hat, lässt sich nur herunterladen.
- Das erste Backup eines großen OneDrives oder Tenants kann wegen der Graph-Drosselung Tage dauern, und der Lauf zeigt die Wartezeit. Ein Backup, das Microsoft oder der Speicher nach allen Wiederholungen noch bremst, steht als „Vom Dienst gedrosselt, wird wiederholt“ da und wird beim nächsten geplanten Lauf erneut versucht.
- Quellen sind nur die OneDrives der Benutzer eines verbundenen Microsoft-365-Tenants. Ein OneDrive eines persönlichen Microsoft-Kontos ist keine.
Editionen
Backup und Restore von OneDrive gehören zum Community-Kern und sind daher in jeder Edition: Community, Business und Service Provider. Die Community Edition ist kostenlos und hat kein Postfachlimit. Was jede Edition hinzufügt, steht auf der Seite Preise.
Häufig gefragt
Sichert Restow OneDrive?
Ja, seit 0.1.0 und in jeder Edition. Es sichert das OneDrive jedes geschützten Benutzers eines Microsoft-365-Tenants über Microsoft Graph, inkrementell mit den Delta-Abfragen von Graph, auf Speicher Ihrer Wahl, und stellt eine Datei, einen Ordner oder ein ganzes OneDrive wieder her. Es wurde gegen eine simulierte Microsoft Graph getestet, nicht gegen einen echten Microsoft-365-Tenant, und Restow ist eine Beta.
Ist das Backup inkrementell, und wie lange dauert das erste?
Nach dem ersten vollständigen Lauf liest ein Lauf nur, was sich seit dem letzten geändert hat, Löschungen eingeschlossen. Das erste Backup eines großen OneDrives oder Tenants kann Tage dauern, weil Microsoft die Graph-API drosselt; Restow beachtet die Wartezeit, die Microsoft verlangt, und zeigt sie. Der Lauf zeigt „X Elemente bisher“, bis das OneDrive vollständig aufgelistet ist, denn Microsoft nennt die Elementzahl erst nach der vollständigen Auflistung. Ein Backup, das durch sein Zeitlimit von 23 Stunden oder durch einen Neustart des Workers unterbrochen wird, nachdem es einen Checkpoint gespeichert hat, läuft weiter, ohne einen Wiederholungsversuch zu verbrauchen, bis zu 21 Tage lang (seit 0.3.5). Seit 0.4.7 steht ein Backup, das Microsoft Graph oder der Speicher nach allen Wiederholungen noch bremst, als „Vom Dienst gedrosselt, wird wiederholt“ da (gelb, nicht als fehlgeschlagen gezählt) und wird beim nächsten geplanten Lauf erneut versucht.
Hebt Restow ältere Versionen einer Datei auf?
Jeder Backup-Lauf ergibt einen Sicherungsstand, und der Restore-Explorer zeigt, wie eine Datei an jedem davon aussah (unveränderter Inhalt über aufeinanderfolgende Sicherungsstände wird einmal angezeigt). Wo Restow die früheren Versionen erfasst hat, die OneDrive selbst aufhebt, stehen sie als „Frühere Versionen aus OneDrive“ da und lassen sich herunterladen; an Ort und Stelle wiederherstellen lassen sie sich nicht.
Kann ich eine aus OneDrive gelöschte Datei wiederherstellen?
Ja, aus einem Sicherungsstand vor der Löschung. Im Versionsverlauf ist eine gelöschte Datei ab dem Sicherungsstand, in dem Microsoft die Löschung gemeldet hat, als „Gelöscht“ markiert, und Sie stellen sie aus einem früheren wieder her. Wie lange Sicherungsstände aufbewahrt werden, legt die Aufbewahrung des Backup-Jobs fest.
Überschreibt ein Restore Dateien in OneDrive?
Nein. Restore ist auf nicht-destruktiv ausgelegt: Existiert eine Datei schon, stellt „Beide behalten“ (die Vorgabe) sie unter einem neuen Namen wieder her, und „Vorhandene überspringen“ lässt sie, wie sie ist, und stellt nur wieder her, was fehlt. Einen Modus, der eine vorhandene Datei in einem OneDrive überschreibt, gibt es nicht, und die API lehnt ihn ab.
Welche Berechtigungen und welchen Netzzugang braucht es?
Die Backup-App braucht die Microsoft-Graph-Anwendungsberechtigung Files.ReadWrite.All (OneDrive-Backup und -Restore über Upload-Sitzungen) neben den übrigen Berechtigungen einer Microsoft-365-Quelle und die Zustimmung eines Administrators. Der Restow-Server braucht ausgehend HTTPS (443) zu login.microsoftonline.com und graph.microsoft.com sowie zu den SharePoint-Hosts des Tenants, für OneDrive <Tenant>-my.sharepoint.com, wo Graph die kurzlebigen Download-URLs und die Upload-Sitzungen bereitstellt. Eine Berechtigung, die ein Administrator der App später erteilt, wirkt ohne neues Client-Secret (seit 0.4.7).
Können Benutzer ihre eigenen Dateien wiederherstellen?
Ja. Ein Mandantenmitglied mit der Rolle „user“ meldet sich an und sieht und stellt nur das eigene Postfach, OneDrive und IMAP-Konto wieder her, zugeordnet über die E-Mail-Adresse. Stellt ein Administrator das OneDrive eines anderen wieder her, gibt er einen Grund an, und das Audit-Log hält den Restore als im Auftrag dieser Person ausgeführt fest.
Was, wenn ein Benutzer kein OneDrive hat?
Restow meldet es mit der Ursache „Dieser Benutzer hat kein OneDrive, das Restow erreichen kann“: Der Benutzer hat keine Lizenz mit OneDrive, oder OneDrive wurde nie bereitgestellt, weil der Benutzer es nie geöffnet hat. Geben Sie dem Benutzer eine Lizenz und lassen Sie ihn OneDrive einmal öffnen, oder nehmen Sie das Laufwerk aus dem Schutz. Ein OneDrive, das Microsoft gesperrt hat, ist ein verwandter Fall, meist nach einer entzogenen Lizenz: Microsoft beantwortet dann jede Anfrage mit HTTP 423. Seit 0.4.7 bestätigt Restow die Sperre mit einer einzigen billigen Leseanfrage, zeigt „Nicht gesichert: gesperrt“ (neutral, ohne Wiederholungen, ohne Fehlerzählung, ohne Warnung backup.failed), plant das OneDrive nicht mehr ein und behält seine vorhandenen Sicherungen; der Verzeichnis-Sync nimmt es erst wieder auf, wenn eine Leseanfrage auf das Laufwerk wieder gelingt. Wie jedes Objekt, das Restow nicht mehr sichert, steht es zuerst gelb als „Nicht mehr gesichert, bitte bestätigen“, bis ein Administrator mit „Ja, beabsichtigt“ bestätigt. Die Erkennung gesperrter Objekte wurde gegen eine simulierte Graph-API getestet, nicht gegen einen echten Tenant.
Sichert es ein privates OneDrive eines persönlichen Microsoft-Kontos?
Dafür gibt es keine Quellenart. Restow verbindet Microsoft-365-Tenants, mit der Zustimmung eines Administrators, und sichert die OneDrives der Benutzer dieses Tenants; ein OneDrive eines persönlichen Microsoft-Kontos verbindet es nicht.
Gehört das OneDrive-Backup zur Community Edition?
Ja. Es gehört zum Community-Kern und ist daher in jeder Edition, und die Community Edition hat kein Postfachlimit. Restow ist eine Beta: Betreiben Sie es neben Ihrer bestehenden Sicherung, bis Sie selbst daraus wiederhergestellt haben.
Dokumentation
Die Dokumentation hat die Einzelheiten: Quellen verbinden, Backup und Restore, die Entra-Anleitung mit jeder Berechtigung unter Erste Schritte und die Ziele, die der Server erreichen muss, unter Netzwerk und Ports.