> ## Documentation Index
> Fetch the complete documentation index at: https://ayuda.daia.cl/llms.txt
> Use this file to discover all available pages before exploring further.

# Asignación de Roles

> Asignar permisos a grupos de forma granular

Aprende a asignar roles y permisos a grupos para controlar qué pueden hacer los usuarios.

## Conceptos Importantes

<Note>
  **Roles se asignan a GRUPOS, no a usuarios individuales.**

  Usuarios heredan roles de todos los grupos a los que pertenecen.
</Note>

**Modelo de permisos:**

```
Usuario → Pertenece a Grupos → Grupos tienen Roles → Roles otorgan Permisos
```

**Ver también:** [Gestión de Grupos](/usuarios/es/guides/group-management)

***

## Asignar Roles a un Grupo

### Proceso

1. Ve a **Usuarios** > **Roles por Grupo**
2. **Panel izquierdo:** Selecciona el grupo
3. **Panel derecho:** Verás roles organizados por módulo
4. Marca/desmarca checkboxes de roles necesarios
5. Click en **Guardar**

\[CAPTURA: Pantalla completa con panel grupos (izquierda) y panel roles (derecha)]

### Asignar Roles Individuales

<Steps>
  <Step title="Seleccionar grupo">
    En panel izquierdo, click en el grupo (ej: "Supervisores de Calidad")
  </Step>

  <Step title="Expandir módulo">
    En panel derecho, click en un módulo para expandirlo (ej: "Calidad")
  </Step>

  <Step title="Marcar roles">
    Marca ☑️ los checkboxes de roles que el grupo necesita:

    * ☑️ Ver muestreos de calidad
    * ☑️ Crear muestreos de calidad
    * ☐ Eliminar muestreos (dejar sin marcar si no necesita)
  </Step>

  <Step title="Repetir para otros módulos">
    Expande otros módulos y marca roles según sea necesario
  </Step>

  <Step title="Guardar cambios">
    Click en botón **Guardar**

    Verás confirmación: "Roles asignados correctamente"
  </Step>
</Steps>

\[CAPTURA: Módulo expandido con roles y checkboxes marcados/desmarcados]

### Asignar Módulo Completo

Para otorgar todos los roles de un módulo:

1. Expande el módulo
2. Click en **"Seleccionar Todos"** del módulo
3. (Opcional) Desmarca roles que NO necesita
4. Click en **Guardar**

\[CAPTURA: Botón "Seleccionar Todos" de un módulo]

<Tip>
  **Útil para:** Administradores que necesitan acceso completo a un módulo específico.
</Tip>

***

## Control de Cambios

### Indicador de Cambios Sin Guardar

Mientras editas roles, verás un **indicador visual** (badge o color) que muestra cambios pendientes.

**Acciones disponibles:**

* **Guardar**: Aplica los cambios permanentemente
* **Deshacer**: Revierte al último estado guardado

\[CAPTURA: Indicador de "cambios sin guardar" y botones Guardar/Deshacer]

<Warning>
  **Si cambias de grupo sin guardar**, perderás los cambios. El sistema te advertirá.
</Warning>

### Búsqueda de Roles

Usa el campo de búsqueda para filtrar roles por nombre o módulo.

**Útil cuando:** Buscas un rol específico entre muchos módulos.

***

## Organización de Roles por Módulo

Los roles están agrupados por el módulo al que pertenecen:

| Módulo         | Descripción                | Ejemplos de Roles              |
| -------------- | -------------------------- | ------------------------------ |
| **Calidad**    | Control de calidad         | Ver/Crear/Aprobar muestreos    |
| **Producción** | Gestión de producción      | Ver/Crear órdenes de trabajo   |
| **Materiales** | Gestión de inventarios     | Ver/Crear/Modificar materiales |
| **Usuarios**   | Administración de usuarios | Gestionar usuarios y permisos  |
| **Reportes**   | Generación de reportes     | Ver/Generar reportes           |

\[CAPTURA: Lista de módulos colapsados mostrando cantidad de roles por módulo]

**Ver también:** [Matriz de Permisos Completa](/usuarios/es/reference/permissions-matrix)

***

## Principio de Mínimo Privilegio

<Warning>
  **Regla de oro:** Solo otorga los permisos estrictamente necesarios.
</Warning>

### Buenas Prácticas

✅ **Hacer:**

* Otorgar solo roles necesarios para la función del grupo
* Revisar permisos periódicamente (cada 3-6 meses)
* Documentar por qué un grupo tiene ciertos roles
* Empezar con permisos mínimos y agregar según necesidad

❌ **Evitar:**

* Dar acceso de administrador sin justificación
* "Seleccionar Todos" sin revisar qué incluye
* Copiar permisos de otros grupos sin analizar
* Mantener roles que ya no se usan

### Niveles de Acceso Recomendados

**Solo Lectura:**

* Ver información sin modificar
* Para roles de consulta o auditoría

**Lectura y Escritura:**

* Ver y crear/modificar información
* Para usuarios operativos

**Administrador:**

* Acceso completo incluyendo eliminar y configurar
* Solo para personal de confianza autorizado

***

## Casos de Uso Comunes

### Caso 1: Grupo de Supervisores

```
Grupo: Supervisores de Calidad

Roles necesarios:
✅ Ver muestreos (lectura)
✅ Crear muestreos (escritura)
✅ Aprobar muestreos (validación)
✅ Ver reportes de calidad
✅ Generar reportes de calidad
❌ Eliminar muestreos (no necesario)
❌ Configurar parámetros de calidad (solo admin)
```

### Caso 2: Grupo de Operadores

```
Grupo: Operadores de Planta

Roles necesarios:
✅ Ver órdenes de producción
✅ Registrar producción
✅ Ver materiales asignados
❌ Crear órdenes de producción (solo supervisores)
❌ Modificar parámetros (solo admin)
❌ Eliminar registros (no necesario)
```

### Caso 3: Grupo de Solo Lectura

```
Grupo: Auditores - Solo Lectura

Roles necesarios:
✅ Ver muestreos de calidad
✅ Ver órdenes de producción
✅ Ver reportes
✅ Ver usuarios y grupos
❌ Crear/Modificar/Eliminar cualquier información
```

***

## Auditar Permisos de un Grupo

Para revisar qué puede hacer un grupo:

1. Selecciona el grupo en panel izquierdo
2. Revisa roles marcados por módulo en panel derecho
3. Valida que cumple principio de mínimo privilegio
4. Ajusta si encuentra permisos innecesarios

**Frecuencia recomendada:** Cada 3-6 meses o cuando cambia estructura organizacional.

**Ver también:** [Mejores Prácticas de Auditoría](/usuarios/es/reference/best-practices#auditoria)

***

## Preguntas Frecuentes

<AccordionGroup>
  <Accordion title="¿Por qué asigno roles a grupos y no directamente a usuarios?">
    **Escalabilidad y mantenimiento:**

    * Más fácil gestionar permisos de muchos usuarios
    * Cambios en un grupo afectan a todos sus miembros automáticamente
    * Consistencia: todos en un rol tienen exactamente los mismos permisos
    * Auditoría más simple

    **Ejemplo:** Si 20 supervisores necesitan un nuevo permiso, lo asignas una vez al grupo en lugar de 20 veces individualmente.
  </Accordion>

  <Accordion title="¿Qué pasa si un usuario está en múltiples grupos?">
    El usuario hereda los roles de **TODOS** sus grupos (suma de permisos).

    **Ejemplo:**

    * Usuario en "Supervisores" (puede aprobar) y "Operadores" (puede registrar)
    * Usuario efectivamente puede: aprobar Y registrar

    **No hay conflictos:** Si un grupo otorga un permiso, el usuario lo tiene, aunque otro grupo no lo incluya.
  </Accordion>

  <Accordion title="¿Cómo quito un permiso a un usuario específico?">
    **No puedes quitar permisos individuales** directamente. Tienes dos opciones:

    1. **Remover al usuario del grupo** que otorga ese permiso
    2. **Crear un grupo más específico** sin ese permiso y mover al usuario allí

    **Razón:** El diseño basado en grupos asegura consistencia. Permisos especiales por usuario crean desorden y dificultan auditoría.
  </Accordion>

  <Accordion title="¿Puedo copiar roles de un grupo a otro?">
    No hay función "copiar" automática en la versión actual. Debes:

    1. Seleccionar el grupo original y anotar sus roles
    2. Seleccionar el grupo destino
    3. Marcar manualmente los mismos roles
    4. Guardar

    **Tip:** Toma screenshot del grupo original como referencia.
  </Accordion>
</AccordionGroup>

***

## Documentación Relacionada

* [Gestión de Grupos](/usuarios/es/guides/group-management) - Crear grupos y agregar miembros
* [Gestión de Usuarios](/usuarios/es/guides/user-management) - Ver permisos efectivos de usuarios
* [Matriz de Permisos](/usuarios/es/reference/permissions-matrix) - Todos los roles disponibles
* [Mejores Prácticas](/usuarios/es/reference/best-practices) - Principios de seguridad

***

**¿Necesitas ayuda?** Consulta el [FAQ](/usuarios/es/faq) o contacta a [soporte@daiasystems.com](mailto:soporte@daiasystems.com)
