authelia-oidc: Grafana-Proof als erledigt dokumentieren + Secret eintragen

- SECRETS_MAP: grafana_oidc_client_secret (Datei + __FILE, Hash in Authelia-Host-Config)
- AUTHELIA_OIDC_PLAN: Stufe 1 (Grafana) als erledigt markiert
- MASTER_TODO: OIDC-Proof verifiziert, naechster Schritt Familien-Apps

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 13:17:29 +02:00
parent a4c79d9d81
commit 2f3a029098
3 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -80,7 +80,7 @@ docker exec authelia authelia crypto hash generate pbkdf2 \
| Stufe | App | Domain | OIDC-Support | Policy | Risiko | Begruendung | | Stufe | App | Domain | OIDC-Support | Policy | Risiko | Begruendung |
|---|---|---|---|---|---|---| |---|---|---|---|---|---|---|
| **1 (Proof)** | Grafana (monitoring) | `monitoring.kaleschke.info` | nativ (`generic_oauth`) | `two_factor` | niedrig | Admin-only, lokaler Grafana-Admin bleibt als Fallback -> kein Lockout-Risiko | | **1 (Proof) ERLEDIGT 2026-06-06** | Grafana (monitoring) | `monitoring.kaleschke.info` | nativ (`generic_oauth`) | `two_factor` | niedrig | **Live + Login verifiziert.** Authelia-Client `grafana` (host), Secret als Datei `/mnt/user/appdata/secrets/grafana_oidc_client_secret` via `__FILE`, ForwardAuth-Middleware durch OIDC ersetzt, lokaler Admin bleibt Fallback |
| 2 | Immich | `immich.kaleschke.info` | nativ | s. u. (Familie) | mittel | Familien-Fotos, viele Nutzer; nach erfolgreichem Proof | | 2 | Immich | `immich.kaleschke.info` | nativ | s. u. (Familie) | mittel | Familien-Fotos, viele Nutzer; nach erfolgreichem Proof |
| 3 | Nextcloud | `cloud.kaleschke.info` | App `user_oidc` | s. u. | mittel | klassischer OIDC-Login parallel zu lokalem Admin | | 3 | Nextcloud | `cloud.kaleschke.info` | App `user_oidc` | s. u. | mittel | klassischer OIDC-Login parallel zu lokalem Admin |
| 4 | Mealie | `mealie.kaleschke.info` | nativ | s. u. | niedrig | klein, gut zum Familien-Rollout | | 4 | Mealie | `mealie.kaleschke.info` | nativ | s. u. | niedrig | klein, gut zum Familien-Rollout |
+1 -1
View File
@@ -26,7 +26,7 @@ Host-/Entscheidungsaufgaben beim **Operator**.
| Family-Onboarding erster Termin | Operator | Checkliste ist fertig (`docs/FAMILY_ONBOARDING.md` Abschnitt "Erster Onboarding-Termin"). Operator legt fest, welche Personen/Geraete real verfuegbar sind, und arbeitet die Reihenfolge Vaultwarden -> Immich -> Mealie pro Person ab | `docs/FAMILY_ONBOARDING.md`, `docs/AUDIT_2026-05-25_TODO.md` | | Family-Onboarding erster Termin | Operator | Checkliste ist fertig (`docs/FAMILY_ONBOARDING.md` Abschnitt "Erster Onboarding-Termin"). Operator legt fest, welche Personen/Geraete real verfuegbar sind, und arbeitet die Reihenfolge Vaultwarden -> Immich -> Mealie pro Person ab | `docs/FAMILY_ONBOARDING.md`, `docs/AUDIT_2026-05-25_TODO.md` |
| Restore-Test Unraid OS Flash (Stick-Boot) | Operator | Artefakt-Validierung am 2026-06-05 erledigt (`ops/maintenance/check-unraid-flash-backup.sh`, sha256 OK, 8 Kern-Configs). **Verbleibt:** physischer Ersatzstick-Boot-Test, wenn ein Wegwerf-Stick bereitliegt | `docs/RESTORE_MATRIX.md` Abschnitt "Unraid OS Flash" | | Restore-Test Unraid OS Flash (Stick-Boot) | Operator | Artefakt-Validierung am 2026-06-05 erledigt (`ops/maintenance/check-unraid-flash-backup.sh`, sha256 OK, 8 Kern-Configs). **Verbleibt:** physischer Ersatzstick-Boot-Test, wenn ein Wegwerf-Stick bereitliegt | `docs/RESTORE_MATRIX.md` Abschnitt "Unraid OS Flash" |
| Restore-Test Tailscale | Operator | Runbook-Stub abarbeiten: State-Validierung + Reconnect nur auf Wegwerf-Host/VM, danach Geraet in Tailscale-Admin entfernen | `docs/RESTORE_MATRIX.md` Abschnitt "Tailscale" | | Restore-Test Tailscale | Operator | Runbook-Stub abarbeiten: State-Validierung + Reconnect nur auf Wegwerf-Host/VM, danach Geraet in Tailscale-Admin entfernen | `docs/RESTORE_MATRIX.md` Abschnitt "Tailscale" |
| Authelia OIDC fuer Apps | Operator/Claude | **Plan + Runbook erstellt 2026-06-06** (`docs/AUTHELIA_OIDC_PLAN.md`): v4.39-Client-Schema, Issuer/Endpoints, Secret-Erzeugung, Rollout-Reihenfolge. **Naechster konkreter Schritt:** Stufe-1-Proof **Grafana** (`monitoring`) ausrollen — Authelia-Client + `GF_AUTH_GENERIC_OAUTH_*`; lokaler Grafana-Admin bleibt Fallback (kein Lockout). Danach Familien-Apps (Immich/Nextcloud/Mealie/Paperless) | `docs/AUTHELIA_OIDC_PLAN.md`, `security/authelia/configuration.yml` | | Authelia OIDC fuer Apps | Operator/Claude | **Stufe-1-Proof Grafana ERLEDIGT 2026-06-06** (Login verifiziert): Authelia-Client `grafana` + Secret-Datei + `__FILE`, ForwardAuth durch OIDC ersetzt. Muster steht. **Naechster Schritt:** Familien-Apps nach `docs/AUTHELIA_OIDC_PLAN.md` (Immich -> Nextcloud -> Mealie -> Paperless); vorher Policy `one_factor` vs `two_factor` fuer Familie + Gruppen/Rollen-Mapping entscheiden | `docs/AUTHELIA_OIDC_PLAN.md`, `security/authelia/configuration.yml` |
| Gast-/IoT-Netz einrichten | Operator/Codex | **Preflight erledigt, Operator-UI-Schritt offen.** Runbook `docs/GUEST_IOT_NETWORK.md` und Checks vorhanden. LAN-Preflight von `baerchen` gruen (`8082`/`8181` blockiert), Host-Preflight auf Unraid gruen (Report `/mnt/user/backups/restore-reports/guest-iot-preflight-2026-06-06-131316.md`). Naechster Schritt: FRITZ!Box-Gastzugang aktivieren, Heimnetz-Zugriff im Gastnetz deaktiviert lassen, danach von einem Gast-WLAN-Geraet `ops/maintenance/check-guest-iot-isolation.ps1 -Mode Guest` ausfuehren | `docs/GUEST_IOT_NETWORK.md`, `docs/NETWORK_INVENTORY.md` | | Gast-/IoT-Netz einrichten | Operator/Codex | **Preflight erledigt, Operator-UI-Schritt offen.** Runbook `docs/GUEST_IOT_NETWORK.md` und Checks vorhanden. LAN-Preflight von `baerchen` gruen (`8082`/`8181` blockiert), Host-Preflight auf Unraid gruen (Report `/mnt/user/backups/restore-reports/guest-iot-preflight-2026-06-06-131316.md`). Naechster Schritt: FRITZ!Box-Gastzugang aktivieren, Heimnetz-Zugriff im Gastnetz deaktiviert lassen, danach von einem Gast-WLAN-Geraet `ops/maintenance/check-guest-iot-isolation.ps1 -Mode Guest` ausfuehren | `docs/GUEST_IOT_NETWORK.md`, `docs/NETWORK_INVENTORY.md` |
--- ---
+1
View File
@@ -53,6 +53,7 @@ Dieses Dokument listet sensible Daten, deren Ablageorte und die vorgesehene Einb
| InfluxDB 3 Core | Admin Token JSON | `/mnt/user/appdata/secrets/influxdb3_admin_token.json` -> Docker Secret `/run/secrets/influxdb3_admin_token` | aktiv | | InfluxDB 3 Core | Admin Token JSON | `/mnt/user/appdata/secrets/influxdb3_admin_token.json` -> Docker Secret `/run/secrets/influxdb3_admin_token` | aktiv |
| Monitoring Grafana | Admin Password | `/mnt/user/appdata/secrets/monitoring_grafana_admin_password.txt` -> Docker Secret `/run/secrets/monitoring_grafana_admin_password` -> `GF_SECURITY_ADMIN_PASSWORD__FILE` | aktiv | | Monitoring Grafana | Admin Password | `/mnt/user/appdata/secrets/monitoring_grafana_admin_password.txt` -> Docker Secret `/run/secrets/monitoring_grafana_admin_password` -> `GF_SECURITY_ADMIN_PASSWORD__FILE` | aktiv |
| Monitoring Grafana -> InfluxDB | Datasource Token | `/mnt/user/appdata/secrets/monitoring_grafana_influxdb_token.txt` -> Docker Secret `/run/secrets/monitoring_grafana_influxdb_token` | aktiv | | Monitoring Grafana -> InfluxDB | Datasource Token | `/mnt/user/appdata/secrets/monitoring_grafana_influxdb_token.txt` -> Docker Secret `/run/secrets/monitoring_grafana_influxdb_token` | aktiv |
| Grafana OIDC (Authelia) | Client Secret | `/mnt/user/appdata/secrets/grafana_oidc_client_secret` (Klartext, chmod 600) -> Docker Secret `/run/secrets/grafana_oidc_client_secret` -> `GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET__FILE`. Zugehoeriger pbkdf2-Hash liegt im Authelia-Host-Config-Client `grafana` (kein Wert im Repo) | aktiv (2026-06-06) |
| Renovate Bot | Gitea Service-Account PAT | `/mnt/user/appdata/secrets/renovate_token.txt` -> Host-Datei (chmod 600), gelesen von `ops/renovate/run-renovate.sh` und an Renovate-Container als `RENOVATE_TOKEN` weitergegeben | aktiv nach Operator-Setup (siehe `docs/RENOVATE.md`) | | Renovate Bot | Gitea Service-Account PAT | `/mnt/user/appdata/secrets/renovate_token.txt` -> Host-Datei (chmod 600), gelesen von `ops/renovate/run-renovate.sh` und an Renovate-Container als `RENOVATE_TOKEN` weitergegeben | aktiv nach Operator-Setup (siehe `docs/RENOVATE.md`) |
| n8n | Encryption Key fuer interne Credential-Verschluesselung | `/mnt/user/appdata/secrets/n8n_encryption_key.txt` (chmod 600) -> Komodo Stack ENV `${N8N_ENCRYPTION_KEY}`; kein `_FILE`-Support im Upstream-Image | aktiv | | n8n | Encryption Key fuer interne Credential-Verschluesselung | `/mnt/user/appdata/secrets/n8n_encryption_key.txt` (chmod 600) -> Komodo Stack ENV `${N8N_ENCRYPTION_KEY}`; kein `_FILE`-Support im Upstream-Image | aktiv |
| n8n | GMX IMAP Login (Mail-Trigger Workflow) | n8n Credentials Store (Typ `imap`), nur in `/mnt/user/appdata/n8n/data` mit `N8N_ENCRYPTION_KEY` verschluesselt | aktiv | | n8n | GMX IMAP Login (Mail-Trigger Workflow) | n8n Credentials Store (Typ `imap`), nur in `/mnt/user/appdata/n8n/data` mit `N8N_ENCRYPTION_KEY` verschluesselt | aktiv |