Azion CLI firewall-rule
Comandos da Azion CLI que criam, listam, descrevem, atualizam, ordenam e excluem regras de firewall, com cada flag, o tipo e o padrão dela.
Os comandos firewall-rule da Azion CLI criam, listam, descrevem, atualizam, ordenam e excluem as regras de um firewall, que o Rules Engine para Firewall executa nas requisições que o firewall recebe. Uma regra combina critérios, que correspondem a uma requisição, com comportamentos, que agem sobre ela, e você passa os dois em um arquivo JSON. Todo comando recebe o --firewall-id do firewall que contém as regras. As opções que todo comando aceita, como --format, --out e -y, estão em Opções globais.
Criar
azion create firewall-rule cria uma regra em um firewall a partir de um arquivo JSON:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--file | — | string | — | Obrigatório. Caminho para um arquivo JSON com os atributos da regra. Use - para ler o JSON da entrada padrão. Sem ela, o comando pergunta o caminho para o arquivo JSON. |
--firewall-id | — | int | — | ID do firewall que contém a regra. |
Este arquivo descreve uma regra chamada my-rule que nega toda requisição cuja URI começa com /private:
Este comando cria a regra a partir do arquivo rule.json no firewall com ID 12353:
O comando exibe o ID da regra:
Quando a plataforma recusa o arquivo, o comando exibe 400 Bad Request e uma linha Error: por problema antes da linha de resumo. Cada linha indica o campo que falhou pelo JSON pointer dele, depois de Source:. Um arquivo com um tipo de comportamento desconhecido e um nome que outra regra do firewall já usa falha com esta saída:
Listar
azion list firewall-rule lista as regras de um firewall, 50 por página:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--details | — | — | — | Adiciona as colunas LAST EDITOR e LAST MODIFIED às colunas ID, NAME, ACTIVE e DESCRIPTION. |
--filter | — | string | — | Nome pelo qual filtrar a lista. |
--firewall-id | — | int | — | ID do firewall cujas regras listar. |
--order-by | — | string | — | Campo pelo qual ordenar a lista. |
--page | — | int | 1 | Número da página a retornar. |
--page-size | — | int | 50 | Número de regras em cada página. |
Este comando lista as regras do firewall com ID 12353:
O comando exibe uma linha por regra:
Descrever
azion describe firewall-rule exibe as configurações de uma regra:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--firewall-id | — | int | — | ID do firewall que contém a regra. |
--rule-id | — | int | — | ID da regra a descrever. |
Este comando descreve a regra com ID 123483 no firewall com ID 12353:
O comando exibe o ID, o nome, a última alteração e o estado da regra:
Com --format json, o comando exibe o objeto completo: active, behaviors, created_at, criteria, description, id, last_editor, last_modified, name e order. O valor order é a posição da regra no firewall: a primeira regra criada tem 0, e a segunda tem 1. Uma description que o arquivo não enviou volta como uma string vazia.
Um ID de regra que não existe no firewall falha com Error: failed to describe the Firewall Rule: The given ID or API's endpoint doesn't exist or isn't available. Check that the identifying information is correct.
Atualizar
azion update firewall-rule altera uma regra com os atributos de um arquivo JSON:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--file | — | string | — | Caminho para um arquivo JSON com os atributos a alterar. Use - para ler o JSON da entrada padrão. |
--firewall-id | — | int | — | ID do firewall que contém a regra. |
--rule-id | — | int | — | ID da regra a atualizar. |
Este arquivo renomeia a regra para my-rule-renamed e a desativa:
Este comando aplica o arquivo rule-update.json à regra com ID 123483:
O comando exibe o ID da regra atualizada:
Os atributos que o arquivo omite mantêm os valores deles. Depois dessa atualização, a regra ainda tem o comportamento deny.
Ordenar regras
azion update firewall-rule-order define a ordem em que as regras de um firewall são executadas, a partir de uma lista de IDs de regra:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--firewall-id | — | int | — | ID do firewall cujas regras ordenar. |
--rule-ids | — | string | — | Lista de IDs de regra separados por vírgula, na ordem em que as regras são executadas. A lista contém todas as regras do firewall. |
Este comando faz a regra com ID 123484 ser executada antes da regra com ID 123483:
O comando confirma a nova ordem:
Depois do comando, azion list firewall-rule exibe as regras na nova ordem. Uma lista que omite uma regra do firewall falha com este erro:
Excluir
azion delete firewall-rule exclui uma regra de um firewall:
| Flag | Curta | Tipo | Padrão | Descrição |
|---|---|---|---|---|
--firewall-id | — | int | — | ID do firewall que contém a regra. |
--rule-id | — | int | — | ID da regra a excluir. |
Este comando exclui a regra com ID 123484 do firewall com ID 12353:
O comando confirma a exclusão:
Usar um arquivo JSON
azion create firewall-rule e azion update firewall-rule leem os atributos de uma regra somente de um arquivo JSON com --file. Esses comandos não têm flag para um nome, um critério ou um comportamento. O arquivo contém as chaves abaixo, que o exemplo de criação acima envia:
| Chave | Tipo | Descrição |
|---|---|---|
name | string | Nome da regra. Outra regra do mesmo firewall não pode usá-lo. |
active | boolean | Ativa (true) ou desativa (false) a regra. |
criteria | array of arrays of objects | As condições que uma requisição precisa atender. Cada objeto contém variable, operator, conditional e argument, como ${request_uri}, starts_with, if e /private. |
behaviors | array of objects | O que a regra faz com uma requisição que corresponde a ela. Cada objeto contém um type, como deny. |
Na atualização, o arquivo contém somente as chaves a alterar, e a regra mantém os valores das chaves que o arquivo omite. Para conhecer cada variável, operador, condicional e comportamento que uma regra aceita, consulte Rules Engine para Firewall.