Zum Hauptinhalt springen
Version: Nächste

Benutzerberechtigungen verwalten

Inoffizielle Beta-Übersetzung

Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →

Dieses Dokument beschreibt, wie Sie Benutzerberechtigungen in Chaos Mesh verwalten, einschließlich der Erstellung von Benutzerkonten mit verschiedenen Rollen, der Zuweisung von Berechtigungen zu Konten, der Verwaltung von Tokens sowie der Aktivierung oder Deaktivierung der Berechtigungsauthentifizierung.

Chaos Mesh verwendet RBAC-Autorisierung zur Verwaltung von Benutzerberechtigungen. Um Chaos-Experimente zu erstellen, anzuzeigen und zu verwalten, benötigen Benutzer entsprechende Berechtigungen in der apiGroups von chaos-mesh.org, um auf die Ressourcen der Chaos-Experimente zugreifen zu können.

Achtung

Chaos Mesh ermöglicht es Ihnen, die Berechtigungsauthentifizierung zu deaktivieren. Informationen hierzu finden Sie unter Berechtigungsauthentifizierung aktivieren oder deaktivieren.

Hinweis: Wir empfehlen nicht, die Berechtigungsauthentifizierung in Produktionsumgebungen zu deaktivieren.

Benutzerkonten erstellen und Berechtigungen zuweisen

Sie können das Chaos Dashboard verwenden, um Benutzerkonten zu erstellen und Berechtigungen zuzuweisen. Beim Zugriff auf das Dashboard erscheint ein Anmeldefenster. Klicken Sie auf den Link Click here to generate:

Dashboard Token Login 1
Dashboard Token Login 1

Beim Anklicken des Links erscheint ein Token-Generator:

Dashboard Token Generator
Dashboard Token Generator

Die Schritte zum Erstellen von Benutzerkonten und Zuweisen von Berechtigungen sind:

Berechtigungsumfang wählen

Um dem Konto Berechtigungen für alle Chaos-Experimente im Cluster zu erteilen, aktivieren Sie die Checkbox Cluster scoped. Wenn Sie im Dropdown-Menü Namespace einen Namespace angeben, erhält das Konto nur Berechtigungen im angegebenen Namespace.

Zusammenfassend stehen zwei Optionen zur Verfügung:

  • Cluster scoped: Das Konto hat Berechtigungen für alle Chaos-Experimente im Cluster.

  • Namespace scoped: Das Konto hat Berechtigungen für alle Chaos-Experimente im angegebenen Namespace.

Benutzerrolle auswählen

Aktuell bietet Chaos Mesh folgende Benutzerrollen an:

  • Manager: Hat alle Berechtigungen zum Erstellen, Anzeigen, Aktualisieren und Löschen von Chaos-Experimenten.

  • Viewer: Hat ausschließlich Berechtigungen zum Anzeigen von Chaos-Experimenten.

Berechtigungen generieren

Nachdem Berechtigungsumfang und Benutzerrolle definiert wurden, zeigt das Dashboard die entsprechende RBAC-Konfiguration im Token-Generator an. Beispielsweise sieht die Berechtigung für einen Manager im default-Namespace wie folgt aus:

kind: ServiceAccount
apiVersion: v1
metadata:
namespace: default
name: account-default-manager-vfmot

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default
name: role-default-manager-vfmot
rules:
- apiGroups: ['']
resources: ['pods', 'namespaces']
verbs: ['get', 'watch', 'list']
- apiGroups:
- chaos-mesh.org
resources: ['*']
verbs: ['get', 'list', 'watch', 'create', 'delete', 'patch', 'update']

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: bind-default-manager-vfmot
namespace: default
subjects:
- kind: ServiceAccount
name: account-default-manager-vfmot
namespace: default
roleRef:
kind: Role
name: role-default-manager-vfmot
apiGroup: rbac.authorization.k8s.io

Klicken Sie auf COPY in der oberen rechten Ecke des Konfigurationsabschnitts, um die RBAC-Konfiguration zu kopieren. Speichern Sie den Inhalt lokal als rbac.yaml.

Benutzerkonto erstellen und Berechtigungen zuweisen

Führen Sie folgenden Befehl im Terminal aus:

kubectl apply -f rbac.yaml
Hinweis

Stellen Sie sicher, dass der lokale Benutzer, der kubectl ausführt, über Clusterberechtigungen verfügt. Nur so können Benutzerkonten erstellt, Berechtigungen für andere Benutzer zugewiesen und Tokens generiert werden.

Token abrufen

Hinweis

Bei Kubernetes-Versionen vor v1.22 wurden automatisch Langzeit-Zugangsdaten für den Kubernetes-API-Zugriff erstellt. In neueren Kubernetes-Versionen müssen Sie manuell ein ServiceAccount-Token-Secret erstellen.

Weitere Details finden Sie unter Manuelles Erstellen eines API-Tokens für einen ServiceAccount.

Kopieren Sie den im dritten Schritt angezeigten Befehl aus dem Token-Generator und führen Sie ihn im Terminal aus. Beispielbefehl:

kubectl describe -n default secrets account-default-manager-vfmot

Die Ausgabe sieht wie folgt aus:

Name:         account-default-manager-vfmot-token-n4tg8
Namespace: default
Labels: <none>
Annotations: kubernetes.io/service-account.name: account-default-manager-vfmot
kubernetes.io/service-account.uid: b71b3bf4-cd5e-4efb-8bf6-ff9a55fd7e07

Type: kubernetes.io/service-account-token

Data
====
ca.crt: 1111 bytes
namespace: 7 bytes
token: eyJhbG...

Kopieren Sie das Token am Ende und verwenden Sie es im nächsten Schritt für die Anmeldung.

Am Chaos Dashboard mit dem erstellten Benutzerkonto anmelden

Schließen Sie den Token-Generator. Geben Sie im Feld Token das Token ein, das Sie im vorherigen Schritt erhalten haben, und vergeben Sie im Feld Name einen aussagekräftigen Namen für das Token. Es wird empfohlen, einen Namen zu verwenden, der eine Kombination aus Berechtigungsumfang und Benutzerrolle darstellt, z. B. default-manager. Nachdem Sie beide Felder ausgefüllt haben, klicken Sie auf Submit, um sich anzumelden:

Dashboard-Token-Anmeldung 2
Dashboard-Token-Anmeldung 2

Hinweis

Falls Sie Chaos Dashboard nicht bereitgestellt haben, können Sie RBAC-Konfigurationen auch selbst generieren und dann mit kubectl Benutzerkonten erstellen sowie Berechtigungen zuweisen.

Abmelden vom Chaos Dashboard

Wenn Sie das Token durch ein anderes ersetzen möchten, klicken Sie auf Settings in der linken Seitenleiste des Dashboards:

Dashboard-Token-Abmeldung
Dashboard-Token-Abmeldung

Oben auf der Seite sehen Sie die Schaltfläche Logout. Klicken Sie darauf, um sich vom aktuellen Konto abzumelden.

Häufig gestellte Fragen

Berechtigungsauthentifizierung aktivieren oder deaktivieren

Bei der Installation von Chaos Mesh mit Helm ist die Berechtigungsauthentifizierung standardmäßig aktiviert. Für Produktionsumgebungen und andere Szenarien mit hohen Sicherheitsanforderungen wird empfohlen, diese aktiviert zu lassen. Wenn Sie Chaos Mesh nur testen und schnell Chaos-Experimente erstellen möchten, können Sie mit --set dashboard.securityMode=false in einem Helm-Befehl die Authentifizierung deaktivieren. Der Befehl sieht wie folgt aus:

Um die Berechtigungsauthentifizierung erneut zu aktivieren, setzen Sie --set dashboard.securityMode=true in einem Helm-Befehl.