Erste Schritte
Nach Abschluss des Einrichtungsassistenten sind das die Schritte zwischen einer leeren Installation und einer nachweislich wiederherstellbaren Sicherung.
1. Mandanten anlegen oder auswählen
Abschnitt betitelt „1. Mandanten anlegen oder auswählen“Ein Mandant ist ein Kunde oder eine Organisation: Er erhält einen eigenen Verschlüsselungsschlüssel, und seine Daten (Quellen, Sicherungen, Nutzer) sind durch PostgreSQL Row Level Security von jedem anderen Mandanten isoliert. Community- und Business-Edition verwalten einen Mandanten (die Verwaltung mehrerer Mandanten gehört zu Service Provider); Service Provider verwaltet beliebig viele, für Ihre eigenen Kunden (siehe Lizenz und Editionen). Legen Sie den ersten unter Mandanten → Mandanten verwalten → Neuer Mandant an (ein Name und ein Slug, der in Exporten und Integrationen verwendet wird, einmal gesetzt fest; in einer frischen Installation verlinkt die Übersicht dorthin mit Zu den Mandanten), oder wechseln Sie mit dem Mandanten-Umschalter in der oberen Leiste in ihn hinein. Der größte Teil des restlichen Restow bezieht sich auf den dort jeweils aktiven Mandanten. Die Seiten, die den Mandanten einrichten (Schutz, Quellen, Zeitpläne, Aufbewahrung, Importe), sind Reiter eines Einrichtungsbereichs: Mandanten-Einstellungen in Community und Business; ein Service Provider öffnet ihn für einen Mandanten mit Mandantenseite öffnen im Mandanten-Umschalter oder im Zeilenmenü von Alle Mandanten.
2. Microsoft 365 verbinden
Abschnitt betitelt „2. Microsoft 365 verbinden“Restow spricht mit Microsoft 365 ausschließlich über die Microsoft-Graph-API. Restow hat Exchange Web Services (EWS) nie benutzt; Microsoft schaltet EWS für Exchange Online seit dem 1. Oktober 2026 schrittweise ab, endgültig am 1. April 2027. PowerShell-Remoting nutzt Restow ebenfalls nicht. Das Verbinden eines Mandanten hat zwei Teile: die Backup-App-Registrierung, einmal je Restow-Installation erledigt (von Ihnen, dem Betreiber), und den Admin-Consent, einmal je Kunden-Mandant erledigt.
2a. Die Backup-App in Entra registrieren (einmalig, als Betreiber)
Abschnitt betitelt „2a. Die Backup-App in Entra registrieren (einmalig, als Betreiber)“Im Entra Admin Center (oder im Azure-Portal), unter Identität → Anwendungen → App-Registrierungen → Neue Registrierung:
- Name: etwas Erkennbares, z. B.
Restow; Kunden sehen ihn auf dem Consent-Bildschirm. - Unterstützte Kontotypen: Wählen Sie die Option, die mit „Konten in einem beliebigen Organisationsverzeichnis“ beginnt (die mehrmandantenfähige Variante). Das ist nötig, damit Kunden-Mandanten außerhalb Ihres eigenen den Consent erteilen können. Wählen Sie nicht „Nur Konten in diesem Organisationsverzeichnis“.
- Redirect-URI: für die Client-Credentials-Aufrufe selbst nicht nötig, aber für den Rückweg des Admin-Consents erforderlich (Schritt 2c). Typ Web; der genaue Wert ergibt sich aus Ihrer
RESTOW_PUBLIC_URL:<RESTOW_PUBLIC_URL>/api/v1/sources/m365/consent/callback. - Registrieren, dann die Anwendungs-ID (Client-ID) notieren. Sie kommt in
ENTRA_CLIENT_ID.
Fügen Sie unter API-Berechtigungen → Berechtigung hinzufügen → Microsoft Graph → Anwendungsberechtigungen genau diese hinzu (alle brauchen Admin-Consent):
| Berechtigung | Wofür | Erforderlich |
|---|---|---|
Mail.ReadWrite |
Mail sichern und wiederherstellen. Nur-Lesen reicht nicht, Restore schreibt. | Ja |
MailboxSettings.Read |
Zeitzone / Regionaleinstellungen. | Ja |
Calendars.ReadWrite |
Kalender sichern und wiederherstellen, auch die Kalender von Microsoft-365-Gruppen (seit 0.4.5). | Ja |
Contacts.ReadWrite |
Kontakte sichern und wiederherstellen. | Ja |
Files.ReadWrite.All |
OneDrive sichern und wiederherstellen (Upload-Sessions). | Ja |
User.Read.All |
Verzeichnis-Sync, Postfachliste, Schutzregeln. | Ja |
Group.Read.All |
Auflösen einer gruppenbasierten Schutzregel; seit 0.4.5 auch Microsoft-365-Gruppen finden und ihre Unterhaltungen sichern (keine neue Berechtigung). | Ja |
Directory.Read.All |
Verzeichnis-Sync, gelöschte Nutzer, Rollenprüfungen. | Ja |
Organization.Read.All |
Mandantenname und Lizenzinfo (nur Anzeige). | Ja |
Sites.ReadWrite.All |
SharePoint Online (seit 0.4.0): Websites finden, sichern und wiederherstellen. Sites.Read.All genügt zum Sichern, nicht zum Wiederherstellen. |
Nur für SharePoint |
Mail.Send |
Nur wenn die Benachrichtigungs-Mail den Microsoft-Graph-Transport nutzt (Einrichtungsassistent oder Einstellungen). | Nur bei Nutzung |
Der klassische Fehler ist, Mail.Read statt Mail.ReadWrite zu erteilen: Die Sicherung läuft einwandfrei, dann scheitert jeder Restore mit einem 403. Restows Berechtigungsprüfung (Schritt 2d) erkennt und benennt genau das.
SharePoint ist optional. Ohne Sites.ReadWrite.All sichert Restow Mail und OneDrive wie bisher, findet und sichert aber keine SharePoint-Websites; der Verzeichnisabgleich warnt davor (sites_unavailable), und die Berechtigungs-Checkliste zeigt einen Hinweis. Mit nur Sites.Read.All werden Websites gesichert, aber ein Restore in eine Website scheitert (ein Download als ZIP funktioniert weiter). Fügen Sie die Berechtigung hinzu, bevor der Kunde zustimmt, dann deckt ein Consent alles ab. Wie SharePoint gesichert und wiederhergestellt wird, steht unter SharePoint Online; im Produkt-Repository gibt es eine ausführlichere Einrichtungsanleitung, ENTRA-SETUP.md.
Fügen Sie außerdem die delegierten Microsoft-Graph-Berechtigungen openid und profile hinzu (unter Delegierte Berechtigungen). Diese geben Restow keinerlei Datenzugriff; sie lassen nur die bestätigende Anmeldung der Administration in Schritt 2c abschließen, ohne einen zweiten Consent-Dialog.
Fügen Sie dann unter Zertifikate & Geheimnisse Zugangsdaten hinzu, und zwar ein Zertifikat (bevorzugt; laden Sie das öffentliche Zertifikat hoch, halten Sie den privaten Schlüssel vom Repository fern, Pfad in ENTRA_CLIENT_CERT_PATH) oder ein Client-Secret:
- Zertifikate & Geheimnisse → Client-Geheimnisse → Neues Client-Geheimnis.
- Wählen Sie eine Gültigkeitsdauer. Microsoft begrenzt sie auf 24 Monate. Notieren Sie das Datum: Restow erinnert Sie vor dem Ablauf, siehe Ablauf des Geheimnisses oder Zertifikats.
- Kopieren Sie den Wert sofort: Entra zeigt ihn nur einmal; er ist nach dem Verlassen der Seite aus dem Portal verschwunden. Fügen Sie ihn in
ENTRA_CLIENT_SECRETin.envein (niemals ins Repository, niemals in ein Log).
Füllen Sie genau eines aus, ENTRA_CLIENT_SECRET oder ENTRA_CLIENT_CERT_PATH; sind beide gesetzt, nutzt Restow das Zertifikat.
2b. Die Microsoft-365-Quelle in Restow hinzufügen
Abschnitt betitelt „2b. Die Microsoft-365-Quelle in Restow hinzufügen“Unter Mandanten-Einstellungen → Verbindungen → Quelle hinzufügen → Microsoft-365-Tenant: Geben Sie einen Namen an, optional eine Tenant-ID oder verifizierte Domain, um die Administration direkt zum richtigen Mandanten zu führen, und einen anfänglichen Schutzumfang: alle Postfächer und OneDrives oder Mitglieder einer Gruppe (eine neue Quelle kann nicht direkt im Umfang „nur ausgewählte Objekte” starten; wechseln Sie danach bei Bedarf auf dem Reiter Schutz dorthin, siehe Schritt 4). SharePoint-Websites folgen einem eigenen Schalter, standardmäßig an, siehe Schritt 4. Restow legt die Quelle im Zustand „Nicht verbunden“ an.
2c. Admin-Consent
Abschnitt betitelt „2c. Admin-Consent“Noch auf der Quelle, Link zur Administratorzustimmung erzeugen (eine Stunde gültig). Öffnen Sie ihn selbst oder schicken Sie ihn an den Global Administrator des Kunden. Diese Person meldet sich im eigenen Mandanten an, prüft die angefragten Anwendungsberechtigungen und stimmt für die gesamte Organisation zu. Danach leitet Microsoft sie zur Redirect-URI von Restow zurück, wo sie sich ein zweites Mal anmeldet, um zu bestätigen. Diese zweite Anmeldung ist es, die Restow erlaubt zu bestätigen, dass die Tenant-ID tatsächlich zu der Administration gehört, die zugestimmt hat (statt einem unsignierten Callback-Parameter zu vertrauen), und dass das Konto Global Administrator oder Administrator für privilegierte Rollen ist. Keine geringere Rolle kann diesen Consent erteilen. Restow speichert das Konto der bestätigten Administration als „Consent erteilt von” und reiht den ersten Verzeichnisabgleich des Mandanten sofort ein. Postfächer, OneDrives und, wenn die App-Registrierung die SharePoint-Berechtigung hat, SharePoint-Websites erscheinen in der Regel innerhalb weniger Augenblicke, nicht erst nach bis zu sechs Stunden.
Ein Mandant kann in der gesamten Installation nur mit einer Quelle verbunden sein; ein erneuter Consent von einem bereits verbundenen Mandanten wird abgelehnt, ohne zu verraten, zu welcher Quelle er gehört.
2d. Berechtigungen prüfen
Abschnitt betitelt „2d. Berechtigungen prüfen“Sobald der Consent abgeschlossen ist, prüft Restow automatisch jede Berechtigung und zeigt eine Checkliste (Berechtigungen prüfen, um sie erneut auszuführen). Jede ist Erteilt, Nur lesend (der oben beschriebene Lese-/Schreib-Fehler) oder Fehlt. Alle erforderlichen Berechtigungen müssen als erteilt angezeigt werden, bevor Sicherungen laufen können; wiederholen Sie den Admin-Consent, nachdem Sie die App-Registrierung korrigiert haben, um ihn zu aktualisieren. Die SharePoint-Berechtigung ist als Optional gekennzeichnet: Solange sie Fehlt, zeigt die Checkliste den Hinweis SharePoint-Websites werden nicht gesichert (oder, mit nur Sites.Read.All, SharePoint-Websites werden gesichert, aber nicht wiederhergestellt), und sonst wird nichts zurückgehalten.
Ablauf des Geheimnisses oder Zertifikats (seit 0.4.7)
Abschnitt betitelt „Ablauf des Geheimnisses oder Zertifikats (seit 0.4.7)“Ein Client-Secret lebt höchstens 24 Monate, und wenn es abläuft, schlägt jede Microsoft-365-Sicherung fehl, die die App nutzt. Seit 0.4.7 erinnert Restow 30 Tage vorher, erneut 7 Tage vorher und nach dem Ablauf (die Glocke sowie die Mails und Webhooks jeder Regel, die das Ereignis aufführt), jede Stufe einmal je Ablaufdatum. Es braucht das Datum, weil es es nicht aus Microsoft Graph liest:
- Unter Installation → Microsoft-Multi-Tenant-App eingetragen: Geben Sie das Ablaufdatum des Secrets im Feld Läuft ab am an, wie Entra es unter Zertifikate & Geheimnisse zeigt. Die Seite zeigt Läuft ab mit einer Badge, die 30 Tage vor dem Ende gelb und ab 7 Tagen rot wird.
- Secret in
.env: Setzen SieENTRA_CLIENT_SECRET_EXPIRES_AT(JJJJ-MM-TT, zum Beispiel2027-03-01) nebenENTRA_CLIENT_SECRETund erzeugen Sie dieapineu; die Seite sagt es, solange das Datum fehlt. Ohne Datum gibt es keine Erinnerung, und die Seite zeigt den Ablauf als nicht hinterlegt. - Zertifikat: Nichts einzugeben, Restow liest das Ende des Zertifikats.
- Erneuern ohne Lücke: Legen Sie das neue Secret in Entra an, tragen Sie es mit seinem neuen Datum ein und löschen Sie erst dann das alte. Ein neues Datum beginnt die Erinnerungen von vorn.
Eine Quelle, die über eine eigene App verbunden ist, hat ihr eigenes Datum und ihre eigenen Erinnerungen, siehe Erinnerungen, bevor Zugangsdaten einer App ablaufen.
Eine Berechtigung später hinzufügen (erneuter Consent)
Abschnitt betitelt „Eine Berechtigung später hinzufügen (erneuter Consent)“Eine Berechtigung, die Sie der App-Registrierung hinzufügen, nachdem ein Kunde zugestimmt hat, gilt in dessen Tenant nicht, bevor seine Administration erneut zustimmt. So ist es bei SharePoint in einer Installation, die vor 0.4.0 verbunden wurde, und so ist es bei jeder Berechtigung, die Sie später hinzufügen. Fügen Sie die Berechtigung zuerst der App-Registrierung hinzu, wählen Sie dann an jeder Microsoft-365-Quelle Neuen Link zur Administratorzustimmung erzeugen (eine Stunde gültig) und schicken Sie ihn an einen Global Administrator oder Administrator für privilegierte Rollen dieses Tenants. Diese Person stimmt zu und meldet sich wie zuvor ein zweites Mal an; der Link funktioniert nur im Tenant, der bereits verbunden ist. Führen Sie danach Berechtigungen prüfen aus. Bis zum neuen Consent läuft alles weiter, was schon lief; nur was die neue Berechtigung braucht, bleibt aus. Ist der Consent erteilt, gilt die Berechtigung ohne neues Client-Secret (seit 0.4.7): Ein Token trägt die Berechtigungen, die die App hatte, als Microsoft es ausstellte, und Restow behielt es früher bis zu etwa eine Stunde lang, sodass eine dazwischen erteilte Berechtigung bis dahin abgelehnt wurde. Antwortet Microsoft Graph jetzt mit 401 oder 403, holt Restow einmal ein neues Token und sendet die Anfrage erneut (höchstens einmal pro Minute je Tenant oder Quelle), sodass eine erteilte Berechtigung innerhalb etwa einer Minute greift. Das gilt für Sicherungen, Wiederherstellungen, den Verzeichnisabgleich, die Archiv-Erfassung, die Gruppensuche, den Verbindungstest und die Berechtigungsprüfung. Die einzige Ausnahme ist die Benachrichtigungs-Mail über eine Microsoft-365-App-Registrierung: Eine später erteilte Berechtigung Mail.Send greift, sobald das zwischengespeicherte Token abläuft. Eine Quelle, die über eine eigene App verbunden ist, hat keinen Consent-Link: Fügen Sie die Berechtigung dieser App-Registrierung im Entra Admin Center des Kunden hinzu und erteilen Sie dort die Administratorzustimmung.
3. IMAP verbinden
Abschnitt betitelt „3. IMAP verbinden“Unter Mandanten-Einstellungen → Verbindungen → Quelle hinzufügen → IMAP-Postfach: Server-Host und -Port, Verbindungssicherheit (TLS auf 993, STARTTLS auf 143 oder unverschlüsselt, nur für Entwicklung geeignet, da das Passwort dabei im Klartext übertragen wird), und wie sich die Quelle anmeldet. Jede Quelle nutzt eines von drei Verfahren; wählen Sie das, das Ihr Anbieter unterstützt:
- Gemeinsamer Zugang (Standard): ein Login und ein Passwort an der Quelle, verwendet für jedes Postfach darunter. Nutzen Sie Verbindung testen, bevor Sie speichern, um Tippfehler früh zu erkennen.
- Eigenes Passwort je Postfach: für Anbieter, bei denen jedes Postfach ein eigenes Passwort hat. Die Quelle selbst hat keinen Login zum Testen; fügen Sie die Postfächer hinzu und nutzen Sie dann im Reiter Verzeichnis je Postfach Passwort setzen und Anmeldung testen.
- Master-User: ein Master-Konto meldet sich als jedes Postfach an (in der Form
master*postfach, die Dovecot nutzt, oder per SASL PLAIN mit einer Autorisierungs-ID).
OAuth2 für IMAP-Quellen ist noch nicht umgesetzt; geplant. Die drei Verfahren stehen unter Quellen verbinden.
IMAP-Quellen haben kein Entra-artiges Verzeichnis: Fügen Sie Postfächer als manuelle Liste hinzu oder importieren Sie eine CSV-Datei (Spalten login, name, email, in beliebiger Reihenfolge; Komma, Semikolon oder Tabulator funktionieren alle; eine optionale Spalte password setzt das Postfachpasswort, wenn die Quelle ein Passwort je Postfach nutzt).
4. Schutzregeln festlegen
Abschnitt betitelt „4. Schutzregeln festlegen“Auf dem Reiter Schutz (Mandanten-Einstellungen → Schutz) unter Quellen und Regeln → Regeln bearbeiten für eine Quelle: Der Umfang ist alle im Verzeichnis, Mitglieder einer Gruppe (nur direkte und verschachtelte Mitglieder) oder nur ausgewählte Objekte (standardmäßig ist niemand geschützt, nur was Sie ausdrücklich einschließen), mit optionaler Ausschlussliste (Adresse, UPN oder Objekt-ID, eine pro Zeile; bleibt unabhängig vom aktiven Umfang erhalten), die vor dem Umfang angewendet wird, sowie einem Umschalter dafür, ob geteilte/Ressourcenpostfächer eingeschlossen sind (Microsoft Graph kann ein geteiltes Postfach nicht von einem Nutzer mit gesperrter Anmeldung unterscheiden, daher deckt diese eine Einstellung beides ab). SharePoint-Websites (seit 0.4.0) haben einen eigenen Schalter, Alle SharePoint-Websites schützen: standardmäßig an, sodass jede Website des Tenants gesichert wird; schalten Sie ihn aus, um nur die Websites zu sichern, die Sie einzeln einschließen. Der Umfang, die Ausschlussliste und der Umschalter für geteilte Postfächer gelten nicht für Websites. Eine Einzelentscheidung für ein Objekt („immer einschließen“ oder „immer ausschließen“) schlägt die Regel. Das Speichern reiht einen Verzeichnisabgleich ein, der die Änderung anwendet.
Bei „nur ausgewählte Objekte” schließen Sie Objekte einzeln auf dem Reiter Schutz aus oder ein, oder in Sammelaktionen: Zeilen ankreuzen (oder „alle N passenden auswählen” innerhalb des aktiven Filters, bis zu 1.000 Objekte auf einmal) und Einschließen, Ausschließen oder „Regeln wieder anwenden” anwenden, jeweils hinter einer Bestätigung mit der genauen Anzahl. Jedes Objekt erhält einen eigenen Audit-Eintrag; ein großer Stapel zusätzlich einen zusammenfassenden.
5. Die erste Sicherung ausführen
Abschnitt betitelt „5. Die erste Sicherung ausführen“Möglicherweise gibt es hier nichts mehr auszulösen: Restow reiht eine erste Sicherung automatisch ein, sobald ein Objekt geschützt wird (ein Einschließen, ein Verzeichnisabgleich, der es neu aktiv findet, oder ein IMAP-Import), sodass ein erster Lauf bereits eingereiht oder abgeschlossen sein kann, wenn Sie diese Seite öffnen. Um etwas von Hand erneut auszuführen, nutzen Sie Jetzt sichern auf dem Reiter Schutz (alle geschützten Objekte) oder den Link Je Objekt sichern daneben, der die Seite mit Jetzt sichern für ein einzelnes Objekt öffnet. Beobachten Sie den Fortschritt live unter Täglich → Verlauf: erledigte/gesamte Elemente, Bytes, eine ETA und, für Microsoft 365, eine etwaige Drosselungs-Wartezeit, die Microsoft auferlegt, im Lauf angezeigt statt verborgen. Die erste Sicherung eines großen Postfachs zeigt Erste Sicherung: X von Y Elementen mit einer geschätzten Restzeit; ein OneDrive zeigt X Elemente bisher, bis es vollständig aufgelistet ist. Die Seitenleiste zeigt einen Spinner mit der Zahl der laufenden Sicherungen, und ein Klick öffnet die Live-Ansicht des Laufs (siehe Backup-Jobs). Die erste Sicherung eines großen Mandanten kann legitim Tage statt Stunden dauern; das ist Microsofts eigenes Ratenlimit, kein Fehler.
6. Wiederherstellbarkeit bestätigen: nicht bei „Sicherung erfolgreich“ stehen bleiben
Abschnitt betitelt „6. Wiederherstellbarkeit bestätigen: nicht bei „Sicherung erfolgreich“ stehen bleiben“Eine Sicherung, die Restow nicht zurückgelesen hat, gilt nicht als vertrauenswürdig. Warten Sie unter Täglich → Wiederherstellbarkeit entweder auf die nächste geplante Prüfung oder klicken Sie Jetzt prüfen: Restow liest eine Zufallsstichprobe aus Mails, Dateien (auch denen von SharePoint-Websites), Kalendereinträgen und Kontakten aus der letzten Sicherung über den Restore-Pfad zurück und vergleicht Größe und SHA-256-Hash mit dem Manifest. Das Ergebnis je Objekt ist Bereit, Achtung oder Nicht wiederherstellbar. Ein Objekt ohne geprüften Restore zählt als Nicht geprüft, nicht als stillschweigend in Ordnung. Sie stellt nicht in ein Microsoft-365-Postfach, OneDrive oder IMAP-Konto wieder her: Die optionale Test-Wiederherstellung in ein Ziel ist in 0.4.7 nicht angeschlossen. Was diese Prüfung genau tut und noch nicht prüft, steht unter Wie Restow prüft, ob eine Sicherung wiederherstellbar ist.
7. Selbst eine erste Test-Wiederherstellung durchführen
Abschnitt betitelt „7. Selbst eine erste Test-Wiederherstellung durchführen“Bevor Sie sich im Ernstfall auf Restow verlassen, stellen Sie etwas von Hand wieder her: Öffnen Sie Mail & SaaS → Restore-Explorer, durchsuchen Sie eine Sicherung zu einem bestimmten Zeitpunkt, wählen Sie ein Element oder einen Ordner und stellen Sie es wieder her: an den ursprünglichen Ort, in ein anderes Konto oder als ZIP-/EML-Download (siehe Backup und Restore für die genaue Funktionsweise von Zielen und Modi). Bestätigen Sie, dass es dort gelandet ist, wo Sie es erwartet haben, und sich korrekt zurücklesen lässt. Wenn Sie SharePoint-Websites sichern, probieren Sie auch eine Datei und ein Listenelement einer Website aus (siehe SharePoint Online): Die SharePoint-Sicherung ist noch nicht gegen einen echten Tenant gelaufen.
Sobald das erledigt ist, richten Sie Zeitpläne ein, damit Sicherungen, Prüfung und Verzeichnis-Sync von selbst laufen, und ziehen Sie weitere Repositories (Mandanten-Einstellungen → Repositories) in Betracht, damit ein einzelner Speicherausfall nicht jede Kopie trifft.