Kubernetes API ACL

Mit der ACL-Extension (Access Control List) können Sie einschränken, aus welchen Quellnetzwerken der Kubernetes-API-Server Ihres Clusters erreichbar ist. Standardmäßig ist der API-Server aus jedem Netzwerk erreichbar, und der Zugriff ist ausschließlich durch Authentifizierung und Autorisierung geschützt. Ist die ACL-Extension aktiviert, werden Anfragen zusätzlich anhand ihrer Quell-IP-Adresse gefiltert: Nur Anfragen aus den von Ihnen freigegebenen IP-Bereichen (CIDRs) – sowie aus einigen wenigen Standardnetzwerken von plusserver (siehe Hinweis unten) – erreichen den API-Server. Alle anderen Anfragen werden auf Netzwerkebene abgewiesen.

Bei der Extension handelt es sich um die Open-Source-Gardener ACL Extension; sie wird in der Shoot-Spec Ihres Clusters konfiguriert.

Funktionsweise

Wenn die Extension aktiviert ist, wird jede Verbindung zum API-Server anhand Ihrer Liste freigegebener CIDRs geprüft:

  • Anfragen aus einem freigegebenen Netzwerk erreichen den API-Server wie gewohnt und erfordern weiterhin gültige Anmeldedaten – die ACL ersetzt weder Authentifizierung noch Autorisierung (RBAC).
  • Anfragen aus allen anderen Netzwerken werden abgewiesen, bevor sie den API-Server erreichen. Ein blockierter Client kann überhaupt keine Verbindung aufbauen; er erhält keinen „forbidden“-Fehler von Kubernetes. Ein plötzlich fehlschlagender Verbindungsaufbau – und nicht etwa ein Authentifizierungsfehler – ist daher ein typisches Anzeichen dafür, dass die ACL den Client blockiert.

Clusterinterne Kommunikation ist davon nie betroffen: Die clustereigenen Nodes und Pods behalten immer Zugriff auf den API-Server, unabhängig davon, welche Netzwerke Sie freigegeben haben. Sie müssen daher nur die externen Netzwerke angeben, aus denen Sie den Cluster administrieren (zum Beispiel die ausgehenden IP-Adressen Ihres Büros oder Ihres VPNs).

Konfiguration

Bearbeiten Sie die Shoot-Spec Ihres Clusters wie unter Shoot-Spec beschrieben und fügen Sie die ACL-Extension als neuen Eintrag unter spec.extensions hinzu – zusätzlich zu den Extensions, die Sie bereits nutzen:

spec:
  extensions:
    - type: acl
      providerConfig:
        rule:
          action: ALLOW
          type: remote_ip
          cidrs:
            - "203.0.113.0/24"
            - "198.51.100.7/32"

Nachdem Sie die Änderung gespeichert haben und die Reconciliation des Clusters abgeschlossen ist, können nur noch die aufgeführten CIDRs – sowie die Standard-IP-Bereiche von plusserver – den API-Server erreichen.

Felder

FeldWertBeschreibung
actionALLOWEs werden ausschließlich Freigaben unterstützt. Allen nicht aufgeführten Quellnetzwerken wird der Zugriff verweigert.
typeremote_ipDer Match-Typ. Verwenden Sie remote_ip, damit die Regel auf die tatsächliche Quell-IP-Adresse des Clients matcht.
cidrsListe von CIDRsDie externen Netzwerke, die den API-Server erreichen dürfen, in CIDR-Notation (z. B. 203.0.113.0/24). Verwenden Sie das Suffix /32, um einen einzelnen Host freizugeben.

Hinweis – Standardnetzwerke von plusserver

Zusätzlich zu den von Ihnen konfigurierten CIDRs sind immer einige wenige interne Netzwerke von plusserver freigegeben, damit plusserver die verwaltete Control Plane Ihres Clusters weiterhin betreiben, überwachen und betreuen kann. Diese Bereiche werden automatisch hinzugefügt, ihre Freigabe kann nicht aufgehoben werden. Wenn Sie die genauen Bereiche für eine Firewall-Regel oder ein Sicherheitsaudit benötigen, wenden Sie sich bitte an den plusserver-Support.

Einschränkungen

  • Eine Regel pro Cluster. Die Extension unterstützt genau eine ALLOW-Regel pro Cluster. Sie können weder mehrere Regeln noch DENY-Regeln definieren; tragen Sie alle freizugebenden Netzwerke im Feld cidrs dieser einen Regel ein.

Beschränkung aufheben

Um den API-Server wieder aus jedem Netzwerk erreichbar zu machen, bearbeiten Sie die Shoot-Spec, entfernen Sie den Eintrag acl aus spec.extensions und warten Sie die Reconciliation des Clusters ab.

Zuletzt geändert 09.10.2026: Add ACL extension instructions (fa9d15de)