Esta página contém informações sobre como configurar a análise do conteúdo do corpo do POST, um recurso opcional que pode ser usado com as políticas de segurança do Google Cloud Armor.
Por padrão, o Google Cloud Armor avalia o conteúdo completo de um corpo POST como uma string uniforme (sujeita a limitações de tamanho de corpo) em relação às assinaturas nas regras WAF predefinidas. Para solicitações que contêm codificação alternativa, como JSON, os componentes estruturais da mensagem (não especificados pelo usuário) podem acionar correspondências com as assinaturas WAF predefinidas. Para evitar ruídos e reduzir o risco de falsos positivos, recomendamos que você configure o Google Cloud Armor para ativar a análise alternativa de qualquer tipo de conteúdo compatível se as cargas de trabalho protegidas fizerem o seguinte:
- Exibir APIs REST
- Usar o GraphQL
- Receber solicitações com conteúdo codificado em JSON.
É possível ativar ou desativar a análise do conteúdo do corpo JSON das solicitações POST para
cada política de segurança. Quando o cabeçalho Content-Type
estiver definido como
application/json
, use a sinalização --json-parsing
na Google Cloud CLI.
Por padrão, esta opção está desativada. A sintaxe da flag é a seguinte:
--json-parsing=[STANDARD | STANDARD_WITH_GRAPHQL | DISABLED]
A sinalização está disponível apenas com gcloud compute security-policies update
. Não
é possível criar uma nova política de segurança com essa opção, a menos que você crie uma
política de segurança em um arquivo e importe esse arquivo. Para mais informações, consulte
Importar políticas de segurança.
Usar análise JSON
No exemplo a seguir, você configura uma lista de valores de cabeçalho Content-Type
personalizados aos quais a análise alternativa se aplica. O exemplo atualiza a
política de segurança POLICY_NAME
para ativar a análise JSON e especifica os
tipos de conteúdo application/json
, application/vnd.api+json
,
application/vnd.collection+json
e application/vnd.hyper+json
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD \ --json-custom-content-types "application/json,application/vnd.api+json,application/vnd.collection+json,application/vnd.hyper+json"
Usar a análise do GraphQL
Para configurar a análise do GraphQL, atualize a política de segurança e defina a flag
--json-parsing
como STANDARD_WITH_GRAPHQL
:
gcloud compute security-policies update POLICY_NAME \ --json-parsing STANDARD_WITH_GRAPHQL
Logging
Cada solicitação HTTP(S) avaliada em relação a uma política de segurança do Google Cloud Armor é registrada pelo Cloud Logging. Os registros fornecem detalhes como o nome da política de segurança aplicada, a regra de correspondência e se a regra foi aplicada. O registro de solicitações para novos recursos de serviço de back-end é desativado por padrão. Para registrar solicitações do Google Cloud Armor, ative a configuração de geração de registros HTTP(S) para cada serviço de back-end protegido por uma política de segurança. Para mais informações, consulte Geração de registros e monitoramento do balanceador de carga de aplicativo externo global.
Limitações
Considere as seguintes limitações ao configurar a análise de JSON:
Por padrão, o Google Cloud Armor inspeciona o corpo de
HTTP POST
até os primeiros 8 kB. É possível configurar esse limite como 8 kB, 16 kB, 32 kB, 48 kB ou 64 kB. Se o conteúdo JSON for maior que o limite de inspeção configurado, o Google Cloud Armor aplicará a análise JSON até esse limite, que será inspecionado por qualquer uma das regras WAF pré-configuradas.Para mais informações sobre como configurar o limite de inspeção para o corpo da solicitação ao usar regras WAF pré-configuradas, consulte Limitação de inspeção do corpo POST e PATCH.
Se o analisador JSON não retornar um resultado, poderá ser feita uma análise de URI. Se o analisador de URI não retornar nenhum parâmetro de nome-valor ou apenas parâmetros parciais de nome-valor, a string inteira ou parcial vai poder ser tratada como o nome do parâmetro para a inspeção.