Con el sistema de control de acceso basado en funciones (Role Based Access Control, RBAC) de SaltStack Config, es posible definir los ajustes de permisos de varios usuarios a la vez, ya que la configuración de permisos de una función se aplica a todos los usuarios incluidos en la función. Estos ajustes se pueden definir en el área de trabajo Funciones de la interfaz de usuario.

SaltStack Config incluye muchas funciones integradas que no se pueden eliminar.
  • Usuario: la función predeterminada asignada a todos los usuarios locales nuevos, de SSO y de LDAP. La función Usuario abarca los permisos fundamentales, como el acceso de lectura, necesarios para realizar muchas funciones básicas. Los usuarios a los que se asigna esta función pueden ver y ejecutar trabajos, así como ver el historial de trabajos, los resultados de los trabajos y los informes de ciertos tipos de trabajos y minions, limitados a la configuración de acceso a recursos de la función.
  • Administrador: esta función necesita acceder a herramientas más avanzadas que la función Usuario; por lo tanto, puede acceder a Administración del sistema. Los administradores pueden ver (y, en algunos casos, editar) datos confidenciales que se encuentran en la configuración de usuario y el pilar. La función puede crear, actualizar y eliminar recursos, como archivos, trabajos y destinos. Los administradores también pueden administrar las claves según sea necesario al configurar nodos nuevos.
  • Superusuario: los superusuarios pueden realizar cualquier operación en SaltStack Config, lo que incluye acceder a Administración del sistema. Se asigna la función Superusuario a root. No se puede eliminar ni clonar esta función. Es posible agregar cualquier grupo o usuario a la función, pero no se puede modificar ninguna de los ajustes de la función. Solo se deben agregar usuarios avanzados a la función Superusuario, ya que esta omite de forma efectiva las restricciones de permisos.

Además, es posible crear funciones definidas por el usuario para las necesidades únicas de la organización.

Si desea conceder un permiso de función para completar una tarea, debe definir la tarea permitida y también asignar acceso a un recurso o un área funcional. Un permiso es una categoría amplia de acciones permitidas, mientras que el acceso a los recursos permite definir un recurso específico (por ejemplo, un trabajo o un destino) en el que se puede realizar la acción.

El acceso a recursos para ciertos tipos de recursos y las áreas funcionales deben definirse en la API (RaaS), en lugar del editor Funciones.

Después de crear una función, puede optar por clonarla, establecer tareas permitidas y asignar acceso a un trabajo o destino.

Si desea definir una función para los controles de acceso basados en funciones (Role-Based Access Controls, RBAC) en SaltStack Config, debe definir la tarea permitida y asignar también acceso a recursos. Una tarea es una operación específica que se puede realizar en la interfaz de usuario, como crear, editar o ejecutar un trabajo. Un recurso es un elemento del entorno, como determinados maestros, minions, destinos, datos de archivos, etc.

Una tarea permitida es una categoría amplia de acciones permitidas, mientras que el acceso a recursos es más detallado, lo que permite especificar un recurso determinado (como un trabajo o un destino) en el que se puede ejecutar la acción.


Diagrama que muestra la relación entre las tareas y los recursos en SaltStack Config

En este ejemplo, una función puede ejecutar test.ping en el grupo de destino de Linux con la siguiente configuración de permisos:

  • Acceso de lectura al destino de Linux
  • Acceso de lectura/ejecución a un trabajo que incluye el comando test.ping

Diagrama que muestra la relación entre el acceso a tareas y recursos para un comando test.ping.

Tareas

La pestaña Tareas incluye las siguientes opciones.

Tarea

Descripción

Crear y eliminar nuevos destinos

La función puede crear nuevos destinos. Los usuarios asignados a esta función pueden editar y eliminar los destinos que crearon u otros destinos definidos en Acceso a recursos.

Un destino es el grupo de minions, en uno o varios maestros de Salt, al que se aplica el comando de Salt de un trabajo. Un maestro de Salt también se puede administrar como un minion y puede ser un destino si ejecuta el servicio de minion. Consulte Cómo crear destinos.

Modificar datos de pilares

La función puede ver, editar y eliminar información confidencial almacenada en pilares. Los usuarios que pertenecen a la función pueden editar o eliminar los pilares que crearon. También pueden editar o eliminar otros pilares si se les concede acceso a recursos (disponible solo a través de la API [RaaS]).

Los pilares son estructuras de datos definidas en el maestro de Salt y transferidas a uno o varios minions mediante destinos. Estos elementos permiten enviar los datos confidenciales dirigidos de forma segura solo al minion relevante. Consulte Cómo crear archivos de estado y datos de pilar.

Modificar servidor de archivos

La función puede ver el servidor de archivos y puede crear, editar o eliminar archivos. Los usuarios que pertenecen a la función pueden editar o eliminar los archivos que crearon. También pueden editar o eliminar otros archivos si se les concede acceso a recursos (disponible solo a través de la API [RaaS]).

El servidor de archivos es una ubicación para almacenar archivos específicos de Salt, como archivos principales o de estado, así como archivos que se pueden distribuir entre los minions, como los archivos de configuración del sistema. Consulte Cómo crear archivos de estado y datos de pilar.

Ejecutar comandos arbitrarios en minions

La función puede activar comandos fuera de un trabajo para que el maestro de Salt los seleccione. La función no se limita a ejecutar solo los comandos incluidos en la definición de un trabajo determinado.

Los minions son nodos que ejecutan el servicio de minion, y pueden escuchar los comandos de un maestro de Salt y realizar las tareas solicitadas.

Aceptar, eliminar y rechazar claves

La función puede aceptar, eliminar y rechazar claves de minion según sea necesario para la configuración inicial.

Una clave de minion permite establecer una comunicación cifrada entre un maestro de Salt y un minion de Salt.

Leer y modificar usuarios, funciones y permisos

La función puede ver los usuarios y los datos asociados, así como editar la configuración de funciones y permisos.

Nota: Esta tarea solo se aplica a las funciones integradas Administrador y Superusuario.

Las funciones se utilizan para definir permisos para varios usuarios que comparten un conjunto común de necesidades.

Ejecutar comandos en maestros de Salt

La función puede ejecutar comandos en maestros de Salt, como ejecutar la orquestación.

Los comandos que se ejecutan en los maestros de Salt también se denominan ejecutores de Salt. Los ejecutores de Salt son módulos que se utilizan para ejecutar funciones de conveniencia en el maestro de Salt. Consulte Cómo crear trabajos. Al agregar este permiso, la función puede utilizar la opción salt-run de la característica Ejecutar comando en la pestaña Minions.

Conformidad: crear, editar, eliminar y evaluar

La función puede crear, editar, eliminar y evaluar directivas de SaltStack SecOps Compliance. Además de otorgar permiso para esta tarea, también debe definir el acceso a recursos para los destinos en los que desee que la función realice acciones. Por ejemplo, si desea que la función OracleLinuxAdmin defina directivas para un destino OracleLinux, asigne a la función tanto el permiso para completar esta tarea como el acceso de lectura al destino OracleLinux.

Esta tarea no permite que la función corrija directivas de SaltStack SecOps Compliance.

SaltStack SecOps Compliance es un complemento para SaltStack Config que administra el estado de conformidad de seguridad de todos los sistemas en el entorno. Consulte Usar y administrar SaltStack SecOps para obtener más información.

Nota:

Se requiere una licencia de SaltStack SecOps.

Conformidad: corregir

La función puede corregir los minions no conformes detectados en una evaluación de SaltStack SecOps Compliance.

SaltStack SecOps Compliance es un complemento para SaltStack Config que administra el estado de conformidad de seguridad de todos los sistemas en el entorno. Consulte Usar y administrar SaltStack SecOps para obtener más información.

Nota:

Se requiere una licencia de SaltStack SecOps.

Conformidad: actualizar contenido de SaltStack

La función puede descargar actualizaciones en la biblioteca de seguridad de SaltStack SecOps Compliance.

Vulnerabilidad: crear, editar, eliminar y evaluar

La función puede crear, editar, eliminar y evaluar directivas de SaltStack SecOps Vulnerability. Además de otorgar permiso para esta tarea, también debe definir el acceso a recursos para los destinos en los que desee que la función ejecute evaluaciones.

Esta tarea no permite que la función corrija directivas de SaltStack SecOps Vulnerability.

SaltStack SecOps Compliance es un complemento para SaltStack Config que administra el estado de conformidad de seguridad de todos los sistemas en el entorno. Consulte Usar y administrar SaltStack SecOps para obtener más información.

Nota:

Se requiere una licencia de SaltStack SecOps.

Vulnerabilidad: corregir

La función puede corregir las vulnerabilidades detectadas en una evaluación de SaltStack SecOps Vulnerability.

SaltStack SecOps Vulnerability es un complemento para SaltStack Config que administra las vulnerabilidades de todos los sistemas en el entorno. Consulte Usar y administrar SaltStack SecOps para obtener más información.

Nota:

Se requiere una licencia de SaltStack SecOps.

Acceso a recursos

La pestaña Acceso a recursos permite definir el acceso a recursos para destinos y trabajos. Un destino es el grupo de minions, en uno o varios maestros de Salt, al que se aplica el comando de Salt de un trabajo. Un maestro de Salt también se puede administrar como un minion y puede ser un destino si ejecuta el servicio de minion. Los trabajos se utilizan para realizar tareas de ejecución remota, aplicar estados e iniciar ejecutores de Salt.

Nota: Los tipos de recursos no definidos en la tabla no requieren ninguna configuración de acceso a recursos específica.
Tipo de recurso Niveles de acceso
Destinos
  • Solo lectura: la función puede ver el destino indicado y sus detalles, pero no puede editarlo ni eliminarlo.
  • Lectura/escritura: la función puede ver y editar el destino indicado.
  • Lectura/escritura/eliminación: la función puede ver, editar y eliminar el destino indicado.
Trabajos
  • Solo lectura: la función puede ver el trabajo indicado y sus detalles, pero no puede editarlo, eliminarlo ni ejecutarlo.
  • Lectura/Ejecución: la función puede ver y ejecutar el trabajo indicado.
  • Lectura/ejecución/escritura: la función puede ver y editar el trabajo indicado, así como ejecutarlo.
  • Lectura/ejecución/escritura/eliminación: la función puede ver, editar y eliminar el trabajo indicado, así como ejecutarlo.
Otros tipos de recursos: es necesario definir el acceso a estos tipos de recursos mediante la API (RaaS).
  • Archivos en el servidor de archivos
  • Datos de pilar
  • Configuración de autenticación
Definido en la API (RaaS)

Para crear y definir una función:

Requisitos previos

Para definir las funciones de usuario, debe tener acceso de administrador.

Procedimiento

  1. En el menú lateral, haga clic en Administración > Funciones.
  2. Haga clic en Crear e introduzca un nombre para su función.
  3. En Tareas, seleccione las acciones permitidas que desea conceder a la función.
  4. Haga clic en Guardar.
  5. Para asignar acceso a un trabajo o destino, seleccione el rol en el área de trabajo Funciones, busque el trabajo o el destino requerido en Acceso a recursos y seleccione el nivel de acceso deseado. Por ejemplo, para permitir que una función ejecute trabajos, debe seleccionar Lectura/Ejecución para el trabajo y hacer clic en Guardar.
  6. (Opcional) Para incluir grupos, seleccione la función en el área de trabajo Funciones, seleccione los grupos que desea incluir en Grupos y haga clic en Guardar.
    Nota: Los permisos de función se suman. Los usuarios de los grupos asignados a varias funciones reciben acceso a una combinación de todos los elementos concedidos a cada función. Se concederán todas las tareas permitidas y el acceso a recursos que se definieron en la configuración de la función a los grupos seleccionados, incluidos todos los usuarios de esos grupos.
  7. (Opcional) Para clonar una función, selecciónela en el área de trabajo Funciones, haga clic en Clonar, introduzca un nuevo nombre para la función y haga clic en Guardar.
    Nota: De forma predeterminada, las funciones clonadas heredan las tareas permitidas de la función original. Las funciones clonadas no heredan el acceso a recursos; esto se debe definir por separado.
  8. (Opcional) En algunas situaciones, es posible que deba configurar permisos más detallados. Para conceder permisos avanzados, haga clic en Administración > Funciones > Avanzado, seleccione la función y seleccione o anule la selección de permisos adicionales. Haga clic en Guardar. Para obtener más información sobre los tipos de elementos y permisos avanzados, consulte Tipos de elementos y permisos avanzados.
    Nota: Los permisos mínimos recomendados para las operaciones de usuario típicas se resaltan en azul.
    Permisos seleccionados para un usuario típico en SaltStack Config