Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Funciones

Descripción general

Cada usuario en SUSE Observability necesita tener un sujeto y un conjunto de permisos asignados; esta combinación se llama un rol. Un rol describe un grupo de usuarios que pueden acceder a un conjunto de datos específico. SUSE Observability se entrega con un conjunto de roles predefinidos y también puedes crear roles que se ajusten a tus necesidades.

Roles predefinidos

Hay cuatro roles predefinidos en SUSE Observability:

  • Administrador - tiene acceso completo a todas las vistas y tiene todos los permisos.

  • Usuario Avanzado - típicamente concedido a un usuario que necesita configurar SUSE Observability para un equipo(s), pero no gestionará toda la instalación de SUSE Observability.

  • Solucionador de Problemas de Kubernetes - tiene todos los permisos requeridos para usar SUSE Observability para la resolución de problemas, incluyendo la capacidad de habilitar/deshabilitar monitores, crear vistas personalizadas y usar el CLI.

  • Invitado - tiene acceso solo de lectura a SUSE Observability.

Los permisos asignados a cada rol predefinido de SUSE Observability se pueden encontrar a continuación. Para detalles de los diferentes permisos y cómo gestionarlos usando el sts CLI, consulta Control de acceso basado en funciones (RBAC) permisos.

  • Administrador

  • Usuarios avanzados

  • Solucionador de Problemas

  • Sistema invitado

El rol de Administrador (stackstate-admin): tiene todos los permisos asignados.

Los permisos asignados al rol de Administrador predefinido (stackstate-admin) se enumeran a continuación, estos fueron recuperados usando el sts CLI. Para detalles de los diferentes permisos y cómo gestionarlos usando el sts CLI, consulta permisos 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

El rol de Usuario Avanzado (stackstate-power-user) tiene todos los permisos de Administrador, excepto por:

  • execute-restricted-scripts

  • update-permissions

  • update-stackpacks

Los permisos asignados al rol de Usuario Avanzado predefinido (stackstate-power-user) se enumeran a continuación, estos fueron recuperados usando el sts CLI. Para detalles de los diferentes permisos y cómo gestionarlos usando el sts CLI, consulta permisos 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

El rol de Solucionador de Problemas (stackstate-k8s-troubleshooter) tiene acceso a todos los datos disponibles en SUSE Observability y la capacidad de crear vistas y habilitar/deshabilitar monitores.

Los permisos asignados al rol de Solucionador de Problemas predefinido se enumeran a continuación, estos fueron recuperados usando el sts CLI. Para detalles de los diferentes permisos y cómo gestionarlos usando el sts CLI, consulta permisos 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

El rol de Invitado (stackstate-guest) tiene acceso de solo lectura a SUSE Observability.

Los permisos asignados al rol de Invitado predefinido se enumeran a continuación, estos fueron recuperados usando el sts CLI. Para obtener detalles sobre los diferentes permisos y cómo gestionarlos usando el sts CLI, consulta permisos 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

Roles personalizados (configuración RBAC)

Además de los roles predefinidos (stackstate-admin, stackstate-power-user, stackstate-k8s-troubleshooter, stackstate-guest) que siempre están disponibles, se pueden añadir roles personalizados. Existen múltiples formas de añadir roles personalizados:

  1. a través del archivo de configuración, con los mismos permisos que los roles predefinidos

  2. a través del archivo de configuración, con unos permisos personalizados

  3. Utilizando el sts CLI, los sujetos y sus permisos se almacenan en la base de datos y pueden ser modificados durante el tiempo de ejecución.

Los roles añadidos a través del archivo de configuración requieren un reinicio y, por lo tanto, resultan en un breve período de inactividad. Los roles creados utilizando la CLI se almacenan en la base de datos y pueden ser modificados en tiempo de ejecución.

Nombres personalizados para roles predefinidos

Utiliza esta opción cuando los roles predefinidos de SUSE Observability son adecuados, pero el proveedor de autenticación externa tiene nombres diferentes para los roles. Por ejemplo, cuando el proveedor de autenticación LDAP tiene roles similares pero con nombres diferentes, incluye este fragmento YAML en un authentication.yaml para otorgar a los roles de LDAP los mismos permisos y ámbitos que los roles equivalentes predefinidos.

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

Para utilizarlo en tu instalación de SUSE Observability (o en una instancia ya en funcionamiento, ten en cuenta que reiniciará la API):

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

Roles personalizados a través del archivo de configuración

Para configurar un nuevo rol llamado development-troubleshooter, que permitirá los mismos permisos que el rol de Solucionador de Problemas predefinido, pero solo para el clúster dev-test, incluye este fragmento YAML en 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"

Para utilizarlo en tu instalación de SUSE Observability (o en una instancia ya en funcionamiento, ten en cuenta que reiniciará la API):

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

Roles personalizados a través de la CLI (RBAC de Observabilidad)

Para configurar un nuevo rol llamado development-troubleshooter, que permitirá los mismos permisos que el rol normal de Solucionador de Problemas, pero solo para el clúster dev-test, se necesita crear un nuevo sujeto. Además, a este sujeto se le debe asignar el conjunto requerido de permisos:

  1. Crea el sujeto (con el mismo nombre que el rol, la coincidencia entre rol y sujeto se basa en el nombre y es sensible a mayúsculas y minúsculas):

    sts rbac create-subject --subject development-troubleshooter
    sts rbac grant --subject development-troubleshooter --permission get-topology --resource "cluster-name:dev-test"'
  2. Los sujetos configurados necesitan permisos para acceder a partes de la interfaz de usuario y para ejecutar acciones en ella. Para conceder los mismos permisos que el rol de Solucionador de Problemas, sigue el siguiente ejemplo:

    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

Ten en cuenta que el nombre del sujeto, así como los permisos, son sensibles a mayúsculas y minúsculas.