Zum Inhalt

Audit & Compliance

Übersicht

Die Polycrate API bietet Funktionen, die für Audit-Trails, Compliance-Anforderungen und forensische Analysen relevant sind. Administratoren, IT-Leiter und Compliance Officers können nachvollziehen, wer wann welche Aktionen ausgeführt hat und über welche Kanäle Ressourcen erstellt wurden.

CLI Activity Audit

Was wird protokolliert?

Die Polycrate CLI sendet bestimmte Aktivitäten an die API, die dort persistiert werden:

Aktivität Trigger Gespeicherte Daten
SSH-Session polycrate ssh (Start und Ende) Host, Workspace, Benutzer, Dauer, Exit-Code
Workspace-Sync polycrate workspace sync / polycrate git sync Workspace, Branch, Commit, Sync-Ergebnis, Benutzer

Voraussetzungen

  • Authentifizierung: Der Benutzer muss mit einem gültigen API-Token angemeldet sein. Nur authentifizierte Aktivitäten werden protokolliert.
  • CLI-Konfiguration: API-Integration muss aktiviert sein (api.enabled: true, api_key gesetzt)

Nutzen für Compliance

  • Vollständiger Audit-Trail: Wer hat wann welche Hosts per SSH betreten? Wer hat Workspace-Syncs ausgeführt?
  • User-Zuordnung: Jede Aktivität ist einem Benutzer zugeordnet (created_by) – keine anonymen Aktionen
  • Ressourcen-Verknüpfung: SSH-Sessions sind mit Host und Workspace verknüpft; Workspace-Syncs mit dem betroffenen Workspace

Wo einsehbar?

Aktivitäten erscheinen in der Activity-Übersicht der Polycrate API. Über die API können sie gefiltert und exportiert werden (z. B. für Compliance-Reports).


created_by_component

Was bedeutet das?

Jedes ManagedObject (z. B. S3-Bucket, K8sApp, Credential) speichert, über welchen Kanal es erstellt wurde:

Wert Bedeutung
CLI Über die Polycrate CLI (z. B. Workspace-Sync erstellt Bucket)
Operator Durch den Polycrate Operator (z. B. Kubernetes-Ressourcen)
API Über die Web-Oberfläche oder REST-API (manuell durch Benutzer)

Nutzen für Compliance

  • Quellen-Analyse: „Alle Buckets, die via CLI erstellt wurden“ – z. B. für Automatisierungs-Audits
  • Manuelle vs. automatisierte Änderungen: Unterscheidung zwischen manueller Konfiguration und Infrastructure-as-Code
  • Reporting: Filter und Reports nach Erstellungsquelle möglich

Wo einsehbar?

  • Listen-Ansichten: Filter „Created by component“ (CLI, Operator, API)
  • Detail-Ansichten: Spalte bzw. Feld „Created by component“ in den Object-Details
  • API: Filter created_by_component bei allen ManagedObject-Listen

Authentifizierungs-Audit

Alle Authentifizierungs-Events werden geloggt:

Event Geloggte Daten
Login (SSO) Benutzer, IP, Zeitpunkt, Provider
API-Key erstellt Benutzer, Key-Name, Zeitpunkt
API-Key verwendet Key-ID, Endpoint, IP, Zeitpunkt
API-Key widerrufen Benutzer, Key-ID, Zeitpunkt
Fehlgeschlagener Login IP, Zeitpunkt, Grund

Authentifizierung


Optionale Lifecycle-Activities (ab 0.14.3)

Creation-, Deletion- und State-Change-Activities können seit Version 0.14.3 über die System-Konfiguration ein- und ausgeschaltet werden. Standardmäßig sind sie deaktiviert, um Datenbank- und Cleanup-Last zu reduzieren (insbesondere in Dev-Umgebungen).

SystemConfig-Einstellungen

Setting Default Beschreibung
Create Creation Activities aus Activity bei Objekt-Erstellung
Create Deletion Activities aus Activity bei Objekt-Löschung
Create State Change Activities aus Activity bei Status-/State-Änderung

Erreichbar unter: System Konfiguration → Kategorie Timing & Policy Settings.

Aufräumen bestehender Activities

Management Command zum Löschen alter Activities (z. B. für Prod-Cleanup):

# Dry-Run: creation, deletion, state_changed älter als 7 Tage
python manage.py delete_old_activities 7 --kind creation,deletion,state_changed --dry-run

# Tatsächlich löschen (mit Bestätigung)
python manage.py delete_old_activities 7 --kind creation,deletion,state_changed

# Alle Activities älter als 30 Tage (ohne Kind-Filter)
python manage.py delete_old_activities 30 --no-confirm

Block-Config: clear_activities

Der polycrate-api Block unterstützt eine optionale clear_activities-Sektion in block.config. Wenn aktiviert, führt der Block vor dem Migrate-Job automatisch delete_old_activities aus.

clear_activities:
  enabled: false
  dry_run: false
  older_than_days: 7
  kinds: "creation,deletion,state_changed"
  batch_size: 5000

Action-Run-Tracking

Vollständige Historie aller CLI-Ausführungen:

  • Wer hat welche Action wann in welchem Workspace ausgeführt?
  • Exit-Codes, Logs, Dauer
  • Kein manuelles Nachtragen nötig – die CLI sendet automatisch

Polycrate API Übersicht


Prometheus-Metriken für Monitoring

Die API stellt unter /api/v1/metrics Prometheus-kompatible Metriken bereit. Diese können für Monitoring, Kapazitätsplanung und Compliance-Dashboards genutzt werden (z. B. VictoriaMetrics, Grafana).

Prometheus-Metriken