|
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:
-
a través del archivo de configuración, con los mismos permisos que los roles predefinidos
-
a través del archivo de configuración, con unos permisos personalizados
-
Utilizando el
stsCLI, 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:
-
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"' -
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.