Rules Engine

Edit on GitHub

Com a API de Rules Engine, você pode verificar, remover ou atualizar configurações existentes, além de criar novos ajustes.

  1. Obter lista de regras em Rules Engine
  2. Obter dados de regras em Rules Engine
  3. Deletar uma regra em Rules Engine
  4. Criar nova regra em Rules Engine
  5. Sobrescrever regra em Rules Engine
  6. Atualizar os campos de uma regra em Rules Engine

1. Obter lista de regras em Rules Engine

Este retorno gera uma lista de regras em Rules Engine.

GET /edge_firewall/:edge_firewall_id:/rules_engine

Permissão necessária: View Edge Firewall

Parâmetros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) A autenticação por Token previamente criado através do endpoint de Criação de Token. header string
Accept (obrigatório) Informações sobre o tipo de retorno e versão. header string;
application/json;version=3
:edge_firewall_id (obrigatório) O id do edge firewall que se pretende obter. path number

Exemplo de Requisição

GET /edge_firewall/06101992/rules_engine
Accept: application/json; version=3
Authorization: token cf2078926f91a6e638af3f4a6977b505edfe5941

Exemplo de Resposta

{
    "count": 2,
    "total_pages": 1,
    "schema_version": 3,
    "links": {
        "previous": null,
        "next": null
    },
    "results": [
        {
            "id": 2095,
            "last_editor": "api@azion.com.br",
            "last_modified": "2021-03-29T20:12:26.710245Z",
            "name": "Deny",
            "is_active": true,
            "behaviors": [
                {
                    "name": "deny"
                }
            ],
            "criteria": [
                [
                    {
                        "variable": "request_uri",
                        "operator": "matches",
                        "conditional": "if",
                        "argument": "/"
                    }
                ]
            ],
            "order": 0
        },
        {
            "id": 2096,
            "last_editor": "api@azion.com.br",
            "last_modified": "2021-03-29T20:13:32.027479Z",
            "name": "Rate Limit",
            "is_active": true,
            "behaviors": [
                {
                    "name": "set_rate_limit",
                    "argument": {
                        "type": "minute",
                        "limit_by": "global",
                        "average_rate_limit": "10",
                        "maximum_burst_size": ""
                    }
                }
            ],
            "criteria": [
                [
                    {
                        "variable": "request_uri",
                        "operator": "matches",
                        "conditional": "if",
                        "argument": "/"
                    }
                ]
            ],
            "order": 1
        }
    ]
}

2. Obter dados de regras em Rules Engine

Fornece detalhes de uma regra em Rules Engine. As informações retornadas por este comando se referem às regras de Rules Engine de um Edge Firewall.

GET /edge_firewall/:edge_firewall_id:/rules_engine/:rule_id:

Permissão necessária: View Edge Firewall

Parâmetros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) A autenticação por Token previamente criado através do endpoint de Criação de Token header string
Accept
(obrigatório)
Informações sobre o tipo de retorno e versão header string;
application/json;version=3
:edge_firewall_id (obrigatório) O id do edge firewall que pretende se obter. path number
:rule_id
(obrigatório)
O id da regra que se pretende obter. path number

Exemplo de Requisição

GET /edge_firewall/06101992/rules_engine/1996
Accept: application/json; version=3
Authorization: token cf2078926f91a6e638af3f4a6977b505edfe5941

Exemplo de Resposta

{
    "results": {
        "id": 1996,
        "last_editor": "api@azion.com.br",
        "last_modified": "2021-03-29T20:13:32.027479Z",
        "name": "Rate Limit",
        "is_active": true,
        "behaviors": [
            {
                "name": "set_rate_limit",
                "argument": {
                    "type": "minute",
                    "limit_by": "global",
                    "average_rate_limit": "10",
                    "maximum_burst_size": ""
                }
            }
        ],
        "criteria": [
            [
                {
                    "variable": "request_uri",
                    "operator": "matches",
                    "conditional": "if",
                    "argument": "/"
                }
            ]
        ],
        "order": 1
    },
    "schema_version": 3
}

3. Deletar uma regra em Rules Engine

Este retorno remove uma regra em Rules Engine. A operação é definitiva, ou seja, não existe nenhuma forma de se realizar rollback dessas informações após a confirmação pelo usuário.

Todas as informações associadas a essa regra também serão removidas.

A API não exige confirmação para a execução dessa ação.

DELETE /edge_firewall/:edge_firewall_id:/rules_engine/:rule_id:

Permissão necessária: Edit Edge Firewall

Parâmetros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) A autenticação por Token previamente criado através do endpoint de Criação de Token. header string
Accept
(obrigatório)
Informações sobre o tipo de retorno e versão. header string;
application/json;version=3
:edge_application_id (obrigatório) O id do edge firewall que pretende se deletar. path number
:rule_id
(obrigatório)
O id da regra que se pretende deletar. path number

Exemplo de Requisição

DELETE /edge_firewall/06101992/rules_engine/1996
Accept: application/json; version=3
Authorization: token 2909f3932069047f4736dc87e72baaddd19c9f75

Exemplo de Resposta

HTTP/2 204

4. Criar nova regra em Rules Engine

Possibilita a criação de uma nova regra em Rules Engine de um Edge Firewall.

POST /edge_firewall/:edge_firewall_id:/rules_engine

Permissão necessária: Edit Security Settings

Parâmetros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) A autenticação por Token previamente criado através do endpoint de Criação de Token. header string
Accept
(obrigatório)
Informações sobre o tipo de retorno e versão. header string;
application/json;version=3
Content-Type (obrigatório) O tipo de codificação utilizada no Body (application/json).

e.g.:

Content-Type: application/json
header string
:edge_firewall_id (obrigatório) O id do edge firewall que se pretende criar. path number

Veja abaixo a lista de behaviors que podem ser aplicados na API:

Nome Behavior
Deny deny
Drop drop
Set Rate Limit set_rate_limit
Set WAF Rule Set set_waf_ruleset
Run Function run_function
Tag Event tag_event

Exemplo de Requisição

POST /edge_firewall/06101992/rules_engine
Accept: application/json; version=3
Authorization: token cf2078926f91a6e638af3f4a6977b505edfe5941
Content-Type: application/json
{        
    "name": "Rate Limit Minute",
    "is_active": true,
    "behaviors": [
        {
            "name": "set_rate_limit",
            "argument": {
                "type": "minute",
                "limit_by": "global",
                "average_rate_limit": "10",
                "maximum_burst_size": ""
            }
        }
    ],
    "criteria": [
        [
            {
                "variable": "request_uri",
                "operator": "matches",
                "conditional": "if",
                "argument": "/"
            }
        ]
    ]
}

Exemplo de Resposta

{
    "results": {
        "name": "Rate Limit Minute",
        "is_active": true,
        "behaviors": [
            {
                "name": "set_rate_limit",
                "argument": {
                    "average_rate_limit": "10",
                    "limit_by": "global",
                    "type": "minute",
                    "maximum_burst_size": ""
                }
            }
        ],
        "criteria": [
            [
                {
                    "variable": "request_uri",
                    "operator": "matches",
                    "conditional": "if",
                    "argument": "/"
                }
            ]
        ],
        "last_modified": "2021-03-29T20:26:26.944774Z",
        "last_editor": "api@azion.com.br",
        "id": 2097,
        "order": 2
    },
    "schema_version": 3
}

5. Sobrescrever uma regra em Rules Engine

Este retorno sobrescreve todos os campos de uma regra em Rules Engine, preservando a id.

Se você deseja atualizar somente alguns campos, sem alterar o valor dos demais, considere utilizar o método PATCH ao invés de PUT.

PUT /edge_firewall/:edge_firewall_id:/rules_engine/:rule_id:

Permissão necessária: Edit Edge Firewall

Parâmentros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) Authentication through the Token, previously created through the endpoint of Token Creation. header string
Accept (obrigatório) Informações sobre o tipo de retorno e versão. header string;
application/json;version=3
Content-Type (obrigatório) O tipo de codificação utilizada no Body (application/json).

e.g.:

Content-Type: application/json
header string
:edge_firewall_id (obrigatório) O id do edge firewall que se pretende sobrescrever. path number
:rule_id (obrigatório) O id da regra que se pretende sobrescrever. path number

Exemplo de Requisição

PUT /edge_firewall/06101992/rules_engine/1996
Accept: application/json; version=3
Authorization: token ec6aabdc0b6bbeed826a36d8731630e36b6e3f24
Content-Type: application/json
{        
    "name": "Rate Limit Second",
    "is_active": true,
    "behaviors": [
        {
            "name": "set_rate_limit",
            "argument": {
                "type": "second",
                "limit_by": "global",
                "average_rate_limit": "15",
                "maximum_burst_size": ""
            }
        }
    ],
    "criteria": [
        [
            {
                "variable": "request_uri",
                "operator": "matches",
                "conditional": "if",
                "argument": "/"
            }
        ]
    ]
}

Exemplo de Resposta

{
    "results": {
        "name": "Rate Limit Second",
        "is_active": true,
        "behaviors": [
            {
                "name": "set_rate_limit",
                "argument": {
                    "average_rate_limit": "15",
                    "limit_by": "global",
                    "type": "second",
                    "maximum_burst_size": ""
                }
            }
        ],
        "criteria": [
            [
                {
                    "variable": "request_uri",
                    "operator": "matches",
                    "conditional": "if",
                    "argument": "/"
                }
            ]
        ],
        "last_modified": "2021-03-29T20:26:26.944774Z",
        "last_editor": "api@azion.com.br",
        "id": 2097,
        "order": 2
    },
    "schema_version": 3
}

6. Atualizar os campos de uma regra em Rules Engine

Este retorno atualiza um ou mais campos de uma regra em Rules Engine, preservando o valor dos campos não informados

PATCH /edge_firewall/:edge_firewall_id:/rules_engine/:rule_id:

Permissão necessária: Edit Edge Firewall

Parâmetros obrigatórios

Parâmetro Descrição Tipo Tipo de Dado
Authorization (obrigatório) Authentication through the Token, previously created through the endpoint of Token Creation. header string
Accept (obrigatório) Informações sobre o tipo de retorno e versão. header string;
application/json;version=3
Content-Type (obrigatório) O tipo de codificação utilizada no Body (application/json).

e.g.:

Content-Type: application/json
header string
:edge_firewall_id (obrigatório) O id do edge firewall que pretende se atualizar. path number
:rule_id
(obrigatório)
O id da regra que se pretende atualizar. path number

Exemplo de Requisição

PATCH /edge_firewall/06101992/rules_engine/1996
Accept: application/json; version=3
Authorization: token ec6aabdc0b6bbeed826a36d8731630e36b6e3f24
Content-Type: application/json
{        
    "name": "Rate Limit Second - Atualizada",
    "is_active": true,
    "behaviors": [
        {
            "name": "set_rate_limit",
            "argument": {
                "type": "second",
                "limit_by": "global",
                "average_rate_limit": "20",
                "maximum_burst_size": ""
            }
        }
    ],
    "criteria": [
        [
            {
                "variable": "request_uri",
                "operator": "matches",
                "conditional": "if",
                "argument": "/"
            }
        ]
    ]
}

Exemplo de Resposta

{
    "results": {
        "name": "Rate Limit Second - Atualizada",
        "is_active": true,
        "behaviors": [
            {
                "name": "set_rate_limit",
                "argument": {
                    "average_rate_limit": "20",
                    "limit_by": "global",
                    "type": "second",
                    "maximum_burst_size": ""
                }
            }
        ],
        "criteria": [
            [
                {
                    "variable": "request_uri",
                    "operator": "matches",
                    "conditional": "if",
                    "argument": "/"
                }
            ]
        ],
        "last_modified": "2021-03-29T20:26:26.944774Z",
        "last_editor": "api@azion.com.br",
        "id": 2097,
        "order": 2
    },
    "schema_version": 3
}

Não encontrou o que procurava? Inicie um ticket com o time de Suporte.