SharePoint-Online-Backup, selbst gehostet
Restow sichert die SharePoint-Online-Websites eines Microsoft-365-Tenants, mit ihren Dokumentbibliotheken und Listen, über die Microsoft-Graph-API. Es läuft auf Ihrem eigenen Server und schreibt auf Speicher, den Sie wählen, und Sie durchsuchen und stellen eine Website im selben Restore-Explorer wieder her wie ein Postfach oder ein OneDrive. Es ist seit 0.4.0 verfügbar, in jeder Edition, Community eingeschlossen. Es braucht eine zusätzliche Anwendungsberechtigung und in jedem Tenant, der vorher verbunden war, eine neue Administratorzustimmung, und es wurde gegen eine simulierte Microsoft Graph getestet, nicht gegen einen echten Tenant: Restow ist eine Beta.
Wie eine Website gefunden und geschützt wird
Jeder Verzeichnis-Sync listet die Websites des Tenants auf. Die Websites von Microsoft-365-Gruppen und von Teams sind dabei; persönliche Websites bleiben außen vor, weil sie die OneDrives sind, die über ihren Besitzer geschützt werden. Jede Website wird ein eigenes geschütztes Objekt der Art „SharePoint-Website“ und läuft in den Mail-Jobs wie ein Postfach oder ein OneDrive. Ein Job, der alles umfasst, was in keinem anderen Job ist, deckt damit auch jede Website ab. Eine neu geschützte Website bekommt sofort ihr erstes Backup.
Die Schutzregeln einer Quelle haben einen eigenen Schalter, „Alle SharePoint-Websites schützen“. Eingeschaltet (die Vorgabe), wird jede Website des Tenants gesichert, und einzelne Websites schließen Sie in der Liste der geschützten Objekte aus; ausgeschaltet, wird keine Website gesichert, die Sie nicht einschließen. Gruppenumfang, Ausschlussliste und der Schalter für geteilte Postfächer gelten nicht für Websites. Das Umstellen des Modus löscht nie ein Backup: Eine Website, die den Umfang verlässt, wird nicht mehr gesichert und behält ihre Sicherungsstände. Eine Website, die Microsoft nicht mehr auflistet, wird als in der Quelle entfernt gekennzeichnet, und ihre Sicherungsstände bleiben.
Eine Website, die Microsoft gesperrt hat (ein Administrator hat sie gesperrt,
oder sie gehört zu einem Konto ohne Lizenz, und sie antwortet mit HTTP 423
auf Website-Ebene oder in jeder Bibliothek), endet seit 0.4.7 ohne
Sicherungsstand, statt alte Kopien zu übernehmen. Sobald eine einzige billige
Leseanfrage die Sperre bestätigt, steht die Website als „Nicht gesichert:
gesperrt“ da, ein neutraler Zustand ohne Wiederholungen, ohne Fehlerzählung
und ohne Warnung backup.failed, und der Planer plant sie nicht
mehr ein; ihre Sicherungsstände bleiben. Wie jedes Objekt, das Restow nicht
mehr sichert, steht sie zuerst gelb als „Nicht mehr gesichert, bitte
bestätigen“, bis ein Administrator mit „Ja, beabsichtigt“ bestätigt (die
Bereitschaft bleibt bis dahin mindestens gelb). Der Verzeichnis-Sync
reaktiviert eine weiterhin aufgelistete Website erst, wenn eine Leseanfrage
auf die Website gelingt; eine Website, die nicht mehr aufgelistet wird, wird
stattdessen als in der Quelle entfernt gekennzeichnet, mit dem Grund „Nicht
mehr in der Quelle“, nicht als gesperrt. Ein Restore an den ursprünglichen Ort
einer gesperrten Website wird mit dem Grund abgelehnt.
Was ein Backup einer Website enthält
Jeder Lauf einer Website erzeugt einen Sicherungsstand:
| Teil der Website | Was gesichert wird |
|---|---|
| Dokumentbibliotheken | Jede Dokumentbibliothek, auch die der Seiten der Website und die für ihre Objekte. Dateien mit ihren Ordnern, gesichert mit derselben Engine wie bei OneDrive: die Delta-Abfrage von Microsoft je Bibliothek (spätere Läufe lesen nur, was sich geändert hat), optionale ältere Versionen und Checkpoints, sodass ein langer Lauf dort weitermacht, wo er stehen blieb. |
| Listen | Jede sichtbare Liste mit ihren Spalten. Versteckte Systemlisten und Bibliotheken, die als Listen erscheinen, werden übergangen. |
| Listenelemente | Die Feldwerte jedes Elements als JSON, mit Inhaltstyp, Autor und Daten. |
| Die Website selbst | Titel, Adresse und Beschreibung. |
Listen haben keine Delta-Abfrage, ein Lauf liest also jede Liste vollständig;
ein unverändertes Element übernimmt seine gespeicherten Bytes, und der
Speicher wächst damit nicht. Eine Bibliothek oder Liste, die Microsoft Graph
verweigert (403, 404 oder 423, und seit 0.4.7 auch 400, 501 oder ein
anhaltendes 500 für eine Listenvorlage oder die Berechtigungen einer
Bibliothek), wird als fehlgeschlagenes Element gemeldet und behält ihre letzte
Kopie, und der Rest der Website bekommt seinen Sicherungsstand; der Lauf
endet „mit Warnungen“. Ein 500 oder 502 für den Inhalt einer Bibliothek lässt
den Job weiterhin scheitern, der von seinem Checkpoint aus weiterläuft, und
eine fortgesetzte Website zählt die Elementfehler der Bibliotheken, die ein
früherer Versuch beendet hat. Eine Bibliothek, die es nicht mehr gibt, steht
nicht mehr als „Dieser Benutzer hat kein OneDrive, das Restow erreichen kann“
da. Eine Website, die in Microsoft 365
gelöscht wurde, schlägt mit der Meldung „Diese SharePoint-Website gibt es
nicht mehr“ fehl; ihre früheren Sicherungsstände bleiben wiederherstellbar.
Microsoft drosselt SharePoint wie OneDrive, und Restow nutzt denselben
Client, dieselben Wartezeiten, dieselbe Backup-Warteschlange und dieselbe
Parallelität je Tenant: Das erste Backup einer großen Website kann lange
dauern, und Restow zeigt die Wartezeit, statt sie zu verstecken. 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 Hintergrund-Job beachtet außerdem ein Retry-After von bis zu 5
Minuten (vor 0.4.7 etwa eine Minute).
Seit 0.4.7 nennt die Job-Seite die Phasen einer Website-Sicherung („Liest die Website“, „Listen“) und der Suche nach Websites („Sucht Websites“) und nach Gruppenpostfächern („Sucht Gruppenpostfächer“).
Die zusätzliche Berechtigung und eine neue Administratorzustimmung
SharePoint braucht eine Anwendungsberechtigung, die Mail und OneDrive nicht
brauchen: Sites.ReadWrite.All (Microsoft Graph,
Anwendungsberechtigung). Sie ist optional, ein Tenant, der vor 0.4.0
zugestimmt hat, gilt also weiterhin als vollständig, und Mail und OneDrive
sind nicht betroffen.
| Erteilte Berechtigung | Websites gefunden und gesichert | Restore in eine Website |
|---|---|---|
Sites.ReadWrite.All |
Ja | Ja |
Nur Sites.Read.All |
Ja | Nein (ein Download als ZIP funktioniert weiterhin) |
| Keine von beiden | Nein | Nein |
- Der Betreiber trägt die Berechtigung in die App-Registrierung der Sicherung ein (Microsoft Graph, Anwendungsberechtigungen) und erteilt im eigenen Tenant die Zustimmung.
- Der Administrator jedes Kunden stimmt erneut zu. Eine hinzugefügte Berechtigung gilt in einem Kunden-Tenant erst nach einer neuen Administratorzustimmung: an der Microsoft-365-Quelle „Neuen Link zur Administratorzustimmung erzeugen“, eine Stunde gültig. Eine Quelle, die über die eigene Graph-App des Kunden verbunden ist, hat keinen Zustimmungslink: Tragen Sie die Berechtigung in dieser App ein, erteilen Sie dort die Zustimmung und führen Sie an der Quelle „Berechtigungen prüfen“ aus.
-
Der nächste Verzeichnis-Sync findet die Websites. Solange
die Berechtigung fehlt, zeigt die Quelle „SharePoint-Websites werden nicht
gesichert“ (bei nur
Sites.Read.All: „SharePoint-Websites werden gesichert, aber nicht wiederhergestellt“), und der Verzeichnis-Sync warnt, dass Websites weder gefunden noch gesichert werden. Bereits bekannte Websites bleiben unverändert.
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.
Wiederherstellung
Öffnen Sie den Restore-Explorer und wählen Sie eine Website im Abschnitt „SharePoint und Teams“, dann einen Sicherungsstand. Eine Website hat zwei Bereiche: „Bibliotheken“ (Ordner und Dateien, mit den älteren Versionen, wo Restow sie erfasst hat) und „Listen“ (Listenelemente). Websites sehen nur Restore-Operatoren und Mandanten-Administratoren; Endnutzer sehen sie nie.
-
Download als ZIP geht für jede Auswahl: Dateien, Ordner und
Listenelemente als JSON-Dateien, zusammen mit
site.json, der Beschreibung der Website, ihrer Bibliotheken und ihrer Listen. -
Dateien und Ordner gehen zurück in ihre ursprüngliche
Bibliothek, an den Pfad, den sie hatten, oder in eine andere Bibliothek einer
gesicherten Website derselben Microsoft-365-Quelle (mit
:/Ordnerstellen Sie in einen Unterordner wieder her). Restow lädt große Dateien in Sitzungen hoch und vergleicht Größe und Hash dessen, was es geschrieben hat, mit dem Backup. - Listenelemente gehen nur in ihre ursprüngliche Liste zurück, als neue Elemente, und nur die beschreibbaren Felder: System-, schreibgeschützte, versteckte und berechnete Spalten bleiben weg, und SharePoint setzt Erstellt- und Geändert-Datum und die Autoren eines neuen Elements selbst.
Der Restore-Dialog fragt, was geschehen soll, „Wenn ein Element bereits existiert“: „Beide behalten“ (die Vorgabe: Eine vorhandene Datei wird unter einem neuen Namen wiederhergestellt, Listenelemente werden als neue Elemente hinzugefügt), „Überschreiben“ (eine vorhandene Datei wird überschrieben, und SharePoint behält die ersetzte Datei als frühere Version; ein noch vorhandenes Listenelement erhält seine gesicherten Werte zurück) oder „Vorhandene überspringen“. „Überschreiben“ gibt es nur für SharePoint-Websites: Restores in Postfächer und OneDrives überschreiben nie. Eine Website gehört keiner Person, ihr Restore ist also keine Admin-Wiederherstellung im Auftrag eines anderen und braucht keinen Grund, wird aber wie jeder Restore im Audit-Log festgehalten.
Nachweislich wiederherstellbar, und auf Ransomware beobachtet
Eine Restore-Prüfung, im Backup-Job eingestellt (standardmäßig wöchentlich), liest bis zu 20 Stichprobendateien aus den Bibliotheken einer Website zurück und vergleicht sie mit dem, was gesichert wurde, dieselbe Prüfung wie bei einem OneDrive. Listenelemente gehören nicht zur Stichprobe. Das Ergebnis fließt in die Wiederherstellbarkeit neben Postfächern und Rechnern ein; siehe die Seite zur Verifizierung.
Jeder neue Sicherungsstand wird auch auf Anzeichen von Ransomware beurteilt. Bei einer Website stützt sich das auf die Menge der Änderungen sowie auf Kompression und Deduplizierung; Löschungen, umbenannte Endungen, Namen und Entropie gibt es für eine Website nicht, und ein Signal ohne Daten heißt „nicht verfügbar“, nie „unauffällig“. Einzelheiten auf der Seite zur Ransomware-Erkennung. Schalten Sie unveränderbare Backups für das Repository des Mandanten ein, sind die Daten von Websites wie die von Mail und OneDrive gesperrt (siehe Speicher).
Es gibt keine neuen Alarm-Ereignisse: Fehlgeschlagene, erfolgreiche und überfällige Backups werden für Websites wie für Postfächer gemeldet, mit der Website als Objekt. Im Status stehen Websites neben Postfächern und OneDrives, zählen aber nicht als geschütztes Postfach.
Was nicht gesichert wird
- Chats und Kanalnachrichten von Microsoft Teams. Die Dateien eines Kanals liegen in der Bibliothek der Teams-Website und werden mit ihr gesichert.
- Anhänge von Listenelementen: Microsoft Graph v1.0 hat dafür keine Schnittstelle.
- Website-Design und Designs, Navigation, Webparts außerhalb der Bibliothek der Seiten, die Websitevorlage und der Inhaltstypen-Hub: nicht gesichert oder nur als Information.
- Berechtigungen: Die Freigaben von Bibliotheken und Elementen werden als Information gesichert und nie wiederhergestellt; Websitegruppen und Mitgliedschaften werden nicht gesichert.
- Workflows (SharePoint 2010 und 2013), Power Automate und Power Apps.
- SharePoint Server on-premises.
Benannte Grenzen, nicht versteckte
- Backup und Restore von SharePoint wurden gegen eine simulierte Microsoft-Graph-API getestet, nicht gegen einen echten Microsoft-365-Tenant, und das gilt auch für die Erkennung einer gesperrten Website: 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 und Listenelemente von Hand wieder her, bevor Sie sich darauf verlassen.
- Eine gelöschte Website oder Bibliothek wird nicht neu angelegt. Listenelemente gehen nur in ihre ursprüngliche Liste zurück, und ein von Hand erneut gestarteter Restore in „Beide behalten“ legt sie erneut an; die Wiederholung eines unterbrochenen Restores tut das nicht (seit 0.4.7).
- Die Restore-Prüfung nimmt Stichproben aus den Bibliotheken; Listenelemente werden nicht geprüft.
- Das erste Backup einer großen Website kann lange dauern, weil Microsoft SharePoint drosselt. Ein Backup, das nach allen Wiederholungen gebremst bleibt, steht als „Vom Dienst gedrosselt, wird wiederholt“ da und wird beim nächsten geplanten Lauf erneut versucht.
- Teams-Chats und Kanalnachrichten sind nicht abgedeckt; ebenso wenig die Anhänge von Listenelementen, das Design einer Website oder ihre Berechtigungen (siehe oben).
Editionen
Backup und Restore von SharePoint Online 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 SharePoint Online?
Ja, seit 0.4.0, in jeder Edition. Über Microsoft Graph sichert es die Dokumentbibliotheken jeder Website, jede sichtbare Liste mit ihren Spalten und die Feldwerte jedes Listenelements, und es stellt Dateien, Ordner und Listenelemente im Restore-Explorer wieder her. Es wurde gegen eine simulierte Microsoft Graph getestet, nicht gegen einen echten Microsoft-365-Tenant, und Restow ist eine Beta.
Welche Berechtigung braucht es, und muss jeder Kunde erneut zustimmen?
Die Backup-App braucht die Microsoft-Graph-Anwendungsberechtigung Sites.ReadWrite.All. Sites.Read.All genügt, um Websites zu finden und zu sichern, nicht aber, um in sie wiederherzustellen (ein Download als ZIP funktioniert weiterhin). Ein Tenant, der vor 0.4.0 verbunden wurde, muss erneut zustimmen: Der Betreiber trägt die Berechtigung in die App-Registrierung ein, danach öffnet der Administrator des Kunden den Zustimmungslink der Quelle erneut („Neuen Link zur Administratorzustimmung erzeugen“). Eine Quelle, die über die eigene Graph-App des Kunden läuft, hat keinen Zustimmungslink: Tragen Sie die Berechtigung in dieser App ein, erteilen Sie dort die Zustimmung und führen Sie „Berechtigungen prüfen“ aus. Bis dahin laufen Mail und OneDrive weiter, und der Verzeichnis-Sync warnt, dass Websites weder gefunden noch gesichert werden. Eine Berechtigung, die ein Administrator der App später erteilt, wirkt ohne neues Client-Secret (seit 0.4.7).
Sichert es die Websites von Microsoft-365-Gruppen und Teams?
Ja. Websites von Gruppen und Teams werden wie jede andere Website gefunden, und die Dateien eines Teams liegen in der Dokumentbibliothek seiner Website. Persönliche Websites bleiben außen vor, weil sie OneDrives sind, die über ihren Besitzer geschützt werden. Teams-Chats und Kanalnachrichten werden nicht gesichert. Seit 0.4.5 lassen sich auf Wunsch auch Kalender und Unterhaltungen der Microsoft-365-Gruppe hinter einem Team sichern.
Werden Anhänge von Listenelementen, Berechtigungen und das Website-Design gesichert?
Nein. Anhänge von Listenelementen werden nicht gesichert, weil Microsoft Graph v1.0 dafür keine Schnittstelle bietet. Website-Design und Designs, Navigation, Webparts außerhalb der Seitenbibliothek, die Websitevorlage und der Inhaltstypen-Hub werden nicht oder nur als Information festgehalten. Freigaben und Berechtigungen werden als Information gesichert und nie wiederhergestellt; Websitegruppen und Mitgliedschaften werden gar nicht gesichert. Workflows (SharePoint 2010 und 2013), Power Automate und Power Apps werden ebenfalls nicht gesichert.
Wie stelle ich eine einzelne Datei oder ein Listenelement wieder her?
Wählen Sie im Restore-Explorer die Website im Abschnitt „SharePoint und Teams“, einen Sicherungsstand und dann „Bibliotheken“ oder „Listen“. Dateien und Ordner gehen zurück in ihre ursprüngliche Bibliothek oder in eine andere Bibliothek einer gesicherten Website derselben Quelle; Listenelemente gehen als neue Elemente in ihre ursprüngliche Liste zurück. Existiert ein Element schon, wählen Sie „Beide behalten“ (die Vorgabe), „Überschreiben“ (SharePoint behält die ersetzte Datei als frühere Version) oder „Vorhandene überspringen“. Jede Auswahl lässt sich auch als ZIP herunterladen.
Kann Restow eine gelöschte Website oder Bibliothek neu anlegen?
Nein. Eine gelöschte Website oder Bibliothek wird nicht neu angelegt; Sie stellen in eine vorhandene Bibliothek wieder her. Listenelemente gehen nur in ihre ursprüngliche Liste zurück, und ein von Hand erneut gestarteter Restore im Modus „Beide behalten“ legt die Elemente erneut an, die Wiederholung eines unterbrochenen Restores dagegen nicht (seit 0.4.7). Die Sicherungsstände einer Website, die in Microsoft 365 gelöscht wurde, bleiben wiederherstellbar.
Was passiert, wenn eine Bibliothek oder Liste nicht gelesen werden kann?
Microsoft Graph kann eine Bibliothek oder eine Liste verweigern (403, 404 oder 423, und seit 0.4.7 auch 400, 501 oder ein anhaltendes 500 für eine Listenvorlage oder die Berechtigungen einer Bibliothek). Restow meldet das als fehlgeschlagenes Element und behält ihre letzte Kopie; der Rest der Website wird gesichert, und der Lauf endet mit Warnungen, die erklären, was passiert ist und was zu tun ist. Ein 500 oder 502 für den Inhalt einer Bibliothek lässt den Job weiterhin scheitern, der von seinem Checkpoint aus weiterläuft. Hat Microsoft die ganze Website gesperrt (423 auf Website-Ebene oder in jeder Bibliothek), endet der Lauf stattdessen ohne Sicherungsstand, und sobald eine einzige Leseanfrage die Sperre bestätigt, steht die Website als „Nicht gesichert: gesperrt“ da (neutral, ohne Wiederholungen, ohne Fehlerzählung), bis der Verzeichnis-Sync sie wieder lesbar findet. Die Erkennung einer Sperre wurde gegen eine simulierte Graph-API getestet, nicht gegen einen echten Tenant.
Funktioniert es mit SharePoint Server on-premises?
Nein. Unterstützt wird nur SharePoint Online über Microsoft Graph.
Gehört das SharePoint-Backup zur Community Edition?
Ja. Es gehört zum Community-Kern und ist daher in jeder Edition; die Websites zählen nicht als geschützte Postfächer. Restow ist eine Beta: Betreiben Sie es neben Ihrer bestehenden Sicherung, bis Sie selbst daraus wiederhergestellt haben.
Dokumentation
Die Dokumentation hat die Einzelheiten: SharePoint Online (was gesichert wird, die zusätzliche Berechtigung, Restore, Fehler), Quellen verbinden und die Entra-Anleitung mit jeder Berechtigung unter Erste Schritte.