Method: organizations.sources.findings.group

Filtra los hallazgos de una organización o fuente y los agrupa según sus propiedades especificadas.

Para agrupar todas las fuentes, proporciona un - como el ID de fuente. Ejemplo: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{projectId}/sources/-/findings

Solicitud HTTP


Las URL usan la sintaxis de transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. Es el nombre de la fuente para groupBy. Su formato es "organizations/[organization_id]/sources/[source_id]", folders/[folder_id]/sources/[source_id] o projects/[projectId]/sources/[source_id]. Para agrupar en todas las fuentes, proporciona un source_id de -. Por ejemplo: organizations/{organization_id}/sources/-, folders/{folder_id}/sources/- o projects/{projectId}/sources/-

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "filter": string,
  "groupBy": string,
  "readTime": string,
  "compareDuration": string,
  "pageToken": string,
  "pageSize": integer
}
Campos
filter

string

Es una expresión que define el filtro que se aplicará a todos los resultados. La expresión es una lista de una o más restricciones combinadas a través de los operadores lógicos AND y OR. Se admiten paréntesis, y OR tiene una prioridad más alta que AND.

Las restricciones tienen el formato <field> <operator> <value> y pueden tener un carácter - delante para indicar la negación. Los ejemplos incluyen:

  • nombre
  • sourceProperties.a_property
  • securityMarks.marks.marka

Los operadores admitidos son los siguientes:

  • = para todos los tipos de valores.
  • >, <, >=, <= para valores enteros
  • :, que significa coincidencia de substring, para cadenas.

Los tipos de valores admitidos son los siguientes:

  • literales de cadena entre comillas.
  • literales de número entero sin comillas.
  • Literales booleanos true y false sin comillas.

Se admiten las siguientes combinaciones de campos y operadores:

  • nombre: =
  • superior: =, :
  • resourceName: =, :
  • estado: =, :
  • categoría: =, :
  • externalUri: =, :
  • eventTime: =, >, <, >=, <=
  • gravedad: =, :

Uso: Debe ser una cadena RFC3339 o milisegundos desde la época. Ejemplos: eventTime = "2019-06-10T16:07:18-07:00" eventTime = 1560208038000

  • securityMarks.marks: =, :
  • sourceProperties: =, :, >, <, >=, <=

Por ejemplo, sourceProperties.size = 100 es una cadena de filtro válida.

Usa una coincidencia parcial en la cadena vacía para filtrar según una propiedad existente: sourceProperties.my_property : ""

Usa una concordancia parcial negada en la cadena vacía para filtrar según una propiedad que no existe: -sourceProperties.my_property : ""

groupBy

string

Obligatorio. Es una expresión que define qué campos de recursos se deben usar para la agrupación (incluidos stateChange). El valor de cadena debe seguir la sintaxis de SQL: lista de campos separados por comas. Por ejemplo: "parent,resourceName".

Se admiten los siguientes campos:

  • resourceName
  • category
  • state
  • elemento superior
  • gravedad,

Los siguientes campos son compatibles cuando se establece compareDuration:

  • stateChange
readTime

string (Timestamp format)

Es el tiempo que se usa como punto de referencia cuando se filtran los resultados. El filtro se limita a los resultados existentes en el momento proporcionado y sus valores son los de ese momento específico. Si no se incluye este campo, se usará la versión de NOW de la API de forma predeterminada.

Usa RFC 3339, en el que el resultado generado siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan compensaciones distintas de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

compareDuration

string (Duration format)

Cuando se establece compareDuration, se actualiza el atributo "stateChange" de GroupResult para indicar si se cambió el estado del hallazgo, si no cambió o si se agregó durante el período de compareDuration que precede a readTime. Es el tiempo entre (readTime - compareDuration) y readTime.

El valor de stateChange se obtiene en función de la presencia y el estado del hallazgo en los dos momentos. Los cambios de estado intermedios entre los dos momentos no afectan el resultado. Por ejemplo, los resultados no se ven afectados si el hallazgo se inactiva y, luego, se vuelve a activar.

Valores posibles de "stateChange" cuando se especifica compareDuration:

  • "CHANGED": Indica que el hallazgo estaba presente y coincidía con el filtro determinado al comienzo de compareDuration, pero cambió su estado en readTime.
  • "UNCHANGED": Indica que el hallazgo estaba presente y coincidía con el filtro determinado al comienzo de compareDuration y no cambió de estado en readTime.
  • "ADDED": Indica que el hallazgo no coincidió con el filtro determinado o no estaba presente al comienzo de compareDuration, pero sí en readTime.
  • "REMOVED": Indica que el resultado estaba presente y coincidía con el filtro al comienzo de compareDuration, pero no coincidía con el filtro en readTime.

Si no se especifica compareDuration, el único stateChange posible es "UNUSED", que será el stateChange establecido para todos los hallazgos presentes en readTime.

Si se establece este campo, stateChange debe ser un campo especificado en groupBy.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

pageToken

string

El valor que muestra el último GroupFindingsResponse indica que esta es una continuación de una llamada findings.group anterior y que el sistema debe mostrar la siguiente página de datos.

pageSize

integer

Es la cantidad máxima de resultados que se mostrarán en una sola respuesta. El valor predeterminado es 10, el mínimo es 1 y el máximo es 1, 000.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta contiene una instancia de GroupFindingsResponse.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.