Logo

Característica:

Control de acceso

Control de acceso

El endpoint de GraphQL, que puede devolver cualquier dato accesible a través del esquema, podría potencialmente permitir a actores maliciosos obtener información privada. Por ello, debemos implementar medidas de seguridad para proteger los datos.

Control de acceso

Con las listas de control de acceso, podemos definir quién puede acceder a cada operación, campo y directiva del esquema:

  • Deshabilitar el acceso a todo el mundo
  • Conceder acceso si el usuario ha iniciado sesión o ha cerrado sesión
  • Conceder acceso si el usuario tiene algún rol
  • Conceder acceso si el usuario tiene alguna capacidad
  • Conceder acceso si el visitante proviene de alguna IP o rango de IPs
Editor de lista de control de acceso
Editor de lista de control de acceso

Esquema público/privado

¿Qué debería ocurrir cuando un usuario sin acceso a algún campo o directiva del esquema intenta acceder a él?

Con el modo de API público/privado podemos controlar el comportamiento deseado:

En la API pública, los campos del esquema están expuestos, y cuando no se cumple el permiso, el usuario recibe un mensaje de error con una descripción del motivo por el que se rechazó el permiso.

En la API privada, el esquema se personaliza para cada usuario, conteniendo únicamente los campos disponibles para esa persona, por lo que al intentar acceder a un campo prohibido, el mensaje de error indica que el campo no existe.

Modo individual de esquema público/privado

Suscríbete a nuestra newsletter

Mantente al tanto de todas las novedades de Gato GraphQL.