Method: projects.sources.findings.group

Filtra i risultati di un'organizzazione o di un'origine e li raggruppa in base alle proprietà specificate.

Per raggruppare tutti i dati in base a tutte le origini, specifica - come ID origine. Esempio: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{projectId}/sources/-/findings

Richiesta HTTP


Gli URL utilizzano la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
parent

string

Obbligatorio. Nome dell'origine da aggregare. Il formato è organizations/[organization_id]/sources/[source_id], folders/[folder_id]/sources/[source_id] o projects/[projectId]/sources/[source_id]. Per eseguire il raggruppamento in base a tutte le origini, specifica un valore source_id pari a -. Ad esempio: organizations/{organization_id}/sources/-, folders/{folder_id}/sources/- o projects/{projectId}/sources/-

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "filter": string,
  "groupBy": string,
  "readTime": string,
  "compareDuration": string,
  "pageToken": string,
  "pageSize": integer
}
Campi
filter

string

Espressione che definisce il filtro da applicare ai risultati. L'espressione è un elenco di una o più limitazioni combinate tramite gli operatori logici AND e OR. Le parentesi sono supportate e OR ha la precedenza su AND.

Le limitazioni hanno il formato <field> <operator> <value> e possono essere precedute dal carattere - per indicare la negazione. Ecco alcuni esempi:

  • nome
  • sourceProperties.a_property
  • securityMarks.marks.marka

Gli operatori supportati sono:

  • = per tutti i tipi di valori.
  • >, <, >=, <= per valori interi.
  • :, che indica la corrispondenza sottostringa, per le stringhe.

I tipi di valori supportati sono:

  • Valori letterali stringa tra virgolette.
  • letterali interi senza virgolette.
  • Valori letterali booleani true e false senza virgolette.

Sono supportate le seguenti combinazioni di campi e operatori:

  • nome: =
  • parent: =, :
  • resourceName: =, :
  • stato: =, :
  • Categoria: =, :
  • externalUri: =, :
  • eventTime: =, >, <, >=, <=

Utilizzo: deve essere espresso in millisecondi dall'epoca o in una stringa RFC3339. Esempi: eventTime = "2019-06-10T16:07:18-07:00" eventTime = 1560208038000

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

Ad esempio, sourceProperties.size = 100 è una stringa filtro valida.

Utilizza una corrispondenza parziale con la stringa vuota per filtrare in base a una proprietà esistente: sourceProperties.my_property : ""

Utilizza una corrispondenza parziale negata sulla stringa vuota per filtrare in base a una proprietà non esistente: -sourceProperties.my_property : ""

  • resource:
  • resource.name: =, :
  • resource.parent_name: =, :
  • resource.parent_display_name: =, :
  • resource.project_name: =, :
  • resource.project_display_name: =, :
  • resource.type: =, :
groupBy

string

Obbligatorio. Espressione che definisce i campi delle risorse da utilizzare per il raggruppamento (incluso stateChange). Il valore della stringa deve seguire la sintassi SQL: elenco di campi separati da virgola. Ad esempio: "parent,resourceName".

Quando viene impostato compareDuration, sono supportati i seguenti campi:

  • stateChange
readTime
(deprecated)

string (Timestamp format)

Ora utilizzata come punto di riferimento per filtrare i risultati. Il filtro è limitato ai risultati esistenti al momento specificato e i relativi valori sono quelli in quel momento specifico. In assenza di questo campo, verrà utilizzata per impostazione predefinita la versione di NOW dell'API.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

compareDuration
(deprecated)

string (Duration format)

Quando compareDuration è impostato, l'attributo "stateChange" di GroupResult viene aggiornato per indicare se lo stato del rilevamento è stato modificato, se è rimasto invariato o se il rilevamento è stato aggiunto durante il periodo di tempo di compareDuration che precede il momento readTime. Si tratta del tempo tra (readTime - compareDuration) e readTime.

Il valore stateChange viene dedotto in base alla presenza e allo stato del rilevamento nei due punti nel tempo. Le modifiche dello stato intermedio tra i due momenti non influiscono sul risultato. Ad esempio, i risultati non sono interessati se il rilevamento viene disattivato e poi riattivato.

Possibili valori di "stateChange" quando viene specificato compareDuration:

  • "CHANGED": indica che il rilevamento era presente e corrispondeva al filtro specificato all'inizio di compareDuration, ma ha modificato il proprio stato in readTime.
  • "UNCHANGED": indica che il rilevamento era presente e corrispondeva al filtro specificato all'inizio di compareDuration e non ha modificato lo stato in readTime.
  • "AGGIUNTO": indica che il rilevamento non corrisponde al filtro specificato o non era presente all'inizio di compareDuration, ma era presente in readTime.
  • "RIMOSSO": indica che il rilevamento era presente e corrispondeva al filtro all'inizio di compareDuration, ma non corrispondeva al filtro in readTime.

Se compareDuration non è specificato, l'unico possibile valore di stateChange è "UNUSED", che sarà lo stato impostato per tutti i risultati presenti al momento readTime.

Se questo campo è impostato, stateChange deve essere un campo specificato in groupBy.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

pageToken

string

Il valore restituito dall'ultimo GroupFindingsResponse; indica che si tratta della continuazione di una chiamata findings.group precedente e che il sistema deve restituire la pagina di dati successiva.

pageSize

integer

Il numero massimo di risultati da restituire in una singola risposta. Il valore predefinito è 10, il minimo è 1 e il massimo è 1000.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene un'istanza di GroupFindingsResponse.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

Per ulteriori informazioni, consulta la sezione Authentication Overview.