En esta página, se describe cómo crear y editar consultas de resultados de Security Command Center con el panel Editor de consultas en la página Resultados.
Usa consultas para recuperar resultados específicos y filtrar los resultados que se muestran en los resultados de la consulta de resultados.
Cómo editar las consultas de resultados
En el panel Editor de consultas, puedes agregar filtros a tus consultas para seleccionar los hallazgos según sus valores de propiedad o atributo. Puedes filtrar por aspectos como la presencia de valores, la ausencia de valores o la coincidencia de una cadena parcial.
Para obtener información sobre cómo editar una consulta de hallazgos, haz clic en la pestaña de tu nivel de servicio.
Estándar o Premium
- En la consola de Google Cloud , ve a la página Resultados de Security Command Center.
- Selecciona tu Google Cloud organización o proyecto. La página Hallazgos se carga con la consulta predeterminada que se muestra en el campo Vista previa de consulta.
- A la derecha de la sección Vista previa de la consulta, haz clic en edit Editar consulta para abrir el panel del Editor de consultas.
- Selecciona Agregar filtro para navegar, buscar y agregar filtros de atributos predefinidos a la consulta.
- Selecciona un atributo de resultado o escribe su nombre en el cuadro Buscar atributos de los hallazgos. Se mostrará una lista de los subatributos disponibles.
- Selecciona un subatributo. Se mostrará un campo de selección en el que podrás compilar la instrucción de consulta con el subatributo que seleccionaste, un operador de consulta y uno o más valores para el subatributo.
- Selecciona el operador y uno o más valores para el atributo secundario en el panel. Para obtener más información sobre los operadores de consulta y las funciones que utilizan, consulta Operadores de consulta en el menú Agregar filtros.
- Haz clic en Aplicar.
Se cerrará el cuadro de diálogo y se actualizará tu consulta.
- Repite hasta que la consulta de los resultados contenga todos los atributos que deseas.
El diálogo Seleccionar filtro te permite elegir atributos y valores admitidos de resultados.
Cuando trabajas en el editor de consultas de la página Resultados, la sección Filtros rápidos se desactiva para evitar conflictos entre ambos.
Enterprise
- En la consola de Google Cloud , ve a la página Resultados de Security Command Center.
- En el panel Editor de consultas, haz clic en Agregar filtro. Aparecerá el cuadro de diálogo Agregar filtro. Este diálogo te permite elegir atributos y valores admitidos de resultados.
- En el campo Categoría del atributo, selecciona o ingresa un atributo de hallazgo.
- En el campo Nombre del atributo, selecciona o ingresa un subatributo.
- En el campo Operador, selecciona una opción de evaluación para los valores del subatributo seleccionado. Para obtener más información sobre las opciones de evaluación y los operadores que puedes usar, consulta Operadores de consulta en el menú Agregar filtros.
- Selecciona Apply (Apply).
Se cerrará el cuadro de diálogo y se actualizará tu consulta.
- Repite este proceso hasta que la consulta de los resultados contenga todos los atributos por los que deseas filtrar.
Para borrar los filtros, haz clic en Restablecer.
Como alternativa, puedes formar una consulta de resultados de forma manual de la misma manera que formas un filtro de resultados mediante la API de Security Command Center. A medida que escribes tu consulta, aparece un menú de autocompletado, en el que puedes seleccionar funciones, valores y nombres de filtros. Para abrir el menú de autocompletar de forma manual, presiona Control + Barra espaciadora.
A medida que editas una consulta, el editor destaca cualquier error en ella para que puedas corregirlos antes de enviarla.
Operadores de consultas
Las instrucciones de consulta para los resultados de Security Command Center admiten los operadores que admiten la mayoría de las APIs de Google Cloud .
En la siguiente lista, se muestra el uso de varios operadores:
state="ACTIVE" AND NOT mute="MUTED"
create_time>"2023-08-15T19:05:32.428Z"
resource.parent_name:"prod"
severity="CRITICAL" OR severity="HIGH"
En la siguiente lista, se muestran todos los operadores y las funciones que se admiten en las instrucciones de consulta para los resultados:
- Para cadenas:
=
para la igualdad plena:
para la coincidencia parcial de cadenas
- Para números (excepto int64):
<
,>
,<=
,>=
para desigualdades=
,!=
para la igualdad
- Para números (int 64):
=
,!=
para la igualdad
- Para valores booleanos:
=
para la igualdad
- Para relaciones lógicas:
AND
OR
NOT
o-
- Para agrupar expresiones:
(
,)
(paréntesis)
- Para arrays:
contains()
, una función para consultar hallazgos con un campo de array que contiene al menos un elemento que coincide con el filtro especificadocontainsOnly()
, una función para consultar hallazgos con un campo de array que solo contiene elementos que coinciden con el filtro especificado
- Para direcciones IP, haz lo siguiente:
inIpRange()
, una función para consultar direcciones IP dentro de un rango de CIDR especificado
Operadores de consultas en el menú Agregar filtros
Para obtener información sobre los operadores de consulta que se usan en el menú Agregar filtros, haz clic en la pestaña de tu nivel de servicio.
Estándar o Premium
En el menú operadores y las funciones de consulta se representan con palabras o frases, como las siguientes:
Agregar filtro del Editor de consultas, los- Igual: Coincide con los resultados que tienen este valor de atributo exacto.
- No es igual a: Coincide con los resultados que no tienen este valor de atributo exacto.
- Después: Coincide con los hallazgos que tienen una hora de creación o actualización posterior a una hora especificada.
- Antes: Coincide con los hallazgos que tienen una hora de creación o actualización anterior a una hora especificada.
- Tiene: Compara los resultados con valores de atributo que contienen el texto que ingresas en el campo Palabra clave.
- No tiene: Coincide con los resultados que tienen valores de atributo que no contienen el texto que ingresas en el campo Palabra clave.
- Para encontrar atributos que contengan arrays, haz lo siguiente:
- Contiene cualquiera: Coincide con los resultados que tienen un valor de array que contiene cualquiera de los textos que ingresas en el campo Palabra clave.
- Contiene todos: Coincide con los resultados que tienen un valor de array que contiene todo el texto que ingresas en el campo Palabra clave.
- No contiene ninguno: Coincide con los resultados que no tienen un valor de array que contenga el texto que ingresas en el campo Palabra clave.
- Contiene solo: Coincide con los resultados que tienen un atributo de array que contiene solo el valor que ingresas en el campo Palabra clave y ningún otro valor.
- Para direcciones IP, haz lo siguiente:
- Cualquier dirección IP dentro del rango: Coincide con los hallazgos que tienen una dirección IP en un rango de CIDR especificado.
- No tiene ningún rango de IP: Coincide con los hallazgos que tienen una dirección IP que no se encuentra en un rango CIDR especificado.
Enterprise
En el menú operadores y las funciones de consulta se representan de la siguiente manera:
Agregar filtro del editor de consultas, los- Igual: Coincide con los resultados que tienen este valor de atributo exacto.
- No es igual a: Coincide con los resultados que no tienen este valor de atributo exacto.
- Después: Coincide con los resultados que tienen una hora de creación o actualización posterior a la hora que especificaste.
- Antes: Coincide con los hallazgos que tienen una hora de creación o actualización anterior a la hora especificada.
- Tiene: Compara los resultados con valores de atributo que contienen el texto que ingresas en el campo Palabra clave.
- No tiene: Coincide con los resultados que tienen valores de atributo que no contienen el texto que ingresas en el campo Palabra clave.
- Mayor que: Coincide con los resultados con valores de atributos superiores al valor especificado.
- Menor que: Coincide con los resultados con valores de atributo inferiores al valor especificado.
- Cualquier elemento dentro del rango de IP: Coincide con los hallazgos que tienen una dirección IP en un rango de CIDR especificado.
- No tiene ningún rango de IP: Coincide con los resultados que tienen una dirección IP que no está en un rango de CIDR especificado.
Funciones de consulta
Una función de consulta proporciona evaluaciones más complejas de los valores de los atributos que los operadores de consulta comunes.
Función contains
Usa la función contains
para evaluar atributos o subcampos de atributos que pueden aparecer varias veces en el mismo hallazgo.
Internamente, estos atributos o subcampos de atributos se almacenan en los elementos de una estructura de datos de array, por lo que se conocen como atributos de tipo array.
Por ejemplo, algunos hallazgos pueden hacer referencia a varias conexiones de red, por lo que el atributo connections
es de tipo array.
Del mismo modo, ciertos hallazgos de amenazas pueden hacer referencia a varias direcciones IP como indicadores de una vulneración, por lo que el subcampo ip_addresses
del atributo indicator
es un atributo de tipo array.
La función contains
usa la siguiente sintaxis:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Reemplaza lo siguiente:
ARRAY_ATTRIBUTE_NAME
: Es el nombre del atributo de tipo array que se almacena en un array. Si el atributo de tipo array es un subcampo de otro atributo, especifica el nombre del atributo y el nombre del subcampo separados por un punto.En el siguiente ejemplo, el atributo de tipo array,
ip_addresses
, es un subcampo deindicator
, por lo que ambos se especifican en la posiciónARRAY_ATTRIBUTE_NAME
:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER
: Es una expresión que define cómo evaluar cada instancia del atributo de tipo array. Se admiten los operadores de búsqueda y las instrucciones de evaluación estándar de Security Command Center.Si el valor que se debe verificar se encuentra en un subcampo de un atributo de tipo array, especifica el nombre del subcampo a la izquierda de la expresión. La siguiente función
contains
evalúa cada elemento de un array deconnections
, que es un atributo de tipo array que contiene subcampos. Los valores para los que se realiza la consulta se encuentran en el subcampodestination_ip
, que no es un campo de tipo array. Los valores para los que se realizará la consulta se especifican con el nombre del subcampo,destination_ip
, en lugar del parámetroelem
.contains(connections, destination_ip="192.0.2.80")
Si el subcampo es el atributo de tipo array, especifica el atributo de tipo array a la izquierda de la expresión con su elemento superior y usa el parámetro
elem
a la derecha de la expresión para especificar el valor que se buscará. Por ejemplo, la siguiente funcióncontains
evalúa cada elemento de un array deip_addresses
, que es un subcampo del atributoindicator
. El atributoindicator
no es un campo de tipo array.contains(indicator.ip_addresses, elem="192.0.2.80")
La función contains
en el menú Agregar filtro
En el menú Agregar filtro, según el atributo de hallazgo que evalúes, la función contains
se incluye de forma explícita o automática cuando seleccionas otra opción de filtro que la requiere.
Por ejemplo, para el subcampo Direcciones IP del atributo Indicador, puedes seleccionar las siguientes opciones de filtro:
- Contiene cualquiera
- Contiene todo
- No contiene
En cambio, si filtras el subcampo IP de destino del atributo Conexiones y seleccionas Cualquier IP dentro del rango, la función contains
se agrega automáticamente a la instrucción de la consulta, como se muestra en el siguiente ejemplo:
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Para obtener más información sobre la función contains
, consulta Filtrado en campos de tipo array.
Función containsOnly
La función containsOnly
te permite consultar hallazgos para atributos o subcampos de tipo array que contienen solo los valores especificados en el subfiltro y ningún otro.
La función containsOnly
usa la siguiente sintaxis:
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Reemplaza lo siguiente:
ARRAY_ATTRIBUTE_NAME
: Es el nombre del atributo de tipo array. Si el atributo de tipo array es un subcampo de otro atributo, especifica el nombre del atributo y el nombre del subcampo separados por un punto. Cuando ejecutas consultas con la consola de Google Cloud , esta función solo admite los atributos de arrayiam_bindings.member
yiam_bindings.role
.SUBFILTER
: Es una expresión que define cómo evaluar cada elemento del atributo de tipo array. Se admiten los operadores de consultas y las sentencias de evaluación estándar de Security Command Center.
En el menú Agregar filtro, las siguientes opciones de filtro usan la función containsOnly
:
Vinculación de IAM > Miembro: Selecciona solo los hallazgos que incluyen los usuarios, las cuentas de servicio o los grupos especificados.
Vinculación de IAM > Rol: Selecciona solo los hallazgos que incluyen los roles especificados.
En el siguiente ejemplo, se muestra una consulta de hallazgos en la consola de Google Cloud que devuelve hallazgos activos y no silenciados para los usuarios del grupoexample-group
:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
Función inIpRange
La función inIpRange
verifica si la dirección IP de un atributo de hallazgo seleccionado se encuentra dentro de un rango de direcciones IP que especificas con la notación CIDR (un rango de CIDR). A continuación, se muestra la sintaxis de la función inIpRange
:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
En el menú Agregar filtro, las siguientes opciones de filtro usan la función inIpRange
:
- Cualquier dirección IP dentro del rango: Selecciona solo los hallazgos que contienen direcciones IP dentro del rango especificado.
- No tiene ningún rango de IP: Selecciona solo los hallazgos que no contienen direcciones IP dentro del rango especificado.
En el siguiente ejemplo, se muestra una consulta de hallazgos en la consola de Google Cloud que devuelve hallazgos activos y no silenciados en los que el subcampocaller_ip
del objetoaccess
contiene una dirección IPv6 en el rango CIDR de2001:db8::/32
:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
En el siguiente ejemplo, se muestra una consulta de hallazgos que devuelve hallazgos activos y no silenciados en los que el subcampo caller_ip
del objeto access
no contiene una dirección IP en el rango de CIDR IPv4 de 192.0.2.0/24
:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Si una dirección IP se encuentra en un atributo que puede aparecer varias veces en un hallazgo, usa la función contains
con la función inIpRange
para verificar cada instancia del atributo en busca de la dirección IP. Por ejemplo:
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Para obtener más información sobre la función contains()
, consulta La función contains
.
Atributos de resultados para búsquedas
Security Command Center selecciona los resultados que se mostrarán evaluando los atributos de cada resultado almacenado en función de los filtros de atributos que especifiques en la consulta.
Puedes consultar la mayoría de los atributos de los resultados. Algunos atributos son comunes a todos los resultados. Otros atributos pueden ser específicos de un problema de seguridad, una categoría de hallazgo o un servicio de detección en particular.
En el menú Agregar filtro del panel Editor de consultas, las opciones que puedes aplicar a un filtro de atributos son diferentes según el tipo de atributo que selecciones y si el atributo tiene subcampos o un array de valores.
En el menú Agregar filtro, haz clic en cualquiera de los siguientes atributos de nivel superior para mostrar los atributos secundarios y los valores que puedes usar en una consulta de resultados:
- Resultado
- Recurso
- Access (
access
) - Puntuación de exposición al ataque
- Recuperación ante desastres de la copia de seguridad
- Cumplimientos (
compliances[]
) - Conexiones (
connections[]
) - Contactos
- Contenedores
- Base de datos
- Robo de datos (
exfiltration
) - Archivos
- Vinculación de IAM (
iamBindings[]
) - Indicador
- Rootkit de Kernel
- Kubernetes
- MITRE ATT&CK (
mitreAttack
) - Procesos (
processes[]
) - Postura de seguridad
- Protección de datos sensibles
- Vulnerabilidad