Konfigurieren Sie die POD -Sicherheitseinnahme in Kubernetes

Konfigurieren Sie die POD -Sicherheitseinnahme in Kubernetes
Pod Security -Zulassung in Kubernetes ist eine Funktion, die Sicherheitsfunktionen für in einem Namespace ausgeführte Schoten bietet. Die Standards ermöglichen es uns, das Verhalten der Pods einfach und konsequent einzuschränken. In diesem Leitfaden stehen wir kurz vor der Pod Security Administration. Wir lernen, wie Sie die POD -Sicherheit auf Pods konfigurieren, die mit Hilfe eines Grundszenario in einem Namespace ausgeführt werden.

Was ist Pod Security Admission in Kubernetes?

Durch die Durchsetzung von POD -Sicherheitsstandards für Pods, die in einem Namespace ausgeführt werden, kubernetes v1.22 hat einen integrierten Zulassungskontroller namens POD Security Admission. Diese Standards werden verwendet, um clusterweite Ausnahmen und Standardeinstellungen festzulegen. Um das POD -Sicherheitseintritt zu konfigurieren, müssen Sie ein Minimum von V1 haben.22 Kubernetes- und PodSecurity -Featurity -Gate aktiviert. Alpha -Veröffentlichung von Kubernetes v1.22 hat die POD -Sicherheitsrichtlinie (PSP), die in Kubernetes v1 veraltet wurde.25. Die Verbesserung der POD -Sicherheitsrichtlinie (PSP) wird nun als POD -Sicherheitseintritt (PSA) bezeichnet. Im Gegensatz zu POD -Sicherheitsrichtlinien unterstützt die Zulassung zur Sicherheit von POD keine Mutationsressourcen, validiert jedoch den Zulassungskontroller.

Darüber hinaus haben die Sicherheitsstandards für POD drei Stufen für die Eintritt in die Sicherheitsversicherung in der POD definiert: Ausgangswert, eingeschränkt und privilegiert. Diese Ebenen werden in einem Sicherheitskontext eines Schotens und verschiedenen anderen Feldern durch die Sicherheitsbeschuldigung der POD gestellt. Nach Konfiguration des Zulassungssteuerungsmodus für die POD -Sicherheit für jeden Namespace können Sie den Namespace festlegen, um diesen Modus anzugeben. Mit dem von Kubernetes bereitgestellten Beschriftungen können Sie eine beliebige POD -Sicherheitsstandard -Standardebene für einen Namespace auswählen. Lassen Sie uns nun lernen, wie Sie mit Hilfe eines einfachen Beispiels die POD -Sicherheitseinnahme konfigurieren.

Voraussetzungen

Stellen Sie vor dem weiteren Umzug sicher, dass diese grundlegenden Tools installiert sind und die erforderlichen Funktionen aktiviert sind:

  • Ubuntu 22.04 oder eine andere neueste Version
  • Kubernetes Cluster v1.22 mit -Feature -Gates = “… .,PodSecurity = true ”-Flag aktiviert
  • Minikube Cluster
  • Kubectl -Befehlszeilenwerkzeug

Sobald Sie diese Tools in Ihrem System konfiguriert haben, können Sie die POD -Sicherheitseinnahme in Kubernetes konfigurieren. Übergehen zum Abschnitt zur Implementierung unter der Annahme, dass Sie bereits alle diese Voraussetzungen installiert haben.

So konfigurieren Sie Pod Security Admission?

Befolgen Sie die unten angegebenen Schritte und konfigurieren Sie die POD -Sicherheitseinnahme in Kubernetes für Ihr System einfach.

Schritt 1: Kubernetes starten

Erstens brauchen wir den Minikube -Cluster in Betrieb. Dafür werden wir den unten angegebenen Befehl verwenden, um ihn richtig zu starten:

> Minikube Start

Dieser Befehl stellt sicher, dass der Minikube -Cluster funktioniert, damit Sie Ihren Befehl implementieren und Anwendungen im Cluster ausführen können.

Schritt 2: Durchsetzen der Pod -Sicherheitseinnahme mit der Bereitstellung

Es gibt drei Ebenen, die durch POD -Sicherheitsstandards definiert sind: Grundlinie, Privilegien und eingeschränkt. Hier werden wir eine Eingeständnis der POD -Sicherheit auf zwei Ebenen von Sicherheitsstandards der POD durchsetzen, privilegiert und eingeschränkt.

Schritt 2 (a): Erstellen Sie Namespaces für Pods

Erstens erstellen wir zwei Namespaces. Der First -Namespace wird mit der privilegierten Richtlinie mit dem unten angegebenen Befehl erstellt:

> kubectl erstellen namespace test-privilegiert

Der zweite Namespace wird mit der eingeschränkten Richtlinie mit dem unten angegebenen Befehl erstellt:

> kubectl erstellen namenspace test-beschränkte

Schritt 2 (b): Stellen Sie Sicherheitsstandards in den Namespaces fest

Jetzt müssen wir Sicherheitsstandards für die Namespaces festlegen, die wir im vorherigen Schritt erstellt haben. Um den Sicherheitsstandard für die privilegierte Richtlinie festzulegen, verwenden wir den unten angegebenen Befehl:

> Kubectl-Label-Overwrite NS-Test-Privilegierte Pod-Sicherheit.Kubernetes.IO/Durchsetzung = privilegierte Pod-Sicherheit.Kubernetes.io/warn = privilegiert

Wir verwenden den folgenden Befehl, um den Sicherheitsstandard für die begrenzte Richtlinie festzulegen:

> Kubectl-Label-Overwrite NS-beschränkte Podsicherheit.Kubernetes.IO/Durchsetzung = eingeschränkte Pod-Sicherheit.Kubernetes.io/warn = eingeschränkt

Diese Standards ermöglichen es den Namespaces, einen laufenden Pod zu blockieren, und senden dem Benutzer eine Warnung, wenn ein Pod versucht, die konfigurierte Richtlinie nicht zu erfüllen. Lassen Sie uns nun versuchen, Pods im Namespace bereitzustellen, um zu überprüfen, welches Ergebnis wir erhalten.

Schritt Nr. 3: Bereitstellen von Schoten in Namespaces bereitstellen

Die Namespaces wurden erstellt und es werden Sicherheitsstandards festgelegt. Lassen Sie uns also Schoten für diese von Pod Security verabreichten Namespaces bereitstellen.

Schritt 3 (a): Versuchen Sie, Pods bereitzustellen

Zunächst stellen wir Pods für die privilegierte Richtlinie ein, indem wir den unten angegebenen Befehl verwenden:

kalsoom@kalsoom-virtualbox> kubectl anwenden-namespace test-privilegiert -f https: // raw.GithubuSercontent.com/azure-samples/azure-voting-app-redis/Master/Azure-Vote-All-in-One-Redis.Yaml

Zweitens stellen wir mit dem unten angegebenen Befehl Pods für die privilegierte Richtlinie bereit:

kalsoom@kalsoom-virtualbox> kubectl anwenden-namespace testrestricted -f https: // raw.GithubuSercontent.com/azure-samples/azure-voting-app-redis/Master/Azure-Vote-All-in-One-Redis.Yaml

Als wir versuchten, Pods für die begrenzte Richtlinie einzusetzen, wurde eine Warnung generiert, wie zu sehen ist. Da Pods gegen die konfigurierte Richtlinie verstoßen, wurde diese Warnung generiert. Für die privilegierte Richtlinie wird keine Warnung generiert, da kein Pod gegen die konfigurierte Richtlinie verstoßen hat.

Schritt Nr. 3 (b): Überprüfen Sie,

Lassen Sie uns nun überprüfen, ob in den Namespaces Pod ausgeführt wird oder nicht. Zunächst werden wir die privilegierte Richtlinie mit dem folgenden Befehl überprüfen:

> Kubectl Get Pods -NamePace -Test -Privilegierte

Beachten Sie, dass einige Pods im Namespace ausgeführt werden. Es wurden keine Warnungen für die privilegierte Richtlinie generiert. Lassen Sie uns nun überprüfen, ob im eingeschränkten Namespace mit dem folgenden Befehl Pod ausgeführt wird:

> Kubectl Get Pods -NamePace -Test -beschränkt

Im eingeschränkten Namespace wird kein Pod ausgeführt. Denken Sie daran, dass wir die Warnung erhalten haben, dass einige Pods die konfigurierte Richtlinie im vorherigen Schritt verletzt haben.

Schritt 4: Löschen Sie den Namespace

Der letzte Schritt besteht darin, die von uns erstellten Namespaces zu löschen. Verwenden Sie den unten angegebenen Befehl, um die Namespaces zu löschen:

> Kubectl-Namespace-Test-beschränkten Test-Privilegierten

Dieser Befehl löscht beide Namespaces aus dem Cluster.

Abschluss

In diesem Artikel haben wir Richtlinien zur Pod Security Admission (PSA) in Kubernetes angegeben. Wir haben untersucht, was für ein POD -Sicherheitseintritt in Kubernetes ist. Wir haben auch gelernt, wie man die POD -Sicherheitseinnahme in Kubernetes für die in einem Namespace ausgeführten Pods konfiguriert. Indem wir ein einfaches Szenario demonstrieren, haben wir gezeigt.