Sicheren Zugang zum Kubernetes Dashboard gewährleisten

KubernetesKubernetesBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung werden Sie die Sicherheit Ihres Kubernetes-Clusters verbessern, indem Sie ein schreibgeschütztes Servicekonto (ServiceAccount) für das Kubernetes Dashboard erstellen. Dies zeigt, dass Sie das Prinzip der rollenbasierten Zugangskontrolle (Role-Based Access Control, RBAC) verstehen. Sie werden ein neues Servicekonto, eine Clusterrolle (ClusterRole) mit schreibgeschützten Berechtigungen erstellen und die Clusterrolle an das Servicekonto binden. Abschließend werden Sie ein Token für das Servicekonto generieren, das Sie für die Anmeldung am Dashboard verwenden können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") subgraph Lab Skills kubernetes/get -.-> lab-434106{{"Sicheren Zugang zum Kubernetes Dashboard gewährleisten"}} kubernetes/create -.-> lab-434106{{"Sicheren Zugang zum Kubernetes Dashboard gewährleisten"}} kubernetes/apply -.-> lab-434106{{"Sicheren Zugang zum Kubernetes Dashboard gewährleisten"}} end

Sicheren Zugang zum Kubernetes Dashboard gewährleisten

Als Junior DevOps-Engineer werden Sie die Sicherheit Ihres Kubernetes-Clusters verbessern, indem Sie ein schreibgeschütztes Servicekonto (ServiceAccount) für das Kubernetes Dashboard erstellen. Dies zeigt, dass Sie das Prinzip der rollenbasierten Zugangskontrolle (Role-Based Access Control, RBAC) verstehen.

Aufgaben

  • Erstellen Sie ein neues Servicekonto mit dem Namen read-only-user im Namespace kubernetes-dashboard mithilfe der bereitgestellten YAML-Datei.
  • Erstellen Sie eine ClusterRole mit schreibgeschützten Berechtigungen für den Standard-Namespace (default namespace), die get-, list- und watch-Operationen für Pods, Services, Nodes, Namespaces und Deployments erlaubt.
  • Binden Sie die ClusterRole an das neue Servicekonto mit dem Namen read-only-user.
  • Generieren Sie ein Token für das Servicekonto, das Sie für die Anmeldung am Dashboard verwenden können.

Anforderungen

  • Arbeiten Sie im Verzeichnis ~/project.
  • Verwenden Sie den Namespace kubernetes-dashboard für das Servicekonto.
  • Erstellen Sie eine YAML-Datei mit dem Namen read-only-dashboard-access.yaml.
  • Das Servicekonto sollte nur Lese-Berechtigungen haben.
  • Begrenzen Sie den Zugriff auf den default-Namespace.

Geben Sie den Inhalt der YAML-Datei an:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: read-only-user
  namespace: kubernetes-dashboard

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: read-only-dashboard-role
rules:
  - apiGroups: [""]
    resources: ["pods", "services", "nodes", "namespaces", "deployments"]
    verbs: ["get", "list", "watch"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: read-only-dashboard-access
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: read-only-dashboard-role
subjects:
  - kind: ServiceAccount
    name: read-only-user
    namespace: kubernetes-dashboard

Beispiele

Beispielausgabe eines Servicekonto-Tokens:

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...

Beispielansicht des Dashboards nach der Anmeldung:

  • Sichtbar: Namespace-Ressourcen, Deployments, Pods
  • Nicht sichtbar: Erstellen, Bearbeiten, Löschen von Operationen

Tipps

  • Starten Sie Minikube und wenden Sie die Datei recommended.yaml aus dem offiziellen Kubernetes Dashboard-Repository an, um das Dashboard bereitzustellen.
  • Verwenden Sie die Befehle kubectl create und kubectl apply.
  • Überprüfen Sie die Konfigurationen von ClusterRole und ClusterRoleBinding.
  • Verwenden Sie kubectl -n kubernetes-dashboard create token read-only-user, um das Token zu generieren.
✨ Lösung prüfen und üben

Zusammenfassung

Zusammenfassend erfordert diese Herausforderung, dass Sie die Sicherheit Ihres Kubernetes-Clusters verbessern, indem Sie ein schreibgeschütztes Servicekonto (ServiceAccount) für das Kubernetes Dashboard erstellen. Sie werden ein neues Servicekonto, eine Clusterrolle (ClusterRole) mit schreibgeschützten Berechtigungen erstellen und die Clusterrolle an das Servicekonto binden. Abschließend werden Sie ein Token für das Servicekonto generieren, das Sie für die Anmeldung am Dashboard verwenden können.