Eine veröffentlichte Richtlinienversion ändert sich nie. Das Bearbeiten einer Richtlinie und erneute Veröffentlichen erstellt eine neue Version; die bereits auf Maschinen vorhandene Version wird dabei nie überschrieben. Das macht Rollbacks sicher: Die letzte funktionierende Version ist noch vorhanden, Byte für Byte, und ein Rollback löscht nicht den Entscheidungsverlauf, der erklärt, was schiefgelaufen ist.
Eine Version finden
Gehe zu Admin → Richtlinien-Editor und öffne die Bibliothek, um Versionen einer Richtlinie zu vergleichen oder eine zu deaktivieren.
Rollback einer Maschine
- Gehe zu Admin → Durchsetzung, erweitere die betroffene Maschine und identifiziere ihren zuletzt als gut bekannten Richtliniensatz.
- Wähle Bearbeiten, stelle diese Versionen und Effekte wieder her und wende das neue Deployment an.
- Warte auf den Check-in der Maschine und verifiziere dann das gemeldete Deployment.
- Öffne Beobachten → Richtlinie und die betroffenen Sitzungen, um zu bestätigen, dass gültige Arbeit nicht länger blockiert wird.
Jedes Deployment auf einer Maschine ist eine nummerierte Generation. Liste sie auf und stelle dann eine davon wieder her:rollback erstellt eine neue Generation mit dem alten Satz, anstatt den Zähler zurückzusetzen, sodass der Verlauf nur erweiterbar bleibt. Es lehnt eine Generation ab, die eine inzwischen deaktivierte oder gelöschte Richtlinie benennt. Der Befehl benötigt eine angemeldete Sitzung mit policies:write. fp fleet diff <machine-id> zeigt den Unterschied zwischen dem Beabsichtigten und dem, was die Maschine tatsächlich angewendet hat — der Status erscheint als behind, bis die Maschine das nächste Mal abfragt. Auf der Maschine selbst listet failproofai policies das aktuell laufende Deployment auf.
Eine Richtlinie von allen Maschinen entfernen
Jeder dieser Befehle erstellt eine neue Generation für jedes betroffene Deployment. Das Zurückrollen einer dieser Generationen ist jedoch nicht der Weg, ein disable rückgängig zu machen — rollback lehnt eine Generation ab, die eine deaktivierte Richtlinie benennt, und jede Generation vor dem Deaktivieren verweist auf diese. fp policies enable ist der richtige Weg zurück, und er erstellt seinerseits eine eigene neue Generation.
Rollback eines Pakets
Ein Paket ist an das installierte Release gebunden; ein Rollback bedeutet daher die Installation eines früheren Releases:
Ohne Terminal oder mit --policy, --category oder --all behält das erneute Hinzufügen die zuvor gewählte Teilmenge. Im Terminal ohne diese Optionen öffnet sich die Auswahl mit den Standardeinstellungen des Autors vorausgewählt, und die getroffene Auswahl ersetzt die vorherige — daher die bisherige Auswahl erneut bestätigen.
Wann ein Rollback sinnvoll ist
- Eine Richtlinie blockiert eine erwartete Produktionsaktion.
- Das Übereinstimmungsvolumen ist erheblich höher als der beobachtete Rollout vorhergesagt hat.
- Eine Richtlinie ist abhängig von Feldern, die eine Integration nicht bereitstellt.
- Eine neue Version ändert das Verhalten außerhalb des vorgesehenen Fehlerfalls.
Nach einem Rollback die betroffenen Sitzungen öffnen und die Ursache des False Positives ermitteln. Eine neue Version veröffentlichen, testen — sowohl den unsicheren als auch den legitimen Fall — und erneut beobachten, bevor die Durchsetzung aktiviert wird.
failproofai config --pause pausiert lokale Richtlinien für eine Sitzung, jedoch niemals Cloud-verwaltete. Es ist daher kein Ausweg aus einem fehlerhaften Cloud-Deployment. Eine Pause weitet außerdem die Angriffsfläche für alle Richtlinien in ihrem Geltungsbereich aus; es ist vorzuziehen, die eine fehlerhafte Version zurückzurollen.