Un campo oculto aún puede filtrarse a través de un filtro
Un valor sensible no tiene que aparecer en una respuesta para revelar información. Si quien realiza la llamada puede filtrar registros por ese valor, las consultas repetidas pueden reducir las posibilidades. El ordenamiento puede revelar el orden relativo incluso cuando el propio campo está oculto.
Field Guard aborda esta distinción en el modelo de acceso a campos de Drupal. Aplica los requisitos de permisos configurados y deniega el acceso protegido a nivel de definición cuando no hay ninguna entidad disponible. Eso importa porque el filtrado de JSON:API y las verificaciones de campos de Views pueden preguntar por la definición de un campo sin proporcionar un registro.
Sin registro no hay decisión específica del registro
Imagine una fecha de revisión protegida. Ocultar su valor renderizado no cierra una consulta que pregunta si la fecha es anterior a un umbral proporcionado. Una implementación de acceso a campos que devuelve un resultado neutral cuando no hay entidad presente puede dejar disponible esa vía de consulta.
Field Guard deniega la solicitud protegida a nivel de definición. La contrapartida es deliberada: el campo protegido no está disponible para esas operaciones de filtrado y ordenamiento, incluso para quienes tienen el permiso. En esa verificación no hay entidad contra la cual tomar una decisión de autorización más acotada.
El estatus administrativo no es una concesión explícita
La protección configurada también requiere un permiso asignado explícitamente a través de un rol ordinario. El acceso implícito de superusuario y los permisos generales de un rol administrativo no sustituyen esa concesión. La decisión de autorización puede, por tanto, revisarse en la configuración de roles.
El módulo se entrega sin campos protegidos. Una operación omitida permanece sin protección, y un valor de permiso vacío no crea una regla de denegación. La revisión de la configuración es parte de adoptarlo.
El acceso a campos y la validación de escrituras responden preguntas distintas
Controlar quién puede acceder a un campo es distinto de controlar qué valor entrante puede enviar un escritor autorizado. Nuestro artículo sobre restricciones de validación de Drupal cubre lo segundo. Un sitio puede necesitar ambos controles, con pruebas de renderizado, filtrado, ordenamiento e intentos de escritura.
Revise la documentación de Field Guard y el comportamiento de consulta del que depende su aplicación antes de proteger un campo. La prueba significativa es si quien realiza una llamada sin autorización puede conocer el valor a través de cualquier vía de acceso compatible.