Was ist Runasuser in der Kubernetes -Umgebung??
Der Runasuser ist eines der in der Konfigurationsdatei angegebenen Sicherheitskontextfelder. Der Wert des Runasuser -Feldes bestimmt, dass alle Prozesse im Container mit der angegebenen Runasuser -ID ausgeführt werden.
Der Sicherheitskontext wird verwendet. Die Haupteinstellungen für Sicherheitskontext umfassen Benutzer -ID, primäre Gruppen -ID, ergänzende Gruppen -ID, SecComp, Apparmor, Linex -Funktionen usw. Die Sicherheitskontexteinstellung ist nicht auf diese Dinge beschränkt, es gibt viel mehr Einstellungen enthalten.
In diesem Artikel möchten wir jedoch anhand des Verwendungs -ID des Benutzers anstelle des Administrators durch die Verwendung der ID dieses Benutzers anstelle des Administrators ausgeführt werden. Lassen Sie uns zum nächsten Abschnitt wechseln, um zu überprüfen, wie Sie die Sicherheitskontexteinstellung für einen Container oder einen Pod definieren.
Voraussetzungen
Stellen Sie vor Beginn sicher, dass Ihr System den Voraussetzungen erfüllt, damit Sie keine Fehler haben, während Sie Kubernetes als allgemeiner Benutzer verwenden. Die Liste der Voraussetzungen ist unten angegeben:
Wenn Sie alle diese Tools in Ihrem System installieren lassen, können Sie die Kubernetes -Umgebung als allgemeiner Benutzer verwenden.
Geben Sie den Runasuser -Sicherheitskontext für die Kubernetes -Umgebung an
Im Allgemeinen wurden in der Kubernetes -Umgebung mit Administratorrechten alle ausgeführten Befehle oder Arbeiten durchgeführt. Wenn Sie die Sicherheitsberechtigungen des Benutzers ändern müssen, können Sie die Benutzerrechte ändern, indem Sie einem bestimmten Benutzer ermöglichen, Zugriff auf das System zu haben. Dies kann durch Befolgen des unten angegebenen Vorgangs erfolgen.
Zunächst müssen wir sicherstellen, dass der Minikube -Cluster erfolgreich in Betrieb ist, und dafür werden wir den folgenden Befehl verwenden:
> Minikube Start
Dadurch wird der Minikube -Cluster gestartet, wenn er nicht zuvor gestartet wurde oder sicherstellt, dass sich der Minikube im aktiven Modus befindet.
Nachdem unser Minikube -Cluster im Betrieb ist, sind wir bereit, die Sicherheitsbeschränkungen für unser System zu ändern. Um die Sicherheitseinstellungen für einen POD im Cluster anzugeben. Verwenden Sie den Befehl "Nano", um eine neue YAML -Konfigurationsdatei zu erstellen.
> Nano SC.Yaml
Dieser Befehl erstellt eine YAML -Datei namens SC.Yaml. Jetzt können Sie die Definitionsdefinition in diese Konfigurationsdatei einfügen. Die Definitionsdefinition wird unten für Ihre Referenz angegeben:
Speichern Sie nun die Bereitstellungsdefinition im SC.YAML -Konfigurationsdatei, damit wir die Bereitstellung auf den Pods anwenden können. Beachten Sie, dass der Wert des Runasuser 1000 beträgt, was bedeutet, dass die Benutzer -ID 1000 ist, mit der wir uns auf den spezifischen Benutzer beziehen können. Der Runasuser gibt an, dass alle Prozesse für die Container im Pod mit dem angegebenen Runasuser -Wert ausgeführt werden. Die Rinasgroup gibt die primäre Gruppen -ID für den Prozess im POD.
Lassen Sie uns nun die Konfigurationsdefinition auf die Bereitstellung anwenden, indem wir den unten angegebenen Befehl verwenden:
> kubectl anwenden -f sc.Yaml
Dies hat die Schoten aus der Konfigurationsdefinition erstellt. Überprüfen Sie den aktuellen Status der POD im Cluster mit dem folgenden Befehl:
> Kubectl Get Pod Security-Context-Demo
Der Status des POD ist "ausgeführt", was bedeutet, dass wir die Shell in diesem Behälter bereitstellen können. Verwenden Sie den folgenden Befehl, um die Shell in den Container des laufenden Sicherheitskontext-Demo-Pod zu bringen:
> kubectl exec -it Security -Context -Demo - -Sh
Der nächste Schritt besteht darin, alle ausgeführten Prozesse aufzulisten:
> ps
Da wir den Runasuser als 1000 definiert haben, werden alle Prozesse als 1000 ausgeführt. Dies bedeutet, dass wir dem Benutzer 1000 Berechtigungen zur Verfügung gestellt haben, um Zugriff auf das System zu erhalten. Die Sicherheitspräferenzen wurden für den Benutzer 1000 geändert. Jetzt werden alle Prozesse mit der Benutzer -ID 1000 ausgeführt. Lassen Sie uns direkt zu einem anderen navigieren, um den Sicherheitskontext von Benutzer 1000 zu überprüfen:
> CD /Daten
Dadurch navigieren wir uns zum /data -Verzeichnis, in dem wir alles im Verzeichnis mit dem folgenden Befehl auflisten können:
> ls -l
In der obigen Ausgabe sehen Sie, dass das /data -Verzeichnis die ergänzende Benutzer -ID 2000 verwendet. Lassen Sie uns nun zu einem anderen Verzeichnis navigieren, um zu überprüfen, welche Benutzer -ID es verwendet:
> CD -Demo
Dies führt uns zum /Demo -Verzeichnis, in dem wir alles aus dem Verzeichnis auflisten können:
> ls -l
Lassen Sie uns sehen, welche IDs im Verzeichnis /Daten /Demo verwendet wurden:
> id
Die Ausgabe zeigt, dass die Dateien im Verzeichnis /data /demo die Benutzer -ID 1000, die primäre Gruppen -ID 3000 und die ergänzende Gruppen -ID 2000 verwenden.
Um die Shell zu schließen, können Sie den Befehl exit verwenden und sofort aus der Shell herausholen:
> existieren
Denken Sie daran, dass wir in verschiedene Verzeichnisse navigiert haben, um die Runasuser -Berechtigungen zu überprüfen. Daher müssen wir ordnungsgemäß aus der Shell beenden, um die Sicherheitsberechtigungen vom Benutzer zurückzubekommen.
Abschluss
In diesem Artikel haben wir speziell etwas über die Runasuser -Sicherheitsrechte erfahren. Wir haben gelernt, dass der Prozess in der Kubernetes -Umgebung ohne Administratorrechte ausgeführt werden kann. Der Sicherheitskontext kann für andere Benutzer definiert werden und sie können sicheren Zugriff auf das System haben und alle Prozesse nach Bedarf ausführen. Wenn Sie den Sicherheitskontext für einen bestimmten Benutzer aktivieren, indem Sie ihm die Runasuser -ID zuweisen, werden alle Prozesse in den Containern des Pod mit dieser ID ausgeführt.