Los registros por solicitud de Google Cloud Armor incluyen el nombre de la política de seguridad, la prioridad de la regla de coincidencia, la acción asociada y la información relacionada. Se registran como parte del registro de los balanceadores de carga de aplicaciones externos y los balanceadores de carga de red de proxy externos. El registro de los nuevos servicios backend está inhabilitado de forma predeterminada, por lo que debes habilitarlo para registrar la información de registro completa de Cloud Armor.
Los registros de Cloud Armor forman parte de los registros de Cloud Load Balancing. Esto significa que la generación de registros de Cloud Armor está sujeta a la tasa de muestreo de registros configurada en tu balanceador de carga. Si reduces la frecuencia de muestreo de tu balanceador de carga, los registros de solicitudes de Cloud Armor se muestrearán a esa frecuencia reducida. Además, si usas referencias de servicio entre proyectos, los registros se generan en el proyecto de host o de servicio que incluye el frontend y el mapa de URLs de tu balanceador de carga. Por lo tanto, recomendamos que los administradores del proyecto frontend concedan permisos para leer registros y métricas a los administradores del proyecto backend.
Con el registro, puedes ver todas las solicitudes evaluadas por una política de seguridad de Cloud Armor y el resultado o la acción realizada en función de la regla coincidente de mayor prioridad. Por ejemplo, para ver las solicitudes denegadas, puedes usar filtros como
jsonPayload.enforcedSecurityPolicy.outcome="DENY"
o
jsonPayload.statusDetails="denied_by_security_policy"
.
Además, puede definir diferentes niveles de registro para evaluar si sus políticas de seguridad y sus reglas funcionan según lo previsto. Para obtener información completa, consulta Registro detallado.
Entradas de registro de la política de seguridad
Las siguientes entradas de registro del explorador de registros corresponden al registro de políticas y reglas de seguridad de Cloud Armor. Las entradas tienen la siguiente estructura
en jsonPayload
. Los detalles de la solicitud HTTP aparecen en el mensaje httpRequest
.
statusDetails
: una descripción textual del código de respuesta.redirected_by_security_policy
: la solicitud se ha redirigido mediante una regla de redirección, ya seaGOOGLE_RECAPTCHA
oEXTERNAL_302
.denied_by_security_policy
: el balanceador de carga ha denegado una solicitud debido a una política de seguridad de Cloud Armor.body_denied_by_security_policy
: el balanceador de carga ha denegado el cuerpo de una solicitud debido a una política de seguridad de Cloud Armor.
enforcedSecurityPolicy
: la regla de la política de seguridad que se ha aplicado.name
: el nombre de la política de seguridad.priority
: prioridad numérica de la regla coincidente en la política de seguridad.adaptiveProtection
: información sobre la regla de protección adaptativa implementada automáticamente, si procede.autoDeployAlertId
: el ID de alerta de los eventos que ha detectado Adaptive Protection.
configuredAction
: el nombre de la acción configurada en la regla coincidente (por ejemplo,ALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
,THROTTLE
[en el caso de una regla de limitación] oRATE_BASED_BAN
[en el caso de una regla de suspensión basada en la frecuencia]).rateLimitAction
: información sobre la acción de limitación de frecuencia cuando se cumple una regla de limitación o una regla de prohibición basada en la frecuencia.key
: valor de la clave de límite de frecuencia (hasta 36 bytes). Este campo se omite si el tipo de clave esALL
o si el tipo de clave esHTTP-HEADER
oHTTP-COOKIE
y el encabezado o la cookie especificados no están presentes en la solicitud.outcome
: los valores posibles son los siguientes:"RATE_LIMIT_THRESHOLD_CONFORM"
si está por debajo del umbral del límite de frecuencia configurado."RATE_LIMIT_THRESHOLD_EXCEED"
si supera el umbral del límite de frecuencia configurado."BAN_THRESHOLD_EXCEED"
si supera el umbral de prohibición configurado.
outcome
: el resultado de ejecutar la acción configurada (por ejemplo,ACCEPT
,DENY
,REDIRECT
oEXEMPT
).preconfiguredExprIds
: los IDs de todas las expresiones de reglas de WAF preconfiguradas que han activado la regla.threatIntelligence
: información sobre las listas de direcciones IP coincidentes de Google Threat Intelligence, si procede.categories
: los nombres de las listas de direcciones IP coincidentes.
addressGroup
: información sobre los grupos de direcciones coincidentes, si procede.names
: los nombres de los grupos de direcciones coincidentes.
previewSecurityPolicy
: se rellena si una solicitud coincide con una regla configurada para la vista previa (solo se presenta cuando una regla de vista previa habría tenido prioridad sobre la regla aplicada).name
: el nombre de la política de seguridadpriority
: prioridad numérica de la regla coincidente en la política de seguridad.configuredAction
: el nombre de la acción configurada en la regla coincidente (por ejemplo,ALLOW
,DENY
,GOOGLE_RECAPTCHA
,EXTERNAL_302
,THROTTLE
[en el caso de una regla de limitación] oRATE_BASED_BAN
[en el caso de una regla de suspensión basada en la frecuencia]).rateLimitAction
: información sobre la acción de limitación de frecuencia cuando se cumple una regla de limitación o una regla de prohibición basada en la frecuencia.key
: valor de la clave de límite de frecuencia (hasta 36 bytes). Este campo se omite si el tipo de clave esALL
o si el tipo de clave esHTTP-HEADER
oHTTP-COOKIE
y el encabezado o la cookie especificados no están presentes en la solicitud.outcome
: los valores posibles son los siguientes:"RATE_LIMIT_THRESHOLD_CONFORM"
si está por debajo del umbral del límite de frecuencia configurado."RATE_LIMIT_THRESHOLD_EXCEED"
si supera el umbral del límite de frecuencia configurado."BAN_THRESHOLD_EXCEED"
si supera el umbral de prohibición configurado.
outcome
: el resultado de ejecutar la acción configurada (por ejemplo,ACCEPT
,DENY
,REDIRECT
oEXEMPT
).preconfiguredExprIds
: los IDs de todas las expresiones de reglas de WAF preconfiguradas que han activado la regla.threatIntelligence
: información sobre las listas de direcciones IP coincidentes de Inteligencia frente a amenazas, si procede.categories
: los nombres de las listas de direcciones IP coincidentes.
addressGroup
: información sobre los grupos de direcciones coincidentes, si procede.names
: los nombres de los grupos de direcciones coincidentes.
enforcedEdgeSecurityPolicy
: la regla de la política de seguridad de Edge que se ha aplicado.name
: el nombre de la política de seguridad.priority
: la prioridad de la regla coincidente en la política de seguridad.configuredAction
: el nombre de la acción configurada en la regla coincidente (por ejemplo,ALLOW
oDENY
).outcome
: el resultado de ejecutar la acción configurada (por ejemplo,ACCEPT
oDENY
).
previewEdgeSecurityPolicy
: se rellena si una solicitud coincide con una regla de política de seguridad perimetral configurada para la vista previa. La entrada de registropreviewEdgeSecurityPolicy
solo aparece cuando una regla de vista previa tiene prioridad sobre la regla aplicada.name
: el nombre de la política de seguridad.priority
: prioridad numérica de la regla coincidente en la política de seguridad.configuredAction
: el nombre de la acción configurada en la regla coincidente (por ejemplo,ALLOW
oDENY
).outcome
: el resultado de ejecutar la acción configurada (por ejemplo,ACCEPT
oDENY
).
Ver registros
Solo puede ver los registros de una política de seguridad de Cloud Armor en la consola.Google Cloud
Consola
En la Google Cloud consola, ve a Políticas de Cloud Armor.
Haz clic en
Acciones.Selecciona Ver registros.
Solicitar el registro de datos
Cuando se usa con Cloud Armor, jsonPayload
tiene el siguiente campo adicional:
securityPolicyRequestData
: datos relativos a la solicitud mientras se procesa mediante una política de seguridad, independientemente de la regla que se cumpla finalmente.recaptchaActionToken
: datos relacionados con un token de acción de reCAPTCHA.score
: una puntuación de legitimidad del usuario insertada en un token de acción de reCAPTCHA. Solo se presenta cuando se adjunta un token de acción de reCAPTCHA a la solicitud y se decodifica correctamente según una regla de política de seguridad. Para obtener más información, consulta Aplicar la evaluación de reCAPTCHA.
recaptchaSessionToken
: datos relacionados con un token de sesión de reCAPTCHA.score
: una puntuación de legitimidad del usuario insertada en un token de sesión de reCAPTCHA. Solo se incluye cuando se adjunta un token de sesión de reCAPTCHA a la solicitud y se decodifica correctamente según una regla de política de seguridad.
tlsJa4Fingerprint
: una huella digital TTL/SSL de JA4 si el cliente se conecta medianteHTTPS
,HTTP/2
oHTTP/3
. Solo se incluye si la huella digital está disponible y hay una política de seguridad que evalúa la solicitud (independientemente de si una expresión de la política coincide con la solicitud).tlsJa3Fingerprint
: una huella digital JA3 TTL/SSL si el cliente se conecta medianteHTTPS
,HTTP/2
oHTTP/3
. Solo se incluye si la huella digital está disponible y hay una política de seguridad que evalúa la solicitud (independientemente de si una expresión de la política coincide con la solicitud).
Ejemplos de registros
A continuación, se muestra un ejemplo de los detalles de registro de una regla de limitación que bloquea una solicitud:
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"
A continuación, se muestra un ejemplo de los detalles de registro de una regla de prohibición basada en la frecuencia que bloquea una solicitud:
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"
Siguientes pasos
- Consulta cómo solucionar problemas de Cloud Armor.