Os registros por solicitação do Google Cloud Armor para o nome da política de segurança, prioridade de regra de correspondência, ação associada e informações relacionadas são registrados como parte da geração de registros para balanceadores de carga de aplicativo externos e balanceadores de carga de rede proxy externos. A geração de registros para novos serviços de back-end é desativada por padrão. Portanto, você precisa ativar a geração de registros para registrar informações completas de geração de registros do Google Cloud Armor.
Os registros do Google Cloud Armor fazem parte dos registros do Cloud Load Balancing. Isso significa que a geração de registros do Google Cloud Armor está sujeita à taxa de amostragem de registros configurada para o balanceador de carga. Se você reduzir a taxa de amostragem do balanceador de carga, a amostragem dos registros de solicitações do Google Cloud Armor será realizada de acordo com essa taxa reduzida. Além disso, se você usar a referência de serviço entre projetos, os registros serão gerados no projeto host ou de serviço que inclui o front-end e o mapa de URL do balanceador de carga. Portanto, recomendamos que os administradores no projeto de front-end concedam aos administradores no projeto de back-end permissões para ler registros e métricas.
Usando a geração de registros, é possível conferir todas as solicitações avaliadas por uma política de segurança do Google Cloud Armor e o resultado ou a ação realizada com base na regra de correspondência de maior prioridade. Por exemplo, para ver solicitações negadas, use filtros como
jsonPayload.enforcedSecurityPolicy.outcome="DENY"
ou
jsonPayload.statusDetails="denied_by_security_policy"
.
Para ativar a geração de registros de um balanceador de carga de aplicativo externo, consulte esta página. Para o balanceador de carga de rede de proxy externo, é possível usar os comandos do Google Cloud CLI conforme listado na página anterior Geração de registros e monitoramento do balanceador de carga de aplicativo externo. Não é possível ativar a geração de registros para o balanceador de carga de rede do proxy externo usando o console do Google Cloud.
Além disso, é possível definir diferentes níveis de registro para ajudar a avaliar se as políticas de segurança e suas regras estão funcionando conforme o esperado. Para informações completas, consulte Registro detalhado.
Entradas de registro da política de segurança
As entradas de registro a seguir, exibidas no Explorador de registros, são destinadas à geração de registros de regras
e à política de segurança do Google Cloud Armor. As entradas incluem a seguinte estrutura
em jsonPayload
: Os detalhes da solicitação HTTP aparecem na mensagem httpRequest
.
statusDetails
(string): uma descrição textual do código de resposta.redirected_by_security_policy
: a solicitação foi redirecionada por uma regra de redirecionamento,GOOGLE_RECAPTCHA
ouEXTERNAL_302
.denied_by_security_policy
: uma solicitação foi negada por um balanceador de carga devido a uma política de segurança do Google Cloud Armor.body_denied_by_security_policy
: um corpo de solicitação foi negado pelo balanceador de carga devido a uma política de segurança do Google Cloud Armor.
enforcedSecurityPolicy
: a regra da política de segurança que foi aplicada.name
(string): nome da política de segurançapriority
(número): a prioridade da regra correspondente na política de segurançaadaptiveProtection
: informações sobre a regra da Proteção adaptável implantada automaticamente, se aplicável.autoDeployAlertId
: o ID do alerta dos eventos que a Proteção adaptável detectou.
configuredAction
(string): o nome da ação configurada na regra correspondente, por exemplo:ALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
eTHROTTLE
(para uma regra de limitação),RATE_BASED_BAN
(para uma regra de proibição baseada em taxa)rateLimitAction
: informações sobre a ação de limite de taxa quando há correspondência com uma regra de proibição baseada em taxa ou com uma regra de limitação.key
(string): valor da chave de limite de taxa (até 36 bytes). Este campo é omitido quando o tipo de chave éALL
, se o tipo de chave éHTTP-HEADER
ouHTTP-COOKIE
e o cabeçalho ou cookie especificado não está presente na solicitação.outcome
(string): os valores possíveis são os seguintes:"RATE_LIMIT_THRESHOLD_CONFORM"
quando está abaixo do limite de taxa configurado"RATE_LIMIT_THRESHOLD_EXCEED"
quando ultrapassa o limite de taxa configurado."BAN_THRESHOLD_EXCEED"
quando ultrapassa o limite de banimento configurado.
outcome
(string): o resultado da execução da ação configurada, por exemplo,ACCEPT
,DENY
,REDIRECT
eEXEMPT
.preconfiguredExprIds
(string): IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra.threatIntelligence
: informações sobre as listas de endereços IP correspondentes do Threat Intelligence, se aplicável.categories
: (string) o nome da lista de endereços IP correspondentes.
previewSecurityPolicy
: preenchido se a solicitação corresponder a uma regra configurada para visualização (presente apenas quando uma regra de visualização tiver prioridade sobre a aplicada).name
(string): nome da política de segurançapriority
(número): a prioridade da regra correspondente na política de segurançaconfiguredAction
(string): o nome da ação configurada na regra correspondente, por exemplo:ALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
eTHROTTLE
(para uma regra de limitação),RATE_BASED_BAN
(para uma regra de proibição baseada em taxa)rateLimitAction
: informações sobre a ação de limite de taxa quando há correspondência com uma regra de proibição baseada em taxa ou com uma regra de limitação.key
(string): valor da chave de limite de taxa (até 36 bytes). Este campo é omitido quando o tipo de chave éALL
, se o tipo de chave forHTTP-HEADER
ouHTTP-COOKIE
e o cabeçalho ou cookie especificado não estiver presente na solicitação.outcome
(string): os valores possíveis são os seguintes:"RATE_LIMIT_THRESHOLD_CONFORM"
quando está abaixo do limite de taxa configurado"RATE_LIMIT_THRESHOLD_EXCEED"
quando ultrapassa o limite de taxa configurado."BAN_THRESHOLD_EXCEED"
quando ultrapassa o limite de banimento configurado.
outcome
(string): o resultado da execução da configuração.outcome
(string): o resultado da execução da ação configurada, por exemplo,ACCEPT
,DENY
,REDIRECT
eEXEMPT
.preconfiguredExprIds
(string): IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra.threatIntelligence
: informações sobre as listas de endereços IP correspondentes do Threat Intelligence, se aplicável.categories
: (string) o nome da lista de endereços IP correspondentes.
enforcedEdgeSecurityPolicy
(Visualização): a regra da política de segurança de borda que foi aplicada.name
(string): nome da política de segurançapriority
(número): a prioridade da regra correspondente na política de segurançaconfiguredAction
(string): o nome da ação configurada na regra correspondente. Por exemplo,ALLOW
,DENY
.outcome
(string): o resultado da execução da ação configurada, por exemplo,ACCEPT
,DENY
.
previewEdgeSecurityPolicy
(Visualização): preenchido se uma solicitação corresponder a uma regra de política de segurança de borda configurada para visualização. Presente apenas quando uma regra de visualização tiver prioridade sobre a regra aplicada).name
(string): nome da política de segurançapriority
(número): a prioridade da regra correspondente na política de segurançaconfiguredAction
(string): o nome da ação configurada na regra correspondente. Por exemplo,ALLOW
,DENY
.outcome
(string): o resultado da execução da ação configurada, por exemplo,ACCEPT
,DENY
.
Como ver registros
É possível ver os registros de uma política de segurança do Google Cloud Armor somente no Console do Google Cloud.
Console
No console do Google Cloud, acesse as políticas do Google Cloud Armor.
Clique em
Ações.Selecione Ver registros.
Solicitar geração de registros de dados
Quando usado com o Google Cloud Armor, jsonPayload
tem o seguinte campo
adicional:
securityPolicyRequestData
: dados relativos à solicitação enquanto estão sendo processados por uma política de segurança, independentemente de qual regra será correspondida.recaptchaActionToken
: dados relacionados a um token de ação do reCAPTCHA.score (float)
: uma pontuação de legitimidade do usuário incorporada em um token de ação do reCAPTCHA. Presente apenas quando um token de ação do reCAPTCHA é anexado à solicitação e decodificado com base em uma regra de política de segurança. Para mais informações, consulte Aplicar a avaliação do reCAPTCHA.
recaptchaSessionToken
: dados relacionados a um token de sessão do reCAPTCHA.score (float)
: uma pontuação de legitimidade do usuário incorporada em um token de sessão do reCAPTCHA. Presente apenas quando um token de sessão do reCAPTCHA é anexado à solicitação e decodificado com base em uma regra de política de segurança.
tlsJa3Fingerprint
: uma impressão digital TTL/SSL JA3 se o cliente se conectar usandoHTTPS
,HTTP/2
ouHTTP/3
. Presente apenas se a impressão digital estiver disponível e houver uma política de segurança que avalie a solicitação (independentemente de uma expressão na política corresponder à solicitação).
Exemplos de registro
Veja a seguir um exemplo de detalhes de registro para uma regra de limitação que bloqueia uma solicitação:
jsonPayload: { enforcedSecurityPolicy: { priority: 100 name: "sample-prod-policy" configuredAction: "THROTTLE" outcome: "DENY" rateLimitAction: { key:"sample-key" outcome:"RATE_LIMIT_THRESHOLD_EXCEED" } } @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" statusDetails: "denied_by_security_policy" } httpRequest: {8} resource: {2} timestamp: "2021-03-17T19:16:48.185763Z"
Veja a seguir um exemplo de detalhes de registro para uma regra de proibição baseada em taxa que bloqueia uma solicitação:
jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" enforcedSecurityPolicy: { priority: 150 name: "sample-prod-policy" outcome: "DENY" configuredAction: "RATE_BASED_BAN" rateLimitAction: { key:"sample-key" outcome:"BAN_THRESHOLD_EXCEED" } } statusDetails: "denied_by_security_policy" } httpRequest: {8} resource: {2} timestamp: "2021-03-17T19:27:17.393244Z"
A seguir
Saiba mais sobre a solução de problemas do Google Cloud Armor.