Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Rôles

Présentation

Chaque utilisateur dans SUSE Observability doit avoir un sujet et un ensemble de autorisations assignés ; cette combinaison est appelée un rôle. Un rôle décrit un groupe d’utilisateurs qui peuvent accéder à un ensemble de données spécifique. SUSE Observability est livré avec un ensemble de rôles prédéfinis et vous pouvez également créer des rôles pour répondre à vos besoins.

Rôles prédéfinis

Il y a quatre rôles prédéfinis dans SUSE Observability :

  • Administrateur - a un accès complet à toutes les vues et dispose de toutes les autorisations.

  • Utilisateur Avancé - généralement accordé à un utilisateur qui doit configurer SUSE Observabilité pour une ou plusieurs équipes, mais ne gérera pas l’ensemble de l’installation de SUSE Observabilité.

  • Dépanneur Kubernetes - a toutes les autorisations requises pour utiliser SUSE Observability pour le dépannage, y compris la capacité d’activer/désactiver des moniteurs, de créer des vues personnalisées et d’utiliser le CLI.

  • Invité - a un accès en lecture seule à SUSE Observability.

Les autorisations assignées à chaque rôle prédéfini de SUSE Observability peuvent être trouvées ci-dessous. Pour plus de détails sur les différentes autorisations et leur gestion en utilisant le sts CLI, voir autorisations du contrôle d’accès en fonction du rôle (RBAC).

  • Administrateur

  • Utilisateurs avec pouvoir

  • Dépanneur

  • Invité

Le rôle Administrateur (stackstate-admin) : a toutes les autorisations assignées.

Les autorisations assignées au rôle Administrateur prédéfini (stackstate-admin) sont listées ci-dessous, celles-ci ont été récupérées en utilisant le sts CLI. Pour plus de détails sur les différentes autorisations et leur gestion en utilisant le sts CLI, voir autorisations du contrôle d’accès en fonction du rôle (RBAC).

❯ ./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

Le rôle Utilisateur Avancé (stackstate-power-user) a toutes les autorisations de l’administrateur, sauf :

  • execute-restricted-scripts

  • update-permissions

  • update-stackpacks

Les autorisations assignées au rôle Utilisateur Avancé prédéfini (stackstate-power-user) sont listées ci-dessous, celles-ci ont été récupérées en utilisant le sts CLI. Pour plus de détails sur les différentes autorisations et leur gestion en utilisant le sts CLI, voir autorisations du contrôle d’accès en fonction du rôle (RBAC).

❯ ./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

Le rôle Dépanneur (stackstate-k8s-troubleshooter) a accès à toutes les données disponibles dans SUSE Observability et la capacité de créer des vues et d’activer/désactiver des moniteurs.

Les autorisations assignées au rôle Dépanneur prédéfini sont listées ci-dessous, elles ont été récupérées en utilisant le sts CLI. Pour plus de détails sur les différentes autorisations et leur gestion en utilisant le sts CLI, voir autorisations du contrôle d’accès en fonction du rôle (RBAC).

❯ ./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

Le rôle Invité (stackstate-guest) a un accès en lecture seule à SUSE Observability.

Les autorisations attribuées au rôle Invité prédéfini sont énumérées ci-dessous, elles ont été récupérées en utilisant le sts CLI. Pour plus de détails sur les différentes autorisations et leur gestion en utilisant le sts CLI, voir autorisations du contrôle d’accès en fonction du rôle (RBAC).

❯ ./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

Rôles personnalisés (Configuration RBAC)

En plus des rôles prédéfinis (stackstate-admin, stackstate-power-user, stackstate-k8s-troubleshooter, stackstate-guest), qui sont toujours disponibles, des rôles personnalisés peuvent être ajoutés. Il existe plusieurs façons d’ajouter des rôles personnalisés :

  1. via le fichier de configuration, avec les mêmes autorisations que les rôles prédéfinis

  2. via le fichier de configuration, avec des autorisations personnalisées

  3. en utilisant le sts CLI, les sujets et leurs autorisations sont stockés dans la base de données et peuvent être modifiés pendant l’exécution

Les rôles ajoutés via le fichier de configuration nécessitent un redémarrage et entraînent donc une courte période de temps d’arrêt. Les rôles créés à l’aide du CLI sont stockés dans la base de données et peuvent être modifiés à l’exécution.

Noms personnalisés pour les rôles prédéfinis

Utilisez cette option lorsque les rôles prédéfinis de SUSE Observability conviennent bien mais que le fournisseur d’authentification externe a des noms différents pour les rôles. Par exemple, lorsque le fournisseur d’authentification LDAP a des rôles similaires mais nommés différemment, incluez ce fragment YAML dans un authentication.yaml pour donner aux rôles de LDAP les mêmes autorisations et portées que les rôles équivalents prédéfinis.

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

Pour l’utiliser dans votre installation SUSE Observability (ou instance déjà en cours d’exécution, notez qu’elle redémarrera l’API) :

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

Rôles personnalisés via le fichier de configuration

Pour configurer un nouveau rôle appelé development-troubleshooter, qui permettra les mêmes autorisations que le rôle de dépanneur prédéfini, mais uniquement pour le cluster dev-test, incluez ce fragment YAML dans un authentication.yaml :

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"

Pour l’utiliser dans votre installation SUSE Observability (ou instance déjà en cours d’exécution, notez qu’elle redémarrera l’API) :

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

Rôles personnalisés via le CLI (RBAC Observability)

Pour configurer un nouveau rôle appelé development-troubleshooter, qui permettra les mêmes autorisations que le rôle de dépanneur normal, mais uniquement pour le cluster dev-test, un nouveau sujet doit être créé. De plus, ce sujet doit se voir attribuer l’ensemble des autorisations requises :

  1. Créez le sujet (avec le même nom que le rôle, la correspondance rôle-sujet est basée sur le nom et sensible à la casse) :

    sts rbac create-subject --subject development-troubleshooter
    sts rbac grant --subject development-troubleshooter --permission get-topology --resource "cluster-name:dev-test"'
  2. Les sujets configurés ont besoin d’autorisations pour accéder à certaines parties de l’interface utilisateur et pour exécuter des actions dans celle-ci. Pour accorder les mêmes autorisations que le rôle de dépanneur, suivez l’exemple ci-dessous :

    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

Veuillez noter que le nom du sujet ainsi que les autorisations sont sensibles à la casse.