Acesso de rede da aplicação

Use esta rota para definir quais endereços IP podem acessar uma aplicação HTTP pública. A configuração substitui as listas atuais por inteiro.

Autenticação e permissões

Aceita uma API Key da organização (x-api-key: znf_... ou Authorization: Bearer znf_...) ou um token de usuário com x-organization-id. Exige project.network.update em project:<project-id>; owner tem acesso completo.

Requisitos do projeto:

  • ser uma aplicação HTTP;
  • estar com exposição pública (veja Informações de projetos);
  • estar em um plano com capabilities.network_access: true no catálogo GET /v1/project/plans.

Limite: 10 requisições por minuto.

Atualizar as listas

PATCH /v1/project/:id/network-access
CampoTipoObrigatórioDescrição
network_access.ingress_white_listarraySimFaixas permitidas, até 10 itens
network_access.ingress_black_listarraySimFaixas bloqueadas, até 10 itens; use [] para nenhuma
*.cidrstringSimFaixa IPv4 em notação CIDR, como 203.0.113.0/24 ou 198.51.100.7/32
*.descriptionstringSimIdentificação da regra, de 1 a 256 caracteres
{
  "network_access": {
    "ingress_white_list": [
      { "cidr": "203.0.113.0/24", "description": "Escritório" },
      { "cidr": "198.51.100.7/32", "description": "Servidor de CI" }
    ],
    "ingress_black_list": []
  }
}
{
  "status": "success",
  "message": "updated the network access with success"
}

Como as regras são avaliadas

  • ingress_white_list define quem pode acessar: somente os IPs e faixas listados entram. Para manter a aplicação aberta a todos, use 0.0.0.0/0.
  • ingress_black_list bloqueia IPs e faixas específicos, mesmo que estejam dentro de uma faixa da lista de permissão, como 0.0.0.0/0.
  • Com ingress_white_list vazia, nenhum endereço é permitido.

Somente IPv4 é aceito. Veja exemplos de uso em Acesso de rede.

Erros

CódigoSituação
400Corpo inválido: lista ausente, mais de 10 itens, CIDR fora do formato ou description vazia
401Projeto que não é HTTP (cant change database config) ou plano sem o recurso (dont have permission to block ip)
404Projeto não encontrado
409Projeto com exposição privada (project is not publicly exposed)
429Limite de requisições excedido
500Falha ao aplicar as regras; tente novamente

Exemplo

curl -X PATCH "https://api.zenifra.com/v1/project/6650f1a2b3c4d5e6f7a8b9c0/network-access" \
  -H "x-api-key: znf_..." \
  -H "Content-Type: application/json" \
  -d '{"network_access": {"ingress_white_list": [{"cidr": "0.0.0.0/0", "description": "Acesso público"}], "ingress_black_list": []}}'

Próximos passos

Última atualização em

Nessa página