Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar.

Rollen

Übersicht

Jeder Benutzer in SUSE Observability muss ein Subjekt und eine Reihe von Berechtigungen zugewiesen bekommen; diese Kombination wird als Rolle bezeichnet. Eine Rolle beschreibt eine Gruppe von Benutzern, die auf einen bestimmten Datensatz zugreifen können. SUSE Observability wird mit einer Reihe von vordefinierten Rollen geliefert, und Sie können auch Rollen erstellen, die Ihren Bedürfnissen entsprechen.

Vordefinierte Rollen

Es gibt vier vordefinierte Rollen in SUSE Observability:

  • Administrator - hat vollen Zugriff auf alle Ansichten und hat alle Berechtigungen.

  • Power User - wird typischerweise einem Benutzer zugewiesen, der SUSE Observability für ein oder mehrere Teams konfigurieren muss, aber nicht die gesamte SUSE Observability-Installation verwalten wird.

  • Kubernetes Troubleshooter - hat alle Berechtigungen, die erforderlich sind, um SUSE Observability zur Fehlersuche zu verwenden, einschließlich der Möglichkeit, Monitore zu aktivieren/deaktivieren, benutzerdefinierte Ansichten zu erstellen und die Kommandozeilenschnittstelle zu verwenden.

  • Gast - hat nur Lesezugriff auf SUSE Observability.

Die Berechtigungen, die jeder vordefinierten Rolle in SUSE Observability zugewiesen sind, finden Sie unten. Für Details zu den verschiedenen Berechtigungen und wie man sie mit der sts Kommandozeilenschnittstelle verwaltet, siehe Rollenbasierte Zugriffskontrolle (RBAC) Berechtigungen

  • Administrator

  • Power-User

  • Fehlerbeheber

  • Gast

Die Administratorrolle (stackstate-admin): hat alle Berechtigungen zugewiesen.

Die Berechtigungen, die der vordefinierten Administratorrolle (stackstate-admin) zugewiesen sind, sind unten aufgeführt, diese wurden mit der sts Kommandozeilenschnittstelle abgerufen. Für Details zu den verschiedenen Berechtigungen und wie man sie mit der sts Kommandozeilenschnittstelle verwaltet, siehe RBAC-Berechtigungen.

❯ ./sts rbac describe-permissions --subject stackstate-admin
Got subject from the following subject sources: Static

PERMISSION                      | RESOURCE
create-dashboards               | system
create-favorite-dashboards      | system
create-favorite-views           | system
create-ingestion-api-keys       | system
create-metric-bindings          | system
create-monitors                 | system
create-notifications            | system
create-service-tokens           | system
create-stackpack-configurations | system
create-views                    | system
delete-dashboards               | system
delete-favorite-dashboards      | system
delete-favorite-views           | system
delete-ingestion-api-keys       | system
delete-metric-bindings          | system
delete-monitors                 | system
delete-notifications            | system
delete-service-tokens           | system
delete-stackpack-configurations | system
delete-sync-data                | system
delete-views                    | system
execute-component-actions       | system
execute-monitors                | system
execute-restricted-scripts      | system
execute-scripts                 | system
get-agents                      | system
get-api-tokens                  | system
get-dashboards                  | system
get-ingestion-api-keys          | system
get-metric-bindings             | system
get-metrics                     | system
get-monitors                    | system
get-notifications               | system
get-permissions                 | system
get-service-tokens              | system
get-settings                    | system
get-stackpacks                  | system
get-sync-data                   | system
get-system-notifications        | system
get-topic-messages              | system
get-topology                    | system
get-traces                      | system
get-views                       | system
update-dashboards               | system
update-metric-bindings          | system
update-metrics                  | system
update-monitors                 | system
update-notifications            | system
update-permissions              | system
update-scoped-permissions       | system
update-settings                 | system
update-stackpack-configurations | system
update-stackpacks               | system
update-views                    | system
update-visualization            | system

Die Power User-Rolle (stackstate-power-user) hat alle Administratorberechtigungen, mit Ausnahme von:

  • execute-restricted-scripts

  • update-permissions

  • update-stackpacks

Die Berechtigungen, die der vordefinierten Power User-Rolle (stackstate-power-user) zugewiesen sind, sind unten aufgeführt, diese wurden mit der sts Kommandozeilenschnittstelle abgerufen. Für Details zu den verschiedenen Berechtigungen und wie man sie mit der sts Kommandozeilenschnittstelle verwaltet, siehe RBAC-Berechtigungen.

❯ ./sts rbac describe-permissions --subject stackstate-power-user
Got subject from the following subject sources: Static

PERMISSION                      | RESOURCE
create-dashboards               | system
create-favorite-dashboards      | system
create-favorite-views           | system
create-metric-bindings          | system
create-monitors                 | system
create-notifications            | system
create-stackpack-configurations | system
create-views                    | system
delete-dashboards               | system
delete-favorite-dashboards      | system
delete-favorite-views           | system
delete-metric-bindings          | system
delete-monitors                 | system
delete-notifications            | system
delete-stackpack-configurations | system
delete-sync-data                | system
execute-component-actions       | system
execute-monitors                | system
execute-scripts                 | system
get-agents                      | system
get-api-tokens                  | system
get-dashboards                  | system
get-metric-bindings             | system
get-metrics                     | system
get-monitors                    | system
get-notifications               | system
get-permissions                 | system
get-settings                    | system
get-stackpacks                  | system
get-sync-data                   | system
get-system-notifications        | system
get-topic-messages              | system
get-topology                    | system
get-traces                      | system
get-views                       | system
update-dashboards               | system
update-metric-bindings          | system
update-metrics                  | system
update-monitors                 | system
update-notifications            | system
update-settings                 | system
update-stackpack-configurations | system
update-views                    | system
update-visualization            | system

Die Fehlerbeheberrolle (stackstate-k8s-troubleshooter) hat Zugriff auf alle in SUSE Observability verfügbaren Daten und die Möglichkeit, Ansichten zu erstellen und Monitore zu aktivieren/deaktivieren.

Die Berechtigungen, die der vordefinierten Fehlerbeheberrolle zugewiesen sind, sind unten aufgeführt. Diese wurden mit der sts Kommandozeilenschnittstelle abgerufen. Für Details zu den verschiedenen Berechtigungen und wie man sie mit der sts Kommandozeilenschnittstelle verwaltet, siehe RBAC-Berechtigungen.

❯ ./sts rbac describe-permissions --subject stackstate-k8s-troubleshooter
Got subject from the following subject sources: Static

PERMISSION                 | RESOURCE
create-dashboards          | system
create-favorite-dashboards | system
create-favorite-views      | system
create-monitors            | system
create-notifications       | system
create-views               | system
delete-dashboards          | system
delete-favorite-dashboards | system
delete-favorite-views      | system
delete-monitors            | system
delete-notifications       | system
delete-views               | system
execute-monitors           | system
get-agents                 | system
get-api-tokens             | system
get-dashboards             | system
get-metric-bindings        | system
get-metrics                | system
get-monitors               | system
get-notifications          | system
get-permissions            | system
get-settings               | system
get-stackpacks             | system
get-system-notifications   | system
get-topic-messages         | system
get-traces                 | system
get-views                  | system
update-dashboards          | system
update-monitors            | system
update-notifications       | system
update-stackpacks          | system
update-views               | system
update-visualization       | system

Die Gastrolle (stackstate-guest) hat nur Lesezugriff auf SUSE Observability.

Die Berechtigungen, die der vordefinierten Gastrolle zugewiesen sind, sind unten aufgeführt. Diese wurden mit dem sts CLI abgerufen. Für Details zu den verschiedenen Berechtigungen und wie man sie mit der sts Kommandozeilenschnittstelle verwaltet, siehe RBAC-Berechtigungen.

❯ ./sts rbac describe-permissions --subject stackstate-guest
Got subject from the following subject sources: Static

PERMISSION                 | RESOURCE
create-dashboards          | system
create-favorite-dashboards | system
create-favorite-views      | system
delete-dashboards          | system
delete-favorite-dashboards | system
delete-favorite-views      | system
get-api-tokens             | system
get-dashboards             | system
get-metric-bindings        | system
get-metrics                | system
get-monitors               | system
get-notifications          | system
get-permissions            | system
get-settings               | system
get-system-notifications   | system
get-topic-messages         | system
get-traces                 | system
get-views                  | system
update-dashboards          | system
update-visualization       | system

Benutzerdefinierte Rollen (Konfiguration RBAC)

Zusätzlich zu den vordefinierten Rollen (stackstate-admin, stackstate-power-user, stackstate-k8s-troubleshooter, stackstate-guest), die immer verfügbar sind, können benutzerdefinierte Rollen hinzugefügt werden. Es gibt mehrere Möglichkeiten, benutzerdefinierte Rollen hinzuzufügen:

  1. über die Konfigurationsdatei, mit denselben Berechtigungen wie die vordefinierten Rollen

  2. über die Konfigurationsdatei, mit benutzerdefinierten Berechtigungen

  3. Unter Verwendung der sts Kommandozeilenschnittstelle werden die Subjekte und ihre Berechtigungen in der Datenbank gespeichert und können zur Laufzeit geändert werden.

Rollen, die über die Konfigurationsdatei hinzugefügt werden, erfordern einen Neustart und führen daher zu einer kurzen Ausfallzeit. Rollen, die mit der Kommandozeilenschnittstelle erstellt werden, werden in der Datenbank gespeichert und können zur Laufzeit geändert werden.

Benutzerdefinierte Namen für vordefinierte Rollen

Verwenden Sie diese Option, wenn die vordefinierten SUSE Observability-Rollen gut passen, aber der externe Authentifizierungsanbieter andere Namen für die Rollen hat. Wenn beispielsweise der LDAP-Authentifizierungsanbieter ähnliche, aber anders benannte Rollen hat, fügen Sie diesen YAML-Ausschnitt in eine authentication.yaml ein, um den Rollen von LDAP dieselben Berechtigungen und Bereiche wie den vordefinierten, entsprechenden Rollen zu geben.

stackstate:
  authentication:
    roles:
      guest: ["ldap-guest-role"]
      powerUser: ["ldap-power-user-role"]
      admin: ["ldap-admin-role"]
      k8sTroubleshooter: ["ldap-troubleshooter-role"]

Um es für Ihre SUSE Observability-Installation (oder bereits laufende Instanz) zu verwenden, beachten Sie, dass es die API neu starten wird:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

Benutzerdefinierte Rollen über die Konfigurationsdatei

Um eine neue Rolle mit dem Namen development-troubleshooter einzurichten, die dieselben Berechtigungen wie die vordefinierte Fehlerbeheberrolle erlaubt, jedoch nur für den dev-test Cluster, fügen Sie diesen YAML-Ausschnitt in eine authentication.yaml ein:

stackstate:
  authentication:
    roles:
      custom:
        development-troubleshooter:
          systemPermissions:
          - create-dashboards
          - create-favorite-dashboards
          - create-favorite-views
          - create-monitors
          - create-notifications
          - create-views
          - delete-dashboards
          - delete-favorite-dashboards
          - delete-favorite-views
          - delete-monitors
          - delete-notifications
          - delete-views
          - execute-monitors
          - get-agents
          - get-api-tokens
          - get-dashboards
          - get-metric-bindings
          - get-metrics
          - get-monitors
          - get-notifications
          - get-permissions
          - get-settings
          - get-stackpacks
          - get-system-notifications
          - get-topic-messages
          - get-traces
          - get-views
          - update-dashboards
          - update-monitors
          - update-notifications
          - update-stackpacks
          - update-views
          - update-visualization
          resourcePermissions:
            get-topology:
            - "cluster-name:dev-test"

Um es für Ihre SUSE Observability-Installation (oder bereits laufende Instanz) zu verwenden, beachten Sie, dass es die API neu starten wird:

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

Benutzerdefinierte Rollen über die Kommandozeilenschnittstelle (Observability RBAC)

Um eine neue Rolle mit dem Namen development-troubleshooter einzurichten, die dieselben Berechtigungen wie die normale Fehlerbeheberrolle erlaubt, jedoch nur für den dev-test Cluster, muss ein neues Subjekt erstellt werden. Darüber hinaus muss diesem Subjekt der erforderliche Satz von Berechtigungen zugewiesen werden:

  1. Erstellen Sie das Subjekt (mit demselben Namen wie die Rolle, die Zuordnung von Rolle und Subjekt erfolgt nach Namen und ist groß- und kleinschreibungsempfindlich):

    sts rbac create-subject --subject development-troubleshooter
    sts rbac grant --subject development-troubleshooter --permission get-topology --resource "cluster-name:dev-test"'
  2. Konfigurierte Subjekte benötigen Berechtigungen, um auf Teile der Benutzeroberfläche zuzugreifen und Aktionen darin auszuführen. Um die gleichen Berechtigungen wie die Fehlerbeheberrolle zu gewähren, folgen Sie dem untenstehenden Beispiel:

    sts rbac grant --subject development-troubleshooter --permission create-dashboards
    sts rbac grant --subject development-troubleshooter --permission create-favorite-dashboards
    sts rbac grant --subject development-troubleshooter --permission create-favorite-views
    sts rbac grant --subject development-troubleshooter --permission create-monitors
    sts rbac grant --subject development-troubleshooter --permission create-notifications
    sts rbac grant --subject development-troubleshooter --permission create-views
    sts rbac grant --subject development-troubleshooter --permission delete-dashboards
    sts rbac grant --subject development-troubleshooter --permission delete-favorite-dashboards
    sts rbac grant --subject development-troubleshooter --permission delete-favorite-views
    sts rbac grant --subject development-troubleshooter --permission delete-monitors
    sts rbac grant --subject development-troubleshooter --permission delete-notifications
    sts rbac grant --subject development-troubleshooter --permission delete-views
    sts rbac grant --subject development-troubleshooter --permission execute-monitors
    sts rbac grant --subject development-troubleshooter --permission get-agents
    sts rbac grant --subject development-troubleshooter --permission get-api-tokens
    sts rbac grant --subject development-troubleshooter --permission get-dashboards
    sts rbac grant --subject development-troubleshooter --permission get-metric-bindings
    sts rbac grant --subject development-troubleshooter --permission get-metrics
    sts rbac grant --subject development-troubleshooter --permission get-monitors
    sts rbac grant --subject development-troubleshooter --permission get-notifications
    sts rbac grant --subject development-troubleshooter --permission get-permissions
    sts rbac grant --subject development-troubleshooter --permission get-settings
    sts rbac grant --subject development-troubleshooter --permission get-stackpacks
    sts rbac grant --subject development-troubleshooter --permission get-system-notifications
    sts rbac grant --subject development-troubleshooter --permission get-topic-messages
    sts rbac grant --subject development-troubleshooter --permission get-traces
    sts rbac grant --subject development-troubleshooter --permission get-views
    sts rbac grant --subject development-troubleshooter --permission update-dashboards
    sts rbac grant --subject development-troubleshooter --permission update-monitors
    sts rbac grant --subject development-troubleshooter --permission update-notifications
    sts rbac grant --subject development-troubleshooter --permission update-stackpacks
    sts rbac grant --subject development-troubleshooter --permission update-views
    sts rbac grant --subject development-troubleshooter --permission update-visualization

Bitte beachten Sie, dass der Name des Subjekts sowie die Berechtigungen die Groß- und Kleinschreibung beachten.