Todos os produtos
Search
Central de documentação

Edge Security Acceleration:Configurações de segurança da API

Última atualização: Jun 29, 2026

As configurações de segurança da API permitem o gerenciamento centralizado de Session Identifiers, Schema Validation Settings e Token Configurations.

Adicionar um identificador de sessão

Os identificadores de sessão servem para identificar sessões individuais de API. O ESA coleta e analisa o tráfego das APIs marcadas e gera sugestões de limitação de taxa para ajudar você a ajustar seus serviços dinamicamente.

  1. No console do ESA, escolha Websites. Na coluna Websites, clique em Websites no site desejado.

  2. No painel de navegação à esquerda, escolha Website > Security.

  3. Na página API Security, clique em Settings. Na seção Session Identifier, clique em Add.image

  4. Selecione um tipo de identificador: Header, Cookie ou JWT claims (requer uma claim existente ou nova) e insira o nome correspondente.image

Definir validação de esquema

Após o upload de um esquema de API, o ESA o associa automaticamente às APIs gerenciadas que estejam em conformidade com esse esquema. O ESA valida as requisições recebidas quanto à conformidade e as processa de acordo com as ações configuradas.

  1. No console do ESA, escolha Websites. Na coluna Website, clique em Websites no site desejado.

  2. No painel de navegação à esquerda, escolha Websites > API Security.

  3. Na página Security, clique em API Security. Na seção Schema Validation Settings, clique em Configure.image

  4. Configure as definições conforme necessário e clique em OK.

    • Status: Ative ou desative o recurso de validação de esquema.

    • Default Action: Selecione a ação padrão para requisições que não estiverem em conformidade com o esquema. As ações disponíveis são:

      • Block: Bloqueia requisições não conformes e registra um log de bloqueio. Para mais informações, consulte Análise de eventos.

      • Monotor: Permite requisições não conformes e registra um log. Para mais informações, consulte Análise de eventos.

      • None: Não executa nenhuma ação e não registra log.

    • Uploaded Schemas: Os arquivos de esquema enviados. O ESA analisa esses arquivos automaticamente e os utiliza como regras de validação de conformidade de API. Para mais informações, consulte Especificações de arquivo de esquema.

    image

Adicionar um token

Adicione informações de JSON Web Token (JWT) na seção Token Configuration. Essas informações podem ser referenciadas nas Regras de API para verificação de identidade do visitante.

  1. No console do ESA, escolha Websites. Na coluna Website, clique em Websites no site desejado.

  2. No painel de navegação à esquerda, escolha Security > Websites.

  3. Na página API Security, clique em Settings. Na seção API Security, clique em API Security.image

Especificações de arquivo de esquema

Tipo e tamanho

Os arquivos de validação de esquema devem estar no formato .yml, .yaml ou .json. O tamanho máximo do arquivo é de 58 KB. Caso seu arquivo de esquema exceda esse limite, utilize o formato .json e compacte o arquivo localmente antes de fazer o upload.

Conteúdo do esquema

Versão

A validação de esquema do ESA suporta apenas a OpenAPI Specification (OAS) v3.0.x.

Campos

Campos obrigatórios

  • openapi: A versão da API, como 3.0.0.

  • info: Metadados sobre a API, como "version": "1.0.0".

  • paths: Deve conter pelo menos um caminho de API, como /api.

  • servers: Informações sobre o host. Os seguintes subcampos são suportados:

    • url: Apenas URLs absolutas são suportadas, como https://api.example.com.

    • variables: O ESA não suporta variáveis de servidor. Os placeholders de variáveis são ignorados durante a análise.

Campos opcionais

  • schema: A definição da estrutura de dados. Os seguintes tipos são suportados:

    • int32

    • uint32

    • int64

    • uint64

    • float

    • double

    • boolean

    • email

  • reference: Utiliza $ref para referenciar um objeto predefinido. Referências externas ou relativas não são suportadas.

  • requestBody: Define o corpo da requisição. Apenas dados com content-type igual a application/json são suportados.

Exemplo

A seguir, um exemplo de arquivo de esquema .json .
{
    "openapi": "3.0.0",
    "info": {
        "title": "example",
        "description": "example",
        "version": "1.0"
    },
    "servers": [
    {
      "url": "https://example1.aliyun.com",
      "description": "example1 url"
    },
    {
      "url": "https://example2.aliyun.com",
      "description": "example2 url"
    }
    ],
    "components": {
        "schemas": {
            "ParamsObject": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "required": [
                    "id",
                    "value"
                ]
            }
        }
    },
    "paths": {
        "/example/{param1}": {
            "get": {
                "operationId": "getexampleById",
                "parameters": [
                    {
                        "name": "param1",
                        "in": "path",
                        "required": true,
                        "description": "id",
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                ]
            }
        },
        "/api1": {
            "post": {
                "operationId": "post_api1",
                "summary": "post api1 request",
                "parameters": [],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ParamsObject"
                            }
                        }
                    }
                }
            },
            "get" :{
                "operationId": "get_api1",
                "summary": "get api1 request",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        }
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ]
            }
        }
    }
}