Você está visualizando a documentação do Apigee Edge.
Acesse a
documentação da
Apigee X. info
A segurança last mile protege os serviços de back-end que têm proxy de serviços de API. O objetivo principal da segurança last mile é evitar ataques chamados de "última geração", em que um desenvolvedor de apps descobre o URL de um serviço de back-end e ignora os proxies de API para alcançar diretamente o URL de back-end.
Veja, a seguir, as principais opções para configurar a segurança last mile:
- TLS/SSL do cliente
- Autenticação de saída
- Módulo tls do Node.js
TLS/SSL do cliente
O principal mecanismo para proteger a last mile é TLS/SSL do cliente, também conhecido como "autenticação mútua".
Consulte Como configurar o TLS da borda para o back-end (nuvem e nuvem privada).
Autenticação de saída
Também é possível aplicar a segurança last mile exigindo-se que o proxy de API apresente uma credencial ao serviço de back-end.
Por exemplo, talvez você queira que um proxy de API apresente uma chave de API no serviço de back-end. Também é possível ter um proxy de API para acessar e apresentar um token de acesso de credenciais do cliente OAuth.
Chave de API
É possível aplicar as chaves de API a solicitações de saída de proxies de API para serviços de back-end. Isso pressupõe que o serviço de back-end é uma API capaz de emitir e validar chaves de API.
Se você configurar um proxy de API para apresentar uma chave de API em solicitações de saída, precisará armazená-la em um local onde ela possa ser recuperada pelo proxy de API no ambiente de execução. Um local disponível para armazenar chaves de API é um mapa de chave-valor. Consulte a política de operações de mapeamento de chave-valor.
Use o tipo de política AssignMessage para adicionar a chave de API como um cabeçalho HTTP, parâmetro de consulta ou elemento de payload à solicitação de saída. Consulte Política de atribuição de mensagens.
Credenciais de cliente OAuth
É possível usar as credenciais de cliente OAuth para adicionar uma camada de revogação às chaves de API. Se os serviços de back-end forem compatíveis com credenciais de cliente OAuth, configure um proxy de API para apresentar um token de acesso a credenciais de cliente a cada solicitação.
O proxy de API precisa ser configurado para executar uma chamada para receber o token de acesso do endpoint. O proxy de API também é necessário para armazenar em cache o token de acesso, para evitar que ele receba um novo token de acesso para cada chamada.
É possível usar diversas abordagens para implementar credenciais de cliente de saída.
Modifique esse exemplo para chamar o endpoint de token de modo a receber um token de acesso. Neste exemplo, foi usado JavaScript para anexar o token à solicitação de saída como um cabeçalho de autorização HTTP. Também é possível usar a política de atribuição de mensagens para esse fim.
SAML
Use o tipo de política GenerateSAMLAssertion para anexar uma declaração SAML a uma mensagem de solicitação XML de saída, do proxy de API para um serviço de back-end. Assim, o serviço de back-end pode executar autenticação e autorização em solicitações recebidas de proxies de API.
Consulte as políticas de declaração de SAML.
Node.js
Se o destino do proxy da API for um aplicativo Node.js, use o
módulo tls
do Node.js para criar conexões seguras com os serviços
de back-end. Você faz solicitações de saída com o módulo tls
da mesma forma que faria
normalmente no Node.js. Basicamente, você precisa adicionar chaves e certificados do lado do cliente (arquivos .pem) ao
diretório resources/node e carregá-los no script. Para informações sobre como usar o
módulo tls
e os métodos dele, consulte a documentação do módulo tls do Node.js. Para mais informações, consulte
Como entender o suporte do Edge
para módulos Node.js.