Permissions Policy für Netlify konfigurieren

Schritt-für-Schritt-Anleitung: Browser-APIs wie Kamera, Mikrofon und Geolocation auf Netlify einschränken — per _headers oder netlify.toml.

Netlify · Schritt für Schritt

Permissions Policy auf Netlify

Die Permissions Policy (früher Feature-Policy) kontrolliert, welche Browser-APIs Ihre Website nutzen darf. Durch das Sperren nicht benötigter APIs wie Kamera, Mikrofon oder Geolocation reduzieren Sie die Angriffsfläche. Permissions Policy ist mit 10 von 166 Punkten ein relevanter Faktor im Wolf-Agents Web Security Check.

Auf Netlify setzen Sie den Header per netlify.toml oder _headers-Datei. Für pfadspezifische Ausnahmen (z.B. Kamera auf einer Videokonferenz-Seite) nutzen Sie separate Header-Blöcke in der netlify.toml.

1 Schritt 1 von 3

Permissions Policy Header setzen

Sperren Sie alle Browser-APIs, die Ihre Website nicht benötigt. Die leere Klammer () bedeutet: Kein Origin darf diese API nutzen — auch nicht Ihre eigene Domain.

netlify.toml Empfohlen
# netlify.toml — Permissions Policy
[[headers]]
  for = "/*"
  [headers.values]
    Permissions-Policy = "camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), accelerometer=()"
_headers Alternative
# _headers — Permissions Policy
/*
  Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), accelerometer=()
2 Schritt 2 von 3

Header verifizieren

Prüfen Sie den Permissions-Policy Header nach dem Deploy. In den Browser DevTools unter Network > Headers sehen Sie den Header für jede Response.

Terminal Verifizieren
# Permissions-Policy Header prüfen
curl -sI https://ihre-domain.de | grep -i permissions-policy

# Erwartete Ausgabe:
# Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), magnetometer=(), gyroscope=(), accelerometer=()
3 Schritt 3 von 3

Pfadspezifische Ausnahmen

Wenn bestimmte Seiten Browser-APIs benötigen (z.B. Kamera für Videokonferenzen), erstellen Sie separate Header-Blöcke in der netlify.toml. Der spezifischere Pfad hat Vorrang.

netlify.toml Selektiv
# netlify.toml — Permissions Policy mit Ausnahmen
[[headers]]
  for = "/*"
  [headers.values]
    Permissions-Policy = "camera=(), microphone=(), geolocation=(self), payment=(self), usb=()"

# Videokonferenz-Seite mit Kamera/Mikrofon
[[headers]]
  for = "/meeting/*"
  [headers.values]
    Permissions-Policy = "camera=(self), microphone=(self), geolocation=(), payment=()"
Pfad-Priorität in netlify.toml

Bei mehreren [[headers]]-Blöcken in netlify.toml gewinnt der spezifischere Pfad. /meeting/* hat Vorrang vor /* für Requests unter /meeting/.

Häufige Fehler

Veraltete Feature-Policy

Der Header heisst Permissions-Policy, nicht Feature-Policy. Einige ältere Dokumentationen verwenden noch den alten Namen.

Syntax-Fehler

Die Permissions-Policy-Syntax verwendet =() statt ='none'. Falsche Syntax wird von Browsern ignoriert.

Third-Party-Embeds blockiert

Eingebettete iFrames (z.B. Google Maps) benötigen möglicherweise Geolocation. Fügen Sie die Domain explizit hinzu: geolocation=(self "https://maps.google.com").

Compliance-Relevanz

Die Permissions Policy reduziert die Angriffsfläche Ihrer Website. NIS2 fordert technische Maßnahmen zur Minimierung von Cybersicherheitsrisiken. Durch das Sperren nicht benötigter Browser-APIs verhindern Sie, dass kompromittierte Third-Party-Scripts auf sensible Geräte-Features zugreifen. Der Wolf-Agents Web Security Check bewertet die Permissions Policy mit bis zu 10 Punkten.

Wie steht Ihre Domain bei Permissions Policy?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.