Listas de permitidos
La lista de permitidos (Allowlist) puede configurarse para permitir, de forma segura, un número limitado de operaciones de GraphQL (consultas/mutaciones/suscripciones) para su proyecto.
Pueden agregarse operaciones a Allowlist
- Mediante la Consola
- Mediante metadatos
- Automáticamente a través de Hasura Cloud
Allowlist mediante la consola
Por ejemplo, en nuestra demostración de slack, podemos restringir para que solo pase la consulta users
y se denieguen todas las demás. Esto puede lograrse yendo a la pestaña Settings
en la consola y navegando hasta la página Allow List
.
Podemos agregar una operación manualmente cuando especificamos el nombre de una operación y la definición de dicha operación.
Pongamos que el nombre de la operación es users
y que la definición es
query {users {idname}}
Del mismo modo, también puede agregarse mediante la carga de un archivo, al cargar manualmente un archivo graphql con la lista de todas las operaciones.
Allowlist mediante metadatos
Las consultas pueden almacenarse en colecciones y estas pueden agregarse o eliminarse de la lista de permitidos. Puede agregarse una colección a través de las siguientes API
Allowlist a través de Hasura Cloud
Mientras que lo anterior se realiza introduciendo manualmente todas las operaciones, Hasura Cloud ofrece una forma rápida de habilitar Allowlist desde la lista de las operaciones que ya se hayan ejecutado en el pasado.
Diríjase a la pestaña Allow List
dentro de la pestaña Pro
del proyecto Hasura Cloud. A continuación, navegue hasta New Operations
para consultar la lista de operaciones que aún no están en la lista de permitidos.
En nuestro ejemplo, nos gustaría seleccionar solo la consulta de usuario y por lo tanto podemos seleccionarla de forma explícita en la lista de operaciones, en lugar de introducirlas manualmente una por una.
Tenga en cuenta que incluso las consultas de Introspección han de agregarse de forma explícita para permitir que la interfaz de GraphiQL funcione, y eso es precisamente lo que se logra rápidamente con esta pestaña. Otro consejo que podría resultar de utilidad es asegurarse de que las consultas con nombre se realicen desde el cliente, para que sea más fácil agregarlas a Allowlist y también para que sean más fáciles de inspeccionar y depurar.
Habilitar Allowlist
Allowlist necesita ser habilitado de forma explícita a través del env HASURA_GRAPHQL_ENABLE_ALLOWLIST
.
Diríjase a la pestaña Env vars
en la página de configuración del proyecto en Hasura Cloud para habilitar este env.
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs