Listas de endereços IP autorizados
A autenticação comprova que quem efetua a chamada conhece o seu segredo. Uma lista de IPs autorizados restringe as origens de onde a chamada pode provir, pelo que um token que tenha sido divulgado não é, por si só, suficiente. Defina-a por webhook, em «Definições avançadas» -> «Lista de IPs autorizados».
Aplica-se em conjunto com qualquer método de autenticação utilizado pelo webhook, incluindo «None». Um pedido proveniente de qualquer outro endereço é rejeitado com o código de erro 403 e o motivo ip_not_allowed, antes mesmo de se verificar o token ou a assinatura.
Preenchimento da lista
Uma entrada por linha, até um máximo de 50:
- um único endereço IPv4 ou IPv6, como
203.0.113.10ou2001:db8::1 - um intervalo CIDR, como
203.0.113.0/24ou2001:db8::/32
A maioria dos remetentes que vale a pena incluir na lista de autorizados publica os seus intervalos de endereços de saída - o Stripe, o GitHub, o Shopify e o Square fazem-no. Cole esses intervalos e volte a verificá-los quando o remetente anunciar uma alteração: uma lista de autorizados que nunca é atualizada acaba por rejeitar tráfego legítimo.
Que pedidos verifica
| Pedido | A lista de permissões é aplicável |
|---|---|
| Uma chamada para o URL do webhook | Sim |
| Uma chamada para o URL do proxy da aplicação | Não - esses e-mails chegam-nos a partir dos servidores da Shopify, e não do seu remetente |
| Uma corrida programada | Não - somos nós próprios que fazemos o pedido |
| A ação do Shopify Flow que invoca este webhook | Não |
| Enviar testes e repetições a partir do Histórico | Não |
É por isso que uma lista de permissões não substitui a autenticação: várias vias legítimas de acesso ao webhook não passam por ela.
O endereço que comparamos
Comparamos com o endereço de onde a solicitação chega efetivamente. Se houver algum elemento intermédio entre o remetente e nós - um proxy empresarial, um gateway de API, um túnel, uma CDN - , é esse endereço que deve ser incluído na lista de endereços autorizados, e não o do servidor de origem.
A forma mais rápida de o encontrar: envie um pedido com a lista de permissões vazia, abra a entrada em Histórico e resolução de problemas e leia o endereço que registámos.
Quando as coisas correm mal
Um pedido rejeitado continua a aparecer no Histórico com 403 e ip_not_allowed, pelo que pode ver o endereço que foi recusado e adicioná-lo. Nada é eliminado sem aviso prévio.
Relacionado
- Autenticação - tokens, Bearer, Basic e parâmetros de consulta.
- Verificação de webhooks assinados - Verificação HMAC para remetentes que assinam.
- Histórico e resolução de problemas - todos os pedidos, quer tenham sido aceites ou não.

