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.
Tareas
Las tareas representan casos de uso comunes en SaltStack Config. Al habilitar una tarea, se otorgan a la función todos los permisos necesarios para completarla.
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 Minions. |
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 Pilares. |
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 Servidor de archivos. |
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. Consulte Minions. |
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. Consulte Claves de minion. |
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 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 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 SaltStack SecOps Compliance.
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 SaltStack SecOps Compliance.
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 Vulnerability es un complemento para SaltStack Config que administra las vulnerabilidades de todos los sistemas en el entorno. Consulte SaltStack SecOps Vulnerability.
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 SaltStack SecOps Vulnerability.
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.
A continuación, se describen los diferentes niveles de acceso a recursos:
- 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 los siguientes tipos de recursos mediante la API (RaaS). Consulte Configurar permisos de API o póngase en contacto con un administrador para obtener ayuda.
- Archivos en el servidor de archivos
- Datos de pilar
- Configuración de autenticación
Todos los demás tipos de recursos (excepto los trabajos, los destinos y los mencionados anteriormente) no requieren ninguna configuración específica de acceso a recursos.
Diferencia entre las tareas permitidas y el acceso a recursos
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, como se ilustra en el siguiente diagrama.
En el siguiente ejemplo, una función puede ejecutar test.ping
en el grupo de destino de Linux. La función tiene 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
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. Consulte Asignar acceso a un trabajo o destino.