API de segurança do gateway
Configure HTTPS, CORS e WAF para um nome de host controlado pela sua equipe.
Usar Autenticação da API para pedidos protegidos. Exemplos usam seus próprios IDs de recursos e um token temporário; exemplos de resposta salvos são sintéticos.
| Método | Caminho | Operação |
|---|---|---|
GET | /v1/gateway_security_profile | Listar os perfis de segurança do gateway |
POST | /v1/gateway_security_profile | Criar perfil de segurança do gateway |
GET | /v1/gateway_security_profile/{id} | Obter o perfil de segurança do gateway |
PUT | /v1/gateway_security_profile/{id} | Atualizar o perfil de segurança do gateway |
DELETE | /v1/gateway_security_profile/{id} | Excluir perfil de segurança do gateway |
Listar os perfis de segurança do gateway
GET /v1/gateway_security_profile
Retorna uma lista paginada de GatewaySecurityProfile
Autenticação: token bearer e o cabeçalho de equipe mostrado abaixo.
Parâmetros
| Nome | Localização | Obrigatório | Descrição |
|---|---|---|---|
X-Tenant-ID | cabeçalho | sim | ID da equipe ativa. Deve corresponder ao tenant vinculado a um token de diagnóstico. |
page | consulta | não | Número da página |
per_page | consulta | não | Itens por página |
Exemplo de requisição
Defina ADIOS_API_URL=https://api.adios.dev. Para requisições protegidas, defina ADIOS_ACCESS_TOKEN e ADIOS_TEAM_ID como na início rápido. Defina quaisquer variáveis adicionais ADIOS_* variáveis dos seus próprios resultados de recursos.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_security_profile" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Resposta: HTTP 200
Lista de GatewaySecurityProfile
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
data | array | |
data[].cors_enabled | booleano | |
data[].cors_headers | string | Cabeçalhos de pedidos CORS separados por vírgulas |
data[].cors_methods | string | Métodos HTTP separados por vírgulas |
data[].cors_origins | string | Origens separadas por vírgulas ou * |
data[].created_at | inteiro | (Timestamp Unix) |
data[].deleted_at | inteiro | (Timestamp Unix) |
data[].enabled | booleano | |
data[].force_https | booleano | |
data[].geo_policy | objeto | Política opcional de permissão ou bloqueio por país no nível do host |
data[].hostname | string | |
data[].hsts_enabled | booleano | |
data[].max_body_bytes | inteiro | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. |
data[].profile_id | string | |
data[].team_id | string | |
data[].updated_at | inteiro | (Timestamp Unix) |
data[].waf_custom_directives | string | Diretivas Coraza originais usadas quando waf_template=custom |
data[].waf_mode | string | Valores permitidos: off, monitor, block. |
data[].waf_overrides | objeto | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
data[].waf_rule_exclusions | objeto | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
data[].waf_template | string | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. |
pagination | objeto | |
pagination.page | inteiro | Número da página atual |
pagination.per_page | inteiro | Número de itens por página |
pagination.total | inteiro | Número total de itens |
Exemplo ilustrativo; não é uma resposta real:
{
"data": [
{
"cors_enabled": true,
"cors_headers": "example",
"cors_methods": "example",
"cors_origins": "example",
"created_at": 1791072000,
"deleted_at": 0,
"enabled": true,
"force_https": true,
"geo_policy": {},
"hostname": "app.example.com",
"hsts_enabled": true,
"max_body_bytes": 0,
"profile_id": "000000000000000000000000001",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"waf_custom_directives": "example",
"waf_mode": "off",
"waf_overrides": {},
"waf_rule_exclusions": {},
"waf_template": "workload_default"
}
],
"pagination": {
"page": 1,
"per_page": 1,
"total": 1
}
}
Criar perfil de segurança do gateway
POST /v1/gateway_security_profile
Cria um novo objeto GatewaySecurityProfile
Esta requisição altera dados ou inicia uma ação. Confira o destino e o corpo antes de enviá-la.
Campos da requisição (o corpo contém um exemplo editável):
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cors_enabled | booleano | sim | Padrão: true. |
cors_headers | string | não | Cabeçalhos de pedidos CORS separados por vírgulas |
cors_methods | string | não | Métodos HTTP separados por vírgulas |
cors_origins | string | não | Origens separadas por vírgulas ou * |
enabled | booleano | sim | Padrão: true. |
force_https | booleano | sim | Padrão: true. |
geo_policy | objeto | não | Política opcional de permissão ou bloqueio por país no nível do host |
hostname | string | sim | |
hsts_enabled | booleano | sim | Padrão: true. |
max_body_bytes | inteiro | não | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. Padrão: 0. |
team_id | string | sim | |
waf_custom_directives | string | não | Diretivas Coraza originais usadas quando waf_template=custom |
waf_mode | string | sim | Valores permitidos: off, monitor, block. Padrão: "off". |
waf_overrides | objeto | não | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
waf_rule_exclusions | objeto | não | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | string | sim | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. Padrão: "workload_default". |
Autenticação: token bearer e o cabeçalho de equipe mostrado abaixo.
Parâmetros
| Nome | Localização | Obrigatório | Descrição |
|---|---|---|---|
X-Tenant-ID | cabeçalho | sim | ID da equipe ativa. Deve corresponder ao tenant vinculado a um token de diagnóstico. |
Exemplo de requisição
Defina ADIOS_API_URL=https://api.adios.dev. Para requisições protegidas, defina ADIOS_ACCESS_TOKEN e ADIOS_TEAM_ID como na início rápido. Defina quaisquer variáveis adicionais ADIOS_* variáveis dos seus próprios resultados de recursos.
curl --fail-with-body --request POST "$ADIOS_API_URL/v1/gateway_security_profile" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"cors_enabled": true,
"enabled": true,
"force_https": true,
"hostname": "YOUR_HOSTNAME",
"hsts_enabled": true,
"max_body_bytes": 0,
"team_id": "YOUR_TEAM_ID",
"waf_mode": "off",
"waf_template": "workload_default"
}
JSON
Substitua YOUR_* no corpo antes de enviar. O heredoc com delimitador entre aspas mantém o JSON literal.
Resposta: HTTP 201
GatewaySecurityProfile criado
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
cors_enabled | booleano | |
cors_headers | string | Cabeçalhos de pedidos CORS separados por vírgulas |
cors_methods | string | Métodos HTTP separados por vírgulas |
cors_origins | string | Origens separadas por vírgulas ou * |
created_at | inteiro | (Timestamp Unix) |
deleted_at | inteiro | (Timestamp Unix) |
enabled | booleano | |
force_https | booleano | |
geo_policy | objeto | Política opcional de permissão ou bloqueio por país no nível do host |
hostname | string | |
hsts_enabled | booleano | |
max_body_bytes | inteiro | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. |
profile_id | string | |
team_id | string | |
updated_at | inteiro | (Timestamp Unix) |
waf_custom_directives | string | Diretivas Coraza originais usadas quando waf_template=custom |
waf_mode | string | Valores permitidos: off, monitor, block. |
waf_overrides | objeto | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
waf_rule_exclusions | objeto | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | string | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. |
Exemplo ilustrativo; não é uma resposta real:
{
"cors_enabled": true,
"cors_headers": "example",
"cors_methods": "example",
"cors_origins": "example",
"created_at": 1791072000,
"deleted_at": 0,
"enabled": true,
"force_https": true,
"geo_policy": {},
"hostname": "app.example.com",
"hsts_enabled": true,
"max_body_bytes": 0,
"profile_id": "000000000000000000000000001",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"waf_custom_directives": "example",
"waf_mode": "off",
"waf_overrides": {},
"waf_rule_exclusions": {},
"waf_template": "workload_default"
}
Obter o perfil de segurança do gateway
GET /v1/gateway_security_profile/{id}
Retorna um objeto GatewaySecurityProfile
Defina gateway_security_profile_id usando IDs das suas próprias respostas da API.
Autenticação: token bearer e o cabeçalho de equipe mostrado abaixo.
Parâmetros
| Nome | Localização | Obrigatório | Descrição |
|---|---|---|---|
id | caminho | sim | Identificador de recurso dos resultados da API da sua equipe. |
X-Tenant-ID | cabeçalho | sim | ID da equipe ativa. Deve corresponder ao tenant vinculado a um token de diagnóstico. |
Exemplo de requisição
Defina ADIOS_API_URL=https://api.adios.dev. Para requisições protegidas, defina ADIOS_ACCESS_TOKEN e ADIOS_TEAM_ID como na início rápido. Defina quaisquer variáveis adicionais ADIOS_* variáveis dos seus próprios resultados de recursos.
curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Resposta: HTTP 200
GatewaySecurityProfile
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
cors_enabled | booleano | |
cors_headers | string | Cabeçalhos de pedidos CORS separados por vírgulas |
cors_methods | string | Métodos HTTP separados por vírgulas |
cors_origins | string | Origens separadas por vírgulas ou * |
created_at | inteiro | (Timestamp Unix) |
deleted_at | inteiro | (Timestamp Unix) |
enabled | booleano | |
force_https | booleano | |
geo_policy | objeto | Política opcional de permissão ou bloqueio por país no nível do host |
hostname | string | |
hsts_enabled | booleano | |
max_body_bytes | inteiro | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. |
profile_id | string | |
team_id | string | |
updated_at | inteiro | (Timestamp Unix) |
waf_custom_directives | string | Diretivas Coraza originais usadas quando waf_template=custom |
waf_mode | string | Valores permitidos: off, monitor, block. |
waf_overrides | objeto | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
waf_rule_exclusions | objeto | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | string | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. |
Exemplo ilustrativo; não é uma resposta real:
{
"cors_enabled": true,
"cors_headers": "example",
"cors_methods": "example",
"cors_origins": "example",
"created_at": 1791072000,
"deleted_at": 0,
"enabled": true,
"force_https": true,
"geo_policy": {},
"hostname": "app.example.com",
"hsts_enabled": true,
"max_body_bytes": 0,
"profile_id": "000000000000000000000000001",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"waf_custom_directives": "example",
"waf_mode": "off",
"waf_overrides": {},
"waf_rule_exclusions": {},
"waf_template": "workload_default"
}
Atualizar o perfil de segurança do gateway
PUT /v1/gateway_security_profile/{id}
Atualiza um objeto GatewaySecurityProfile existente
Defina gateway_security_profile_id usando IDs das suas próprias respostas da API.
Esta requisição altera dados ou inicia uma ação. Confira o destino e o corpo antes de enviá-la.
Campos da requisição (o corpo contém um exemplo editável):
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cors_enabled | booleano | sim | Padrão: true. |
cors_headers | string | não | Cabeçalhos de pedidos CORS separados por vírgulas |
cors_methods | string | não | Métodos HTTP separados por vírgulas |
cors_origins | string | não | Origens separadas por vírgulas ou * |
enabled | booleano | sim | Padrão: true. |
force_https | booleano | sim | Padrão: true. |
geo_policy | objeto | não | Política opcional de permissão ou bloqueio por país no nível do host |
hostname | string | sim | |
hsts_enabled | booleano | sim | Padrão: true. |
max_body_bytes | inteiro | não | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. Padrão: 0. |
team_id | string | sim | |
waf_custom_directives | string | não | Diretivas Coraza originais usadas quando waf_template=custom |
waf_mode | string | sim | Valores permitidos: off, monitor, block. Padrão: "off". |
waf_overrides | objeto | não | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
waf_rule_exclusions | objeto | não | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | string | sim | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. Padrão: "workload_default". |
Autenticação: token bearer e o cabeçalho de equipe mostrado abaixo.
Parâmetros
| Nome | Localização | Obrigatório | Descrição |
|---|---|---|---|
id | caminho | sim | Identificador de recurso dos resultados da API da sua equipe. |
X-Tenant-ID | cabeçalho | sim | ID da equipe ativa. Deve corresponder ao tenant vinculado a um token de diagnóstico. |
Exemplo de requisição
Defina ADIOS_API_URL=https://api.adios.dev. Para requisições protegidas, defina ADIOS_ACCESS_TOKEN e ADIOS_TEAM_ID como na início rápido. Defina quaisquer variáveis adicionais ADIOS_* variáveis dos seus próprios resultados de recursos.
curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"cors_enabled": true,
"enabled": true,
"force_https": true,
"hostname": "YOUR_HOSTNAME",
"hsts_enabled": true,
"max_body_bytes": 0,
"team_id": "YOUR_TEAM_ID",
"waf_mode": "off",
"waf_template": "workload_default"
}
JSON
Substitua YOUR_* no corpo antes de enviar. O heredoc com delimitador entre aspas mantém o JSON literal.
Resposta: HTTP 200
GatewaySecurityProfile atualizado
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
cors_enabled | booleano | |
cors_headers | string | Cabeçalhos de pedidos CORS separados por vírgulas |
cors_methods | string | Métodos HTTP separados por vírgulas |
cors_origins | string | Origens separadas por vírgulas ou * |
created_at | inteiro | (Timestamp Unix) |
deleted_at | inteiro | (Timestamp Unix) |
enabled | booleano | |
force_https | booleano | |
geo_policy | objeto | Política opcional de permissão ou bloqueio por país no nível do host |
hostname | string | |
hsts_enabled | booleano | |
max_body_bytes | inteiro | Limite opcional de tamanho do corpo da requisição. 0 usa o padrão da plataforma. |
profile_id | string | |
team_id | string | |
updated_at | inteiro | (Timestamp Unix) |
waf_custom_directives | string | Diretivas Coraza originais usadas quando waf_template=custom |
waf_mode | string | Valores permitidos: off, monitor, block. |
waf_overrides | objeto | Ajustes estruturados do modelo (por exemplo, exclusões por caminho ou ativação e desativação de regras) |
waf_rule_exclusions | objeto | Lista de exclusão gerenciada opcional. Exemplo: [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | string | Modelo pré-configurado de regras WAF para este host. Valores permitidos: platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. |
Exemplo ilustrativo; não é uma resposta real:
{
"cors_enabled": true,
"cors_headers": "example",
"cors_methods": "example",
"cors_origins": "example",
"created_at": 1791072000,
"deleted_at": 0,
"enabled": true,
"force_https": true,
"geo_policy": {},
"hostname": "app.example.com",
"hsts_enabled": true,
"max_body_bytes": 0,
"profile_id": "000000000000000000000000001",
"team_id": "000000000000000000000000001",
"updated_at": 1791072000,
"waf_custom_directives": "example",
"waf_mode": "off",
"waf_overrides": {},
"waf_rule_exclusions": {},
"waf_template": "workload_default"
}
Excluir perfil de segurança do gateway
DELETE /v1/gateway_security_profile/{id}
Exclui um objeto GatewaySecurityProfile
Defina gateway_security_profile_id usando IDs das suas próprias respostas da API.
Esta requisição altera dados ou inicia uma ação. Confira o destino e o corpo antes de enviá-la.
Autenticação: token bearer e o cabeçalho de equipe mostrado abaixo.
Parâmetros
| Nome | Localização | Obrigatório | Descrição |
|---|---|---|---|
id | caminho | sim | Identificador de recurso dos resultados da API da sua equipe. |
X-Tenant-ID | cabeçalho | sim | ID da equipe ativa. Deve corresponder ao tenant vinculado a um token de diagnóstico. |
Exemplo de requisição
Defina ADIOS_API_URL=https://api.adios.dev. Para requisições protegidas, defina ADIOS_ACCESS_TOKEN e ADIOS_TEAM_ID como na início rápido. Defina quaisquer variáveis adicionais ADIOS_* variáveis dos seus próprios resultados de recursos.
curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
-H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
-H "X-Tenant-ID: $ADIOS_TEAM_ID"
Resposta: HTTP 200
O recurso foi apagado.
Campos de resposta
| Campo | Tipo | Descrição |
|---|---|---|
message | string |
Exemplo ilustrativo; não é uma resposta real:
{
"message": "Deleted successfully"
}