Policy-Import haerten, Admin-Vorlagen, Zuweisung nach Import, Git-Snapshot

Neu:
- Administrative Vorlagen (ADMX / groupPolicyConfigurations) als vierter
  Policy-Typ fuer Export/Import (GET /api/policies/administrativetemplate)
- Zuweisung direkt nach Import: pro Policy Include-/Exclude-Gruppen
  (POST /api/policies/assign, typ-spezifische /assign-Action)
- Git-Snapshot: versioniertes Policy-Backup in lokalen Git-Ordner
  (Settings-Sektion policyBackup)
- Import akzeptiert Git-Snapshot-Dateien (policyType neben exportType)

Behoben:
- Settings-Catalog-Import schema-konform: Collection-Properties immer als
  Array (repariert PS-5.1-Roundtrip), null -> [], Wrapper-@odata.type,
  read-only id entfernt
- Import-Phantom-Fehler (@($null)-Geisterdurchlauf im Archiv-Pfad)
- Frontend-Cache-Reset beim Tenant-Wechsel (resetClientState)
- WAM-Anmeldefenster zuverlaessig im Vordergrund (AttachThreadInput)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 11:25:19 +02:00
co-authored by Claude Opus 4.8
parent 450428e7f7
commit 4efc71376b
7 changed files with 790 additions and 31 deletions
+15
View File
@@ -237,6 +237,21 @@ neu an. Unterstuetzte Typen:
automatisch zur Verbindung ergaenzt — in der Azure-App-Registration muss die
Berechtigung aber vorhanden und (Admin-)zugestimmt sein.
### Git-Snapshot (versioniertes Backup)
Button **„Git-Snapshot"** im Policies-Tab schreibt **alle** Policies aller Typen
als JSON in einen konfigurierten **lokalen Git-Ordner** und committet sie
automatisch — ideal als versioniertes Backup mit nachvollziehbarer History.
- Konfiguration: **Settings → Policy-Backup (Git)** — lokaler Repo-Pfad (wird bei
Bedarf angelegt und `git init`-isiert) + optional **automatischer `git push`**
(nutzt den vorhandenen Git-Credential-Helper; **kein Token in der App**).
- **Stabile Dateinamen** (`<tenant>/<typ>/<name>__<id8>.json`) und deterministische,
zeitstempel-freie JSON-Ausgabe → saubere Git-Diffs zwischen Snapshots. Entfernte
Policies verschwinden aus dem Snapshot.
- Multi-Tenant: je Mandant ein eigener Unterordner (nach Profil-Label bzw. Tenant-ID).
- Gibt es keine Aenderungen seit dem letzten Snapshot, wird nichts committet.
---
## Architektur