Logo

Funcionalidade:

Controle de Acesso

Controle de Acesso

O endpoint GraphQL, que pode retornar qualquer dado acessível pelo schema, pode potencialmente permitir que agentes maliciosos recuperem informações privadas. Portanto, devemos implementar medidas de segurança para proteger os dados.

Controle de Acesso

Com as listas de controle de acesso, podemos definir quem pode acessar cada operação, campo e diretiva no schema:

  • Desabilitar o acesso para todos
  • Conceder acesso se o usuário estiver autenticado ou não autenticado
  • Conceder acesso se o usuário tiver algum papel
  • Conceder acesso se o usuário tiver alguma capacidade
  • Conceder acesso se o visitante vier de algum IP ou intervalo de IPs
Editor da lista de controle de acesso
Editor da lista de controle de acesso

Schema Público/Privado

O que deve acontecer quando um usuário sem acesso a algum campo ou diretiva no schema tenta acessá-lo?

Com o modo de API público/privado podemos controlar o comportamento desejado:

Na API pública, os campos do schema são expostos e, quando a permissão não é satisfeita, o usuário recebe uma mensagem de erro descrevendo por que a permissão foi negada.

Na API privada, o schema é personalizado para cada usuário, contendo apenas os campos disponíveis para ele, e portanto, ao tentar acessar um campo proibido, a mensagem de erro indica que o campo não existe.

Modo de schema público/privado individual

Assine nossa newsletter

Fique por dentro de todas as atualizações do Gato GraphQL.