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.
- 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.
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
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 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.
Tipo de recurso | Niveles de acceso |
---|---|
Destinos |
|
Trabajos |
|
Otros tipos de recursos: es necesario definir el acceso a estos tipos de recursos mediante la API (RaaS).
|
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.