Regras de Saída

Esta é uma API de cadastro de regras de saída, que podem estar vinculadas à roteadores ou grupo de unidades.

Esta API é autenticada usando OAuth2, ver documentação de autenticação

Buscar uma regra de saída

API de busca de regra de saída do roteador.

GET /api/v1/cdm/routers/router_id/fw/out/rules/id

API de busca de regra de saída do grupo de unidades.

GET /api/v1/cdm/groups/sites_group_id/fw/out/rules/id

Exemplos de requisições

GET /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/out/rules/Aoyc5feKgmFGhgESFupoL HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
GET /api/v1/cdm/groups/AyUx6VJ4toNQEzVHjYxm7/fw/out/rules/Aoyc5feKgmFGhgESFupoL HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "Aoyc5feKgmFGhgESFupoL",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "rule01",
  "source_any": false,
  "source_ip": "201.188.32.101",
  "dest_any": false,
  "dest_net": "192.168.0.0/24",
  "port": {
    "start": 80,
    "end": 10000
  },
  "protocol": "tcp",
  "priority": 5
}

Dados para criação de uma regra de saída

API de busca de dados necessários para criação de uma regra de saída do roteador.

GET /api/v1/cdm/routers/router_id/fw/out/rules/new

API de busca de dados necessários para criação de uma regra de saída do grupo de unidades.

GET /api/v1/cdm/groups/sites_group_id/fw/out/rules/new

Exemplo de requisições

GET /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/out/rules/new HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
GET /api/v1/cdm/groups/AyUx6VJ4toNQEzVHjYxm7/fw/out/rules/new HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "rules_groups": [
    {
      "id": "AyUKCnMcDYhYQzUz1MHp7",
      "name": "Grupo01"
    },
    {
      "id": "AyUKDTkbRaStLrsRUodVk",
      "name": "Grupo02"
    },
    {
      "id": "AyUKDtevfEmBi1tG99Hv3",
      "name": "Grupo03"
    },
  ]
}

Criar uma regra de saída

API de criação de regra de saída do roteador.

POST /api/v1/cdm/routers/router_id/fw/out/rules

API de criação de regra de saída do grupo de unidades.

POST /api/v1/cdm/groups/sites_group_id/fw/out/rules

Exemplo de requisição

POST /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/out/rules HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "new rule",
  "source_any": true,
  "dest_any": false,
  "dest_ip": "192.168.128.25",
  "port": 8080,
  "protocol": "udp",
  "priority": 10
}

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "AyUJUnsgV8FPifMrGRLwx",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "new rule",
  "source_any": true,
  "dest_any": false,
  "dest_ip": "192.168.128.25",
  "port": 8080,
  "protocol": "udp",
  "priority": 10
}

Atualizar uma regra de saída

API de atualização de uma regra de saída do roteador.

PUT /api/v1/cdm/routers/router_id/fw/out/rules/id

API de atualização de uma regra de saída do grupo de unidades.

PUT /api/v1/cdm/groups/sites_group_id/fw/out/rules/id

Exemplo de requisição

PUT /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/out/rules/AyUJUnsgV8FPifMrGRLwx HTTP/1.1
Host: cdm.exemplo.com
Content-Type: application/json
Accept: application/json
Authorization: Bearer <Access-Token>

{
  "description": "updated rule",
  "priority": 25
}

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "AyUJUnsgV8FPifMrGRLwx",
  "rules_group_id": "Aoyc5feKgmFGhgESF5d2f",
  "description": "updated rule",
  "source_any": true,
  "dest_any": false,
  "dest_ip": "192.168.128.25",
  "port": 8080,
  "protocol": "udp",
  "priority": 25
}

Apagar uma regra de saída

API de remoção de uma regra de saída do roteador.

DELETE /api/v1/cdm/routers/router_id/fw/out/rules/id

API de remoção de uma regra de saída do grupo de unidades.

DELETE /api/v1/cdm/groups/sites_group_id/fw/out/rules/id

Exemplos de requisições

DELETE /api/v1/cdm/routers/AyUHTfrYDw3Yp6W9m3ppC/fw/out/rules/AyUJUnsgV8FPifMrGRLwx HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>
DELETE /api/v1/cdm/groups/AyUx6VJ4toNQEzVHjYxm7/fw/out/rules/AyUJUnsgV8FPifMrGRLwx HTTP/1.1
Host: cdm.exemplo.com
Accept: application/json
Authorization: Bearer <Access-Token>

Exemplo de resposta

HTTP/1.1 200 OK
Content-Type: application/json

Formato dos dados

Parâmetros da url

router_id ou sites_group_idstring Identificador do roteador ou grupo de unidades em que a regra está inclusa
idstring Identificador da regra de saída

Requisição

rules_group_idstringrequerido Grupo de regras que a regra pertence
descriptionstringrequerido único Breve descrição sobre a regra de saída
prioritystringrequerido Prioridade da regra de saída. Quanto `menor o valor` preenchido, `maior a priorização` da regra. Valor mínimo: 1
Valor máximo: 99
protocolstringrequerido Protocolo sobre qual a regra de saída atua Protocolos possíveis: * tcp * udp * tcp/udp * ip * icmp * pptp * ipsec

Somente as regras sobre os protocos TCP, UDP e TCP/UDP são compatíveis com a definição de portas!

A regra poderá ser aplicada sobre uma porta específica (port) ou uma faixa de portas (port_range).

ATENÇÃO: somente um dos dois campos deve ser preenchido!

portinteger

Define a porta que a regra será aplicada

Valor mínimo: 1
Valor máximo: 65000


port_range.startinteger

Define o ínicio da faixa de portas que a regra será aplicada

Valor mínimo: 1
Valor máximo: 65000


port_range.endinteger

Define o fim da faixa de portas que a regra será aplicada

Valor mínimo: 1
Valor máximo: 65000


A regra será aplicada sobre um destino que pode ser definido de três formas: como um endereço único (dest_ip), uma rede (dest_net) ou todos os endereços (dest_any=true).

ATENÇÃO: somente um dos três campos deve ser preenchido!

dest_anyboolean

Define que a regra será aplicada para todos os destinos

Valor padrão: false


dest_ipstring

Define que a regra será aplicada para determinado IP de destino

Exemplo: 192.168.0.5


dest_netstring

Define que a regra será aplicada para determinada rede de destino

Exemplo: 192.168.0.0/24


A regra será aplicada sobre uma origem que pode ser definida de três formas: como um endereço único (source_ip), uma rede (source_net) ou todos os endereços (source_any=true).

ATENÇÃO: somente um dos três campos deve ser preenchido!

source_anyboolean

Define que a regra será aplicada para todas as origens

Valor padrão: false


source_ipstring

Define que a regra será aplicada para determinado IP de origem

Exemplo: 192.168.0.5


source_netstring

Define que a regra será aplicada para determinada rede de origem

Exemplo: 192.168.0.0/24

Resposta

idstring Identificador da regra de saída
rules_group_idstring Grupo de regras que a regra pertence
descriptionstring Breve descrição sobre a regra de saída
prioritystring Prioridade da regra de saída
protocolstring Protocolo sobre qual a regra de saída atua
portinteger Define a porta que a regra será aplicada
port_range.startinteger Define o ínicio da faixa de portas que a regra será aplicada
port_range.endinteger Define o fim da faixa de portas que a regra será aplicada
dest_anyboolean Define que a regra será aplicada para todos os destinos
dest_ipstring Define que a regra será aplicada para determinado IP de destino
dest_netstring Define que a regra será aplicada para determinada rede de destino
source_anyboolean Define que a regra será aplicada para todas as origens
source_ipstring Define que a regra será aplicada para determinado IP de origem
source_netstring Define que a regra será aplicada para determinada rede de origem
rules_groupsarray<object> Grupos de regras de entrada que pertencem ao roteador