Recursos · 37
Asegurar una API GraphQL: autorización, costo de consulta y evidencia
Hacer cumplir los derechos de objetos y campos, vincular el trabajo del servidor y probar las rutas de denegación.
Actualizado · 3 min
Lo que esta guía ayuda a lograr
- Mapear el esquema expuesto
- Ejercicio de permisos
- Coste de consulta vinculada
- Verificar denegaciones
Comprobación rápida
- ¿Puede una cuenta leer el objeto de otra cuenta?
- ¿Un campo sensible sigue la decisión de acceso de su padre?
- ¿Cuánto cuestan profundidad, alias y paginación juntos?
- ¿Qué detalles se filtran por errores?
- ¿Quién observa negaciones y abusos?
Método paso a paso
- 1
Operaciones de inventario
Tipos de listado, campos, mutaciones, roles, propietarios de objetos y datos sensibles. Incluya consultas de clientes actuales y rutas poco utilizadas.
Entregable: matriz de operación, rol, objeto y campo.
- 2
Probar cada decisión de acceso
Cree cuentas de prueba distintas e intercambie ID de objetos, incluidos objetos anidados. Los resolutores deben hacer cumplir la autorización antes de devolver datos.
Entregable: casos permitidos y denegados reproducibles.
- 3
Trabajo del servidor vinculado
Medir el coste real de campos y colecciones. Pruebe la profundidad, la amplitud, los alias, la paginación, el procesamiento por lotes y el tiempo juntos, luego establezca límites adecuados.
Entregable: política de costos y conjunto de consultas contradictorias.
- 4
Reducir la exposición innecesaria
Optar por la introspección del contexto, ocultar detalles de errores internos y eliminar campos que revelen más de lo que los clientes necesitan.
Entregable: configuración pública revisada y respuestas de error.
- 5
Observar con moderación
Registra identidad técnica útil, operación, costo, denegación y correlación excluyendo secretos y argumentos sensibles. Asignar propiedad de alerta.
Entregable: tablero y procedimiento de investigación.
- 6
Repetición después del cambio
Cuando cambia un campo, rol o cliente, repetir autorización y cargar casos. Verifique consultas antiguas que ahora atraviesan el gráfico revisado.
Entregable: resultado de regresión y decisión de liberación.
Indicadores de gestión
| Indicador | Qué mide | Primera acción |
|---|---|---|
| Acceso | Casos de objetos y campos denegados como se esperaba | Arreglar el solucionador |
| Costo | Consultas pesadas contenidas por política | Ajustar campos y límites |
| Errores | Respuestas públicas sin detalle interno | Reducir detalle expuesto |
| Regresión | Operaciones del cliente reproducidas después del cambio | Bloquear rotura involuntaria |
Errores comunes
- Confiar únicamente en el acceso al endpoint
- Limitando la profundidad pero ignorando la amplitud
- Olvido de autorización de campos anidados
- Registro de argumentos con datos sensibles
Preguntas frecuentes
¿GraphQL elimina la autorización API ordinaria?
No. Cada acceso a objetos y campos aún necesita una decisión basada en la identidad y el contexto.
¿Es suficiente con desactivar la introspección?
No. Puede reducir la exposición del esquema pero no soluciona el costo de acceso o consulta.
¿Es suficiente un límite de profundidad?
No. Los alias, la amplitud, las listas y el coste específico del campo también importan.
Referencias oficiales
Las referencias respaldan el método. Adapte los controles a su contexto; no constituyen certificación. Los títulos de referencia originales y los documentos fuente pueden estar en otro idioma.






