Manual · 8

Permisos de tabla

Por tabla existen tres niveles de permiso posibles: sin acceso, lectura o escritura. Se pueden configurar tanto directamente en un usuario como en un grupo (el mismo editor en ambos lugares).

Determinación del permiso realmente aplicable para un Viewer, en este orden:

  1. Una anulación individual directamente en el usuario – si existe, siempre prevalece.
  2. Si no, el permiso más alto entre todos los grupos del usuario.
  3. Si no, el valor predeterminado: lectura para cualquier Viewer autenticado.

Un administrador se salta toda esta comprobación – siempre tiene acceso de escritura completo, independientemente de lo que esté configurado aquí.

Acceso de lectura público

Además del permiso de usuario/grupo anterior, cada tabla se puede marcar individualmente como de lectura pública – mediante el menú desplegable en la columna “Acceso” de la vista general de tablas de una fuente de datos (Configuración → Fuentes de datos → seleccionar tabla).

Esto afecta exclusivamente a los endpoints de lectura de datos de esta tabla: obtener registros (individual o como lista), exportación CSV, esquema de tabla, vistas guardadas, valores para listas de selección y archivos adjuntos. Si una tabla está marcada así, exactamente esos endpoints son accesibles sin ningún inicio de sesión – útil, por ejemplo, para usar IllusionDB como backend de un blog público cuyo contenido debe entregarse directamente (sin login).

Explícitamente no afectados:

  • Los accesos de escritura a esta tabla (crear/modificar/eliminar registro, subir archivos adjuntos) – siguen vinculados como de costumbre al permiso de usuario/grupo anterior.
  • Los cambios de esquema (crear columnas, vistas, alternar el propio acceso público) – siguen siendo exclusivos de administradores.
  • Todos los demás endpoints no relacionados con tablas (gestión de usuarios, grupos, registro de auditoría, gestión de fuentes de datos, etc.).

El acceso de lectura público es puramente aditivo: no cambia nada en la resolución de permisos de usuario/grupo descrita arriba para los usuarios autenticados, sino que además permite el acceso sin autenticación exactamente a esa tabla.

Campos de otras tablas

Los campos lookup, rollup, vínculos y registros hijos muestran datos de otra tabla. Si quien consulta no puede leer esa otra tabla, el campo se le oculta, tanto en la interfaz como en la API (lista de columnas, registros, exportación). Filtrar, ordenar, agrupar y resumir por un campo así se rechaza como si el campo no existiera. Lo mismo vale para las fórmulas que usan un campo oculto y para las cadenas (p. ej. un lookup sobre un lookup que accede a una tabla restringida).

Una clave foránea hacia una tabla no legible sigue visible –pertenece a la propia tabla–, pero muestra solo el ID bruto en lugar del valor de visualización de la tabla destino; un filtro compara entonces también con el ID.

«Poder leer» significa: admin, permiso de lectura por usuario o grupo, o bien, sin iniciar sesión, una tabla destino de lectura pública. Por tanto, en una tabla pública con un lookup hacia una tabla no pública, los visitantes sin sesión no ven el campo lookup.