---
name: azion-gerencie-bots-com-bot-manager
description: >-
  Mude o que uma instância do Bot Manager faz: pontue um endereço contra uma Network List de reputação, registre o efeito e encaminhe o log de report.
---

# Gerencie bots com Bot Manager

Você muda o que uma instância do [Bot Manager](/pt-br/documentacao/plataforma/firewall/#bot-manager) em execução faz substituindo o objeto JSON na seção **Arguments** dela, na aba **Functions Instances** do firewall em que a instância é executada.

Três mudanças estão nesta página: pontuar o endereço de uma requisição contra uma Network List de reputação, registrar o que uma mudança fez sem recusar uma requisição, e guardar o log de report em um destino seu. Definir um threshold e retirar uma regra da pontuação pertencem ao ciclo de calibração, que é de [Monitore e calibre o Bot Manager](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/monitorar-e-calibrar-bot-manager/).

---

## Pré-requisitos

- Uma instância de função do Bot Manager em um firewall, executada por uma regra do [Rules Engine for Firewall](/pt-br/documentacao/plataforma/firewall/rules-engine/). Para mais informações, consulte [Primeiros passos com Bot Manager](/pt-br/documentacao/plataforma/firewall/bot-manager/primeiros-passos/).
- Acesso ao Azion Console. Para entrar, consulte [Como acessar o Azion Console](/pt-br/documentacao/guias/plataforma/conta-e-billing/como-acessar-o-azion-console/).
- O ID de cada [Network List](/pt-br/documentacao/plataforma/firewall/network-shield/network-lists/) contra a qual você quer que o endereço de uma requisição seja pontuado.

---

## Pontue um endereço contra uma Network List de reputação

`reputation_network_lists` recebe um array de IDs de Network List. A função verifica o endereço de toda requisição que ela pontua contra cada lista nomeada ali, e eleva a pontuação uma vez para cada lista em que o endereço é encontrado.

A Azion mantém listas próprias, e a Network List `2` é a *Azion IP Tor Exit Nodes*, que carrega os endereços dos Tor exit nodes. Uma lista que você mesmo constrói é nomeada da mesma forma, pelo ID dela.

No Bot Manager Lite o argumento é entregue vazio, então nenhuma lista é verificada até você nomear uma, e uma correspondência é a regra `14`, que vale 6 pontos. No Bot Manager o argumento tem como padrão as Network Lists gerenciadas pela Azion que já estão na conta. Para cada regra que o Bot Manager Lite roda e o quanto cada uma soma, consulte [Bot Manager Lite](/pt-br/documentacao/plataforma/firewall/bot-manager/bot-manager-lite/#regras).

Seis pontos não alcançam o threshold de `30` que o Bot Manager Lite entrega, então um endereço em uma lista encontra a ação quando outras regras também correspondem. A lista eleva a pontuação, e o threshold decide o que acontece com a requisição:

```json
{
  "threshold": 30,
  "action": "deny",
  "reputation_network_lists": [2]
}
```

> **Atenção**
>
> Nada valida o objeto de argumentos. Uma chave com erro de digitação é armazenada e lida de volta exatamente como foi digitada, a função roda no padrão dela e nenhuma interface devolve erro.

Para substituir os argumentos de uma instância no Azion Console:

1. **Abra o firewall que executa a instância**

   Acesse o [Azion Console](https://console.azion.com/) > **Firewalls** e selecione o firewall.

2. **Selecione a aba Functions Instances**

3. **Abra a instância do Bot Manager**

4. **Informe o objeto de argumentos**

   Na seção **Arguments**, substitua o objeto pelo que está acima. A função instalada não carrega schema de argumentos, então a seção traz um editor JSON e não constrói formulário a partir dele.

5. **Salve a instância**

A instância verifica contra as listas que você nomeou todo endereço que a regra envia a ela. Uma mudança em uma instância alcança o caminho da requisição em cerca de dois minutos, então uma requisição respondida antes disso descreve a configuração que a precedeu.

---

## Registre o que uma mudança fez sem recusar uma requisição

Uma linha de report é o único relato de como uma requisição pontuou, e a função escreve uma linha apenas para as requisições que `internal_logs` seleciona. O argumento é entregue em `0`.

Defina `action` como `allow` para que uma requisição igual ou acima do threshold siga para a aplicação, e `internal_logs` como `2` para que toda requisição produza uma linha, inclusive uma que pontue `0`. Substitua o objeto na mesma seção **Arguments**:

```json
{
  "threshold": 30,
  "action": "allow",
  "internal_logs": 2,
  "reputation_network_lists": [2],
  "log_tag": "bot-reputation"
}
```

`internal_logs` é um número. Escrito como a string `"2"`, ele é armazenado, e a função não lê nada dele. `log_tag` entra no prefixo de cada linha, que é o que separa as linhas desta instância das de outra. Para o tipo que cada argumento recebe e o padrão que ele carrega, consulte [Argumentos](/pt-br/documentacao/plataforma/firewall/bot-manager/argumentos/#campos).

Dois valores na linha respondem o que a mudança fez: `matched_rules` nomeia as regras que a requisição correspondeu, e `score` carrega o total delas. No Bot Manager Lite, um endereço encontrado em uma lista que você nomeou acrescenta a regra `14` a `matched_rules` e 6 pontos a `score`. Para saber onde essas linhas aparecem e como consultá-las, consulte [Monitore e calibre o Bot Manager](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/monitorar-e-calibrar-bot-manager/#leia-o-log-de-report-no-real-time-events).

Toda requisição que a regra envia à instância agora produz uma linha, e a instância não recusa nenhuma. Devolva `action` ao valor que você roda em produção assim que as linhas responderem a pergunta. Para saber por quanto tempo manter uma janela aberta e o que isso custa, consulte [Boas práticas de Firewall](/pt-br/documentacao/plataforma/firewall/boas-praticas/#bot-manager).

---

## Envie o log de report para um destino seu

As linhas de report aparecem no [Real-Time Events](/pt-br/documentacao/plataforma/real-time-events/), e a plataforma descarta esses dados com o tempo. Uma cópia em um destino seu dura o quanto você a mantiver, e fica ao lado dos registros da aplicação que essas requisições alcançaram.

O [Data Stream](/pt-br/documentacao/plataforma/data-stream/) encaminha as mesmas linhas da data source Functions para um endpoint que você configura, no momento em que a função as escreve. Baixe `internal_logs` quando a janela de observação fechar: em `2` toda requisição produz uma linha, e esse é o volume que o stream carrega. Para os endpoints em que um stream escreve, consulte [Endpoints](/pt-br/documentacao/plataforma/data-stream/endpoints/).

---

## Próximos passos

- [Argumentos](/pt-br/documentacao/plataforma/firewall/bot-manager/argumentos.md): Cada argumento que uma instância aceita, com o tipo, o padrão e os valores que ele recebe.
- [Monitore e calibre o Bot Manager](/pt-br/documentacao/guias/seguranca-de-aplicacoes/bots-e-rede/monitorar-e-calibrar-bot-manager.md): O ciclo que define um threshold e retira uma regra da pontuação, lido nas suas próprias linhas.
- [Boas práticas de Firewall](/pt-br/documentacao/plataforma/firewall/boas-praticas.md#bot-manager): O que cada uma dessas mudanças custa, e a ordem em que as decisões aparecem.
- [Logs](/pt-br/documentacao/plataforma/firewall/bot-manager/logs.md): Cada campo que uma linha de report carrega, e os vereditos que o campo classified registra.
