Disattivazione dei risultati in Security Command Center

Questa pagina spiega come ridurre il volume dei risultati che ricevi in Security Command Center disattivando i risultati.

La disattivazione di un risultato lo nasconde dalla visualizzazione predefinita dei risultati nella console Google Cloud. Puoi disattivare i risultati manualmente o in modo programmatico e creare filtri per disattivare automaticamente i risultati esistenti e futuri in base ai criteri da te specificati.

I servizi di rilevamento di Security Command Center forniscono ampie valutazioni di sicurezza del deployment di Google Cloud, ma potresti notare che alcuni risultati non sono appropriati o pertinenti per la tua organizzazione o i tuoi progetti. Un volume elevato di rilevamenti può inoltre rendere difficile per gli analisti della sicurezza identificare e risolvere in modo efficace i rischi più critici. La disattivazione dei risultati consente di risparmiare tempo durante l'esame o la risposta ai risultati sulla sicurezza per asset isolati o che rientrano in parametri aziendali accettabili.

La disattivazione dei risultati presenta diversi vantaggi rispetto alla disattivazione dei rilevatori:

  • Puoi creare filtri personalizzati per perfezionare i risultati che vengono disattivati.
  • La disattivazione dei risultati non interrompe l'analisi degli asset sottostanti. I risultati vengono comunque generati, ma rimangono nascosti finché non decidi di visualizzarli.

Autorizzazioni

Per disattivare i risultati, devi avere uno dei seguenti ruoli IAM (Identity and Access Management) a livello di organizzazione, cartella o progetto:

  • Visualizza le regole di disattivazione:
    • Visualizzatore amministratore Centro sicurezza (roles/securitycenter.adminViewer)
    • Visualizzatore impostazioni Centro sicurezza (roles/securitycenter.settingsViewer)
    • Visualizzatore configurazioni disattivazione Centro sicurezza (roles/securitycenter.muteConfigsViewer)
  • Visualizza, crea, aggiorna ed elimina le regole di disattivazione:
    • Amministratore Centro sicurezza (roles/securitycenter.admin)
    • Editor amministratore Centro sicurezza (roles/securitycenter.adminEditor)
    • Editor impostazioni Centro sicurezza (roles/securitycenter.settingsEditor)
    • Editor configurazioni disattivazione Centro sicurezza (roles/securitycenter.muteConfigsEditor)
  • Disattiva manualmente i risultati:
    • Editor risultati Centro sicurezza (roles/securitycenter.findingsEditor)

Puoi anche creare e concedere ruoli personalizzati con alcune o tutte le seguenti autorizzazioni:

  • Autorizzazioni di lettura delle regole di disattivazione
    • securitycenter.muteconfigs.get
    • securitycenter.muteconfigs.list
  • Autorizzazioni di scrittura delle regole di disattivazione
    • securitycenter.muteconfigs.create
    • securitycenter.muteconfigs.update
    • securitycenter.muteconfigs.delete
  • Come trovare le autorizzazioni di scrittura
    • securitycenter.findings.setMute
    • securitycenter.findings.bulkMuteUpdate

La tua possibilità di disattivare i risultati ottempera ai ruoli concessi a livello di organizzazione, cartella o progetto. Puoi disattivare i risultati in cartelle o progetti specifici e limitare la possibilità di altri utenti di disattivare i risultati in base all'accesso loro concesso. Ad esempio, se hai accesso a un singolo progetto, puoi disattivare i risultati solo in quel progetto. Se hai accesso a una cartella, puoi disattivare i risultati in qualsiasi sottocartella o progetto al suo interno.

Per scoprire di più sui ruoli di Security Command Center, vedi Controllo dell'accesso.

Crea e gestisci le regole di disattivazione

Le regole di disattivazione sono configurazioni di Security Command Center che utilizzano i filtri che crei per disattivare automaticamente i risultati futuri in base ai criteri specificati. I nuovi risultati che corrispondono ai filtri di disattivazione vengono disattivati automaticamente e su base continuativa. Se vuoi disattivare anche risultati simili esistenti, utilizza gli stessi filtri per disattivare collettivamente i risultati.

Ambito delle regole di disattivazione

Durante la creazione dei filtri, considera l'ambito di una regola di disattivazione.

Ad esempio, se viene scritto un filtro per disattivare i risultati in Project A, ma il filtro stesso viene creato in Project B, il filtro potrebbe non corrispondere ad alcun risultato.

Allo stesso modo, se è abilitata la situazione dei dati, l'ambito di una regola di disattivazione è limitato alla località di Security Command Center in cui è stata creata la regola di disattivazione. Ad esempio, se crei una regola di disattivazione nella località degli Stati Uniti (us), la regola di disattivazione non disattiva i risultati archiviati nelle località dell'Unione Europea (eu) o Globale (global). Per ulteriori informazioni sulla residenza dei dati e sulle regole di disattivazione, consulta Regole di disattivazione, esportazioni continue e residenza dei dati.

Per ulteriori informazioni sulla creazione di filtri, consulta l'articolo Filtrare le notifiche.

Limitazioni delle regole di disattivazione

Le regole di disattivazione non supportano tutte le proprietà dei risultati. Per un elenco delle proprietà che non sono supportate dalle regole di disattivazione, consulta Proprietà dei risultati non supportate per le regole di disattivazione.

Puoi creare, visualizzare, aggiornare ed eliminare le regole di disattivazione in base all'ambito dei tuoi ruoli IAM. Con i ruoli a livello di organizzazione, puoi visualizzare regole di disattivazione per tutte le cartelle e i progetti all'interno dell'organizzazione. Se disponi di ruoli a livello di cartella, puoi accedere e gestire le regole di disattivazione per cartelle specifiche e per tutte le sottocartelle e i progetti al loro interno. I ruoli a livello di progetto consentono di gestire le regole di disattivazione in progetti specifici.

Security Command Center Premium supporta la concessione di ruoli a livello di organizzazione, cartella e progetto. Security Command Center Standard supporta la concessione dei ruoli solo a livello di organizzazione. Per ulteriori informazioni, vedi Controllo dell'accesso.

Residenza dei dati e regole di disattivazione

Se la situazione dei dati è abilitata, le configurazioni che definiscono le regole di disattivazione, ovvero le risorse muteConfig, sono soggette al controllo della residenza dei dati e vengono archiviate in una località di Security Command Center selezionata da te.

Per applicare una regola di disattivazione ai risultati in una località di Security Command Center, devi creare la regola di disattivazione nella stessa posizione dei risultati a cui si applica.

Poiché i filtri utilizzati nelle regole di disattivazione possono contenere dati soggetti a controlli di residenza, assicurati di specificare la posizione corretta prima di crearli. Security Command Center non limita la località in cui crei regole di disattivazione audio o esportazioni di flussi di dati.

Le regole di disattivazione vengono archiviate solo nella posizione in cui sono state create e non possono essere visualizzate o modificate in altre posizioni.

Dopo aver creato una regola di disattivazione, non puoi modificarne la posizione. Per cambiare posizione, devi eliminare la regola di disattivazione e ricrearla nella nuova posizione.

Per visualizzare le regole di disattivazione nella console Google Cloud, devi prima impostare la visualizzazione della console Google Cloud sulla posizione in cui sono state create.

Le stesse regole si applicano alla rappresentazione API di una regola di disattivazione, MuteConfig.

Per recuperare un MuteConfig utilizzando le chiamate API, devi specificare la località nel nome completo della risorsa di MuteConfig. Ad esempio:

GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/muteConfigs/my-mute-rule-01}

Analogamente, per recuperare un elemento muteConfig mediante gcloud CLI, puoi specificare la località utilizzando il flag --locations. Ad esempio:

gcloud scc muteconfigs list --organizations=123
--location=us

Crea regola di disattivazione

La tua organizzazione può creare un massimo di 1000 regole di disattivazione.

Puoi creare una regola di disattivazione utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Per codice campione che crea una regola di disattivazione, consulta Creare una regola di disattivazione.

Per creare una regola di disattivazione, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla pagina Risultati di Security Command Center.

    Vai a Risultati

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud.

    Selettore progetto

  3. Se per Security Command Center è abilitata la situazione dei dati, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località di Security Command Center in cui creare la regola di disattivazione. Ad esempio:

    Screenshot del selettore della località

  4. Fai clic su Opzioni di disattivazione, poi seleziona Crea regola di disattivazione.

  5. Inserisci un ID regola di disattivazione. Questo valore è obbligatorio.

  6. Inserisci una descrizione della regola di disattivazione che fornisca il contesto sul motivo per cui i risultati vengono disattivati. Questo valore è facoltativo, ma consigliato.

  7. La risorsa padre indica l'ambito in cui verrà creata e applicata la regola di disattivazione.

  8. Nel campo Query risultati, crea le istruzioni di query facendo clic su Aggiungi filtro. In alternativa, puoi digitare le istruzioni di query manualmente.

    <>

  9. Controlla l'accuratezza del filtro. Per apportare modifiche, elimina o aggiungi proprietà e filtra i valori in base alle necessità.

  10. Fai clic su Visualizza l'anteprima dei risultati corrispondenti.

    Una tabella mostra i risultati che corrispondono alla tua query.

  11. Fai clic su Salva.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per creare regole di disattivazione, esegui il comando gcloud scc muteconfigs create:

    gcloud scc muteconfigs create CONFIG_ID \
    --PARENT=PARENT_ID \
    --location=LOCATION
    --description="RULE_DESCRIPTION" \
    --filter="FILTER"
    

    Sostituisci quanto segue:

    • CONFIG_ID: il nome della regola di disattivazione. L'ID deve utilizzare caratteri alfanumerici e trattini e deve essere compreso tra 1 e 63 caratteri.
    • PARENT: l'ambito nella gerarchia delle risorse a cui si applica la regola di disattivazione, organization, folder o project.
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale specificato nel formato organizations/123, folders/456 o projects/789.
    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui creare la regola di disattivazione. La configurazione della regola di disattivazione viene archiviata e si applica ai risultati solo in questa posizione.

      Se la residenza dei dati non è abilitata, specificando il flag --location viene creata la regola di disattivazione mediante l'API Security Command Center v2 e l'unico valore valido per il flag è global.

    • RULE_DESCRIPTION: una descrizione della regola di disattivazione che non deve superare i 1024 caratteri.

    • FILTER: l'espressione che definisci per filtrare i risultati. Ad esempio, per disattivare i risultati OPEN_FIREWALL, il filtro può essere FILTER="category=\"OPEN_FIREWALL\"".

    La risposta include l'ID della regola di disattivazione, che puoi utilizzare per visualizzare, aggiornare ed eliminare le regole di disattivazione, come descritto in Gestire le regole di disattivazione.

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// createMuteRule: Creates a mute configuration under a given scope that will mute
// all new findings that match a given filter.
// Existing findings will not be muted.
func createMuteRule(w io.Writer, parent string, muteConfigId string) error {
	// parent: Use any one of the following options:
	//             - organizations/{organization_id}
	//             - folders/{folder_id}
	//             - projects/{project_id}
	// parent := fmt.Sprintf("projects/%s", "your-google-cloud-project-id")
	// muteConfigId: Set a random id; max of 63 chars.
	// muteConfigId := "random-mute-id-" + uuid.New().String()
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	muteConfig := &securitycenterpb.MuteConfig{
		Description: "Mute low-medium IAM grants excluding 'compute' ",
		// Set mute rule(s).
		// To construct mute rules and for supported properties, see:
		// https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
		Filter: "severity=\"LOW\" OR severity=\"MEDIUM\" AND " +
			"category=\"Persistence: IAM Anomalous Grant\" AND " +
			"-resource.type:\"compute\"",
	}

	req := &securitycenterpb.CreateMuteConfigRequest{
		Parent:       parent,
		MuteConfigId: muteConfigId,
		MuteConfig:   muteConfig,
	}

	response, err := client.CreateMuteConfig(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to create mute rule: %w", err)
	}
	fmt.Fprintf(w, "Mute rule created successfully: %s", response.Name)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.CreateMuteConfigRequest;
import com.google.cloud.securitycenter.v1.MuteConfig;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;
import java.util.UUID;

public class CreateMuteRule {

  public static void main(String[] args) {
    // TODO: Replace the variables within {}

    // parentPath: Use any one of the following options:
    //             - organizations/{organization_id}
    //             - folders/{folder_id}
    //             - projects/{project_id}
    String parentPath = String.format("projects/%s", "your-google-cloud-project-id");

    // muteConfigId: Set a random id; max of 63 chars.
    String muteConfigId = "random-mute-id-" + UUID.randomUUID();
    createMuteRule(parentPath, muteConfigId);
  }

  // Creates a mute configuration under a given scope that will mute
  // all new findings that match a given filter.
  // Existing findings will not be muted.
  public static void createMuteRule(String parentPath, String muteConfigId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      MuteConfig muteConfig =
          MuteConfig.newBuilder()
              .setDescription("Mute low-medium IAM grants excluding 'compute' ")
              // Set mute rule(s).
              // To construct mute rules and for supported properties, see:
              // https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
              .setFilter(
                  "severity=\"LOW\" OR severity=\"MEDIUM\" AND "
                      + "category=\"Persistence: IAM Anomalous Grant\" AND "
                      + "-resource.type:\"compute\"")
              .build();

      CreateMuteConfigRequest request =
          CreateMuteConfigRequest.newBuilder()
              .setParent(parentPath)
              .setMuteConfigId(muteConfigId)
              .setMuteConfig(muteConfig)
              .build();

      // ExecutionException is thrown if the below call fails.
      MuteConfig response = client.createMuteConfig(request);
      System.out.println("Mute rule created successfully: " + response.getName());
    } catch (IOException e) {
      System.out.println("Mute rule creation failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.



def create_mute_rule(parent_path: str, mute_config_id: str) -> None:
    """
    Creates a mute configuration under a given scope that will mute
    all new findings that match a given filter.
    Existing findings will NOT BE muted.
    Args:
        parent_path: use any one of the following options:
                     - organizations/{organization_id}
                     - folders/{folder_id}
                     - projects/{project_id}
        mute_config_id: Set a unique id; max of 63 chars.
    """

    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    mute_config = securitycenter.MuteConfig()
    mute_config.description = "Mute low-medium IAM grants excluding 'compute' "
    # Set mute rule(s).
    # To construct mute rules and for supported properties, see:
    # https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
    mute_config.filter = (
        'severity="LOW" OR severity="MEDIUM" AND '
        'category="Persistence: IAM Anomalous Grant" AND '
        '-resource.type:"compute"'
    )

    request = securitycenter.CreateMuteConfigRequest()
    request.parent = parent_path
    request.mute_config_id = mute_config_id
    request.mute_config = mute_config

    mute_config = client.create_mute_config(request=request)
    print(f"Mute rule created successfully: {mute_config.name}")

API REST

Nell'API Security Command Center, utilizza il metodo muteConfigs create per creare una regola di disattivazione. Il corpo della richiesta è un'istanza di MuteConfig.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione Anteprima. Se è abilitata la residenza dei dati, API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, utilizza l'endpoint versione 1 per chiamare muteConfigs create. Nel corpo della richiesta, utilizza la definizione di MuteConfig versione 1:

POST https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/muteConfigs?muteConfigId=MUTE_CONFIG_ID -d

  {
    "description": "RULE_DESCRIPTION",
    "filter": FILTER
  }

Se utilizzi la versione 2 dell'API Security Command Center, usa l'endpoint versione 2 per chiamare muteConfigs create. Nel corpo della richiesta, utilizza la definizione di MuteConfig versione 2:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs?muteConfigId=MUTE_CONFIG_ID -d

  {
    "description": "RULE_DESCRIPTION",
    "filter": FILTER
    "type": "STATIC"
  }

Sostituisci quanto segue:

  • PARENT: la risorsa padre per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui si applica la regola di disattivazione. Se il campo della località viene omesso, il valore predefinito è global.
  • MUTE_CONFIG_ID: nome della regola di disattivazione (tra 1 e 63 caratteri)
  • RULE_DESCRIPTION: una descrizione della regola di disattivazione (massimo 1024 caratteri)
  • FILTER: l'espressione che definisci per filtrare i risultati

    Ad esempio, per disattivare i risultati di OPEN_FIREWALL, il filtro può essere "category=\"OPEN_FIREWALL\"".

La risposta include l'ID configurazione di disattivazione, che puoi utilizzare per visualizzare, aggiornare ed eliminare le regole di disattivazione, come descritto in Gestire le regole di disattivazione.

I nuovi risultati che corrispondono esattamente al filtro vengono nascosti e l'attributo mute per i risultati è impostato su MUTED.

Proprietà dei risultati non supportate per le regole di disattivazione

Le regole di disattivazione non supportano tutte le proprietà dei risultati nei filtri. Le seguenti proprietà non sono supportate nei filtri delle regole di disattivazione.

  • createTime
  • eventTime
  • mute
  • mute_initiator
  • mute_update_time
  • name
  • parent
  • security_marks
  • source_properties
  • state

Elenca regole di disattivazione

Puoi elencare le regole di disattivazione in un'organizzazione, una cartella o un progetto utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

La possibilità di elencare le regole di disattivazione per un determinato ambito dipende dalle autorizzazioni concesse ai tuoi ruoli IAM.

Se la residenza dei dati è abilitata per Security Command Center, anche l'ambito del comando di elenco è limitato alla località di Security Command Center selezionata.

Per codice campione che elenca le regole di disattivazione, consulta Elencare le regole di disattivazione.

Per elencare le regole di disattivazione per un'organizzazione, una cartella o un progetto, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla scheda Regole di disattivazione nella pagina Impostazioni di Security Command Center.

    Vai a Regole di disattivazione

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud.

    Selettore progetto

  3. Se per Security Command Center è abilitata la situazione dei dati, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località di Security Command Center in cui è archiviata la regola di disattivazione. Ad esempio:

    Screenshot del selettore della località

  4. Nella sezione Regole di disattivazione vengono visualizzati i dettagli delle regole di disattivazione attive, tra cui:

    • Nome: ID regola di disattivazione
    • Risorsa padre: la risorsa in cui si trova la regola di disattivazione.
    • Descrizione: la descrizione della regola di disattivazione, se disponibile
    • Ultimo aggiornamento da: l'entità che ha aggiornato la regola per ultimo.
    • Ultimo aggiornamento: la data e l'ora dell'ultimo aggiornamento della regola.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per elencare le regole di disattivazione, esegui il comando gcloud scc muteconfigs list:

    gcloud scc muteconfigs list --PARENT=PARENT_ID --location=LOCATION
    

    Sostituisci quanto segue:

    • PARENT: il valore principale organization, folder o project per cui elencare le regole di disattivazione
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale
    • LOCATION: se la residenza dei dati è abilitata, specifica la posizione di Security Command Center in cui elencare le regole di disattivazione.

      Se la residenza dei dati non è abilitata, la specifica del flag --location elenca le regole di disattivazione utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
	"google.golang.org/api/iterator"
)

// listMuteRules lists mute configs at the organization level will return all the configs
// at the org, folder, and project levels.
// Similarly, listing configs at folder level will list all the configs
// at the folder and project levels.
func listMuteRules(w io.Writer, parent string) error {
	// Use any one of the following resource paths to list mute configurations:
	//         - organizations/{organization_id}
	//         - folders/{folder_id}
	//         - projects/{project_id}
	// parent := fmt.Sprintf("projects/%s", "your-google-cloud-project-id")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.ListMuteConfigsRequest{Parent: parent}

	// List all mute configs present in the resource.
	it := client.ListMuteConfigs(ctx, req)
	for {
		muteconfig, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("it.Next: %w", err)
		}
		fmt.Fprintf(w, "Muteconfig Name: %s, ", muteconfig.Name)
	}
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.ListMuteConfigsRequest;
import com.google.cloud.securitycenter.v1.MuteConfig;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;

public class ListMuteRules {

  public static void main(String[] args) {
    // TODO: Replace variables enclosed within {}

    // parent: Use any one of the following resource paths to list mute configurations:
    //         - organizations/{organization_id}
    //         - folders/{folder_id}
    //         - projects/{project_id}
    String parentPath = String.format("projects/%s", "your-google-cloud-project-id");
    listMuteRules(parentPath);
  }

  // Listing mute configs at the organization level will return all the configs
  // at the org, folder, and project levels.
  // Similarly, listing configs at folder level will list all the configs
  // at the folder and project levels.
  public static void listMuteRules(String parent) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      ListMuteConfigsRequest listMuteConfigsRequest =
          ListMuteConfigsRequest.newBuilder().setParent(parent).build();

      // List all mute configs present in the resource.
      for (MuteConfig muteConfig : client.listMuteConfigs(listMuteConfigsRequest).iterateAll()) {
        System.out.println(muteConfig.getName());
      }
    } catch (IOException e) {
      System.out.println("Listing Mute rule failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def list_mute_rules(parent: str) -> None:
    """
    Listing mute configs at organization level will return all the configs
    at the org, folder and project levels.
    Similarly, listing configs at folder level will list all the configs
    at the folder and project levels.
    Args:
        parent: Use any one of the following resource paths to list mute configurations:
                - organizations/{organization_id}
                - folders/{folder_id}
                - projects/{project_id}
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.ListMuteConfigsRequest()
    request.parent = parent

    # List all Mute Configs present in the resource.
    for mute_config in client.list_mute_configs(request):
        print(mute_config.name)

API REST

Nell'API Security Command Center, utilizza il metodo muteConfigs list per elencare le regole di disattivazione. Il corpo della richiesta è vuoto.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, utilizza l'endpoint v1 per chiamare muteConfigs list:

GET https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/muteConfigs

Se utilizzi la versione 2 dell'API Security Command Center, utilizza l'endpoint v2 per chiamare muteConfigs list:

GET https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs

Sostituisci quanto segue:

  • PARENT: la risorsa padre per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center per cui elencare le regole di disattivazione. Se il campo della località viene omesso, il valore predefinito è global.

La risposta include i nomi, le descrizioni e gli ID configurazione della disattivazione delle regole di disattivazione.

Visualizza la configurazione di una regola di disattivazione

Puoi visualizzare la configurazione di una regola di disattivazione utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Per codice campione che recupera la configurazione di una regola di disattivazione, consulta Visualizzare una regola di disattivazione.

Per visualizzare la configurazione di una regola di disattivazione, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla scheda Regole di disattivazione nella pagina Impostazioni di Security Command Center.

    Vai a Regole di disattivazione

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud.

    Selettore progetto

  3. Se per Security Command Center è abilitata la situazione dei dati, utilizza il selettore di località direttamente sotto il selettore di progetto per scegliere la località della regola di disattivazione da parte di Security Command Center. Ad esempio:

    Screenshot del selettore della località

  4. Nella sezione Regole di disattivazione viene visualizzato un elenco di regole di disattivazione.

  5. Fai clic sul nome della regola da visualizzare.

    Viene visualizzata una pagina con la configurazione della regola di disattivazione.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per visualizzare la configurazione di una regola di disattivazione, esegui il comando gcloud scc muteconfigs get:

    gcloud scc muteconfigs get MUTE_CONFIG_ID \
     --PARENT=PARENT_ID --location=LOCATION
    

    Sostituisci quanto segue:

    • MUTE_CONFIG_ID: l'ID per la regola di disattivazione
    • PARENT: la risorsa padre per la regola di disattivazione (organization, folder o project)
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata la regola di disattivazione. Il valore predefinito è global.

      Se la residenza dei dati non è abilitata, la specifica del flag --location consente di ottenere la regola di disattivazione utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// getMuteRule retrieves a mute configuration given its resource name.
func getMuteRule(w io.Writer, parent string, muteConfigId string) error {
	// Use any one of the following resource paths to get mute configuration:
	//         - organizations/{organization_id}
	//         - folders/{folder_id}
	//         - projects/{project_id}
	// parent := fmt.Sprintf("projects/%s", "your-google-cloud-project-id")
	//
	// Name of the mute config to retrieve.
	// muteConfigId := "mute-config-id"
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.GetMuteConfigRequest{
		Name: fmt.Sprintf("%s/muteConfigs/%s", parent, muteConfigId),
	}

	muteconfig, err := client.GetMuteConfig(ctx, req)
	if err != nil {
		return fmt.Errorf("Failed to retrieve Muteconfig: %w", err)
	}
	fmt.Fprintf(w, "Muteconfig Name: %s ", muteconfig.Name)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.MuteConfig;
import com.google.cloud.securitycenter.v1.MuteConfigName;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;

public class GetMuteRule {

  public static void main(String[] args) {
    // TODO(Developer): Replace the following variables

    // parentPath: Use any one of the following options:
    //             - organizations/{organization_id}
    //             - folders/{folder_id}
    //             - projects/{project_id}
    String parentPath = String.format("projects/%s", "your-google-cloud-project-id");

    // muteConfigId: Name of the mute config to retrieve.
    String muteConfigId = "mute-config-id";

    getMuteRule(parentPath, muteConfigId);
  }

  // Retrieves a mute configuration given its resource name.
  public static void getMuteRule(String projectId, String muteConfigId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {
      // Use appropriate MuteConfigName methods depending on the type of parent.
      // (org -> MuteConfigName.ofOrganizationMuteConfigName()
      // folder -> MuteConfigName.ofFolderMuteConfigName()
      // project -> MuteConfigName.ofProjectMuteConfigName)
      MuteConfig muteConfig =
          client.getMuteConfig(MuteConfigName.ofProjectMuteConfigName(projectId, muteConfigId));

      System.out.println("Retrieved the mute config: " + muteConfig);
    } catch (IOException e) {
      System.out.println("Mute rule retrieval failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def get_mute_rule(mute_config_name: str) -> None:
    """
    Retrieves a mute configuration given its resource name.
    Args:
        mute_config_name: Name of the mute config to retrieve.
                          Use any one of the following formats:
                          - organizations/{organization}/muteConfigs/{config_id}
                          - folders/{folder}/muteConfigs/{config_id}
                          - projects/{project}/muteConfigs/{config_id}
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.GetMuteConfigRequest()
    request.name = mute_config_name

    mute_config = client.get_mute_config(request)
    print(f"Retrieved the mute rule: {mute_config.name}")

API REST

Nell'API Security Command Center, utilizza il metodo muteConfigs get per restituire la configurazione di una regola di disattivazione. Il corpo della richiesta è vuoto.

Per ottenere il CONFIG_ID per una regola di disattivazione, esegui prima una chiamata API per Elencare le regole di disattivazione. La risposta include gli ID configurazione per le regole di disattivazione restituite.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, usa l'endpoint v1 per chiamare muteConfigs get:

GET https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/muteConfigs/CONFIG_ID

Se utilizzi la versione 2 dell'API Security Command Center, usa l'endpoint v2 per chiamare muteConfigs get:

GET https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID

Sostituisci quanto segue:

  • PARENT: la risorsa padre per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui è archiviata la regola di disattivazione. Se il campo della località viene omesso, il valore predefinito è global.
  • CONFIG_ID: l'ID numerico della regola di disattivazione

Aggiorna regole di disattivazione

Puoi aggiornare la descrizione o il filtro di risultati di una regola di disattivazione utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Non puoi modificare l'ID, l'organizzazione principale, la cartella o il progetto o la posizione di una regola di disattivazione. Per modificare questi valori, devi creare una nuova regola di disattivazione.

Se in precedenza hai riattivato l'audio, i risultati verranno nuovamente disattivati se trovano una corrispondenza con una regola di disattivazione aggiornata nella console Google Cloud. Per ulteriori informazioni, consulta I risultati riattivati sostituiscono le regole di disattivazione.

Per codice campione che aggiorna una regola di disattivazione, consulta Aggiornare una regola di disattivazione.

Per aggiornare una regola di disattivazione, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla scheda Regole di disattivazione nella pagina Impostazioni di Security Command Center.

    Vai a Regole di disattivazione

  2. Seleziona l'organizzazione o il progetto Google Cloud che è la risorsa padre per la regola di disattivazione che vuoi modificare. Selettore progetto

  3. Se per Security Command Center è abilitata la situazione dei dati, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località della regola di disattivazione da parte di Security Command Center. Ad esempio:

    Screenshot del selettore della località

  4. Fai clic sul nome della regola di disattivazione che vuoi modificare.

    Se non hai selezionato l'organizzazione o il progetto appropriato, potresti visualizzare una nota che ti informa che non hai l'autorizzazione per modificare la regola di disattivazione.

  5. Inserisci una nuova descrizione e fai clic su Salva.

  6. Aggiorna o modifica il filtro.

    Per le istruzioni, consulta Creare regole di disattivazione.

  7. Per visualizzare i risultati che corrispondono al filtro aggiornato, fai clic su Visualizza l'anteprima dei risultati corrispondenti.

    Viene caricata una tabella con i risultati che corrispondono alla nuova query.

  8. Fai clic su Salva.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per aggiornare le regole di disattivazione, esegui il comando gcloud scc muteconfigs update:

      gcloud scc muteconfigs update MUTE_CONFIG_ID \
        --PARENT=PARENT_ID \
        --location=LOCATION
        --description=RULE_DESCRIPTION \
        --filter=FILTER
    

    Sostituisci quanto segue:

    • MUTE_CONFIG_ID: l'ID della regola di disattivazione.
    • PARENT: la risorsa padre per la regola di disattivazione (organization, folder o project).
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto.
    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata la regola di disattivazione. Il valore predefinito è global.

      Se la residenza dei dati non è abilitata, la specifica del flag --location aggiorna la configurazione della regola di disattivazione utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

    • RULE_DESCRIPTION: una descrizione della regola di disattivazione (massimo 1024 caratteri).

    • FILTER: l'espressione che definisci per filtrare i risultati.

      Ad esempio, per disattivare OPEN_FIREWALL risultati, il filtro potrebbe essere FILTER="category=\"OPEN_FIREWALL\"".

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
	"google.golang.org/protobuf/types/known/fieldmaskpb"
)

// updateMuteRule Updates an existing mute configuration.
// The following can be updated in a mute config: description and filter.
func updateMuteRule(w io.Writer, muteConfigName string) error {
	// Specify the name of the mute config to delete.
	// muteConfigName: Use any one of the following formats:
	//                 - organizations/{organization}/muteConfigs/{config_id}
	//                 - folders/{folder}/muteConfigs/{config_id}
	//                 - projects/{project}/muteConfigs/{config_id}
	// muteConfigName := fmt.Sprintf("projects/%s/muteConfigs/%s", "project-id", "mute-config")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	updateMuteConfig := &securitycenterpb.MuteConfig{
		Name:        muteConfigName,
		Description: "Updated mute config description",
	}

	req := &securitycenterpb.UpdateMuteConfigRequest{
		MuteConfig: updateMuteConfig,
		// Set the update mask to specify which properties of the mute config should be
		// updated.
		// If empty, all mutable fields will be updated.
		// Make sure that the mask fields match the properties changed in 'updateMuteConfig'.
		// For more info on constructing update mask path, see the proto or:
		// https://cloud.google.com/security-command-center/docs/reference/rest/v1/folders.muteConfigs/patch?hl=en#query-parameters
		UpdateMask: &fieldmaskpb.FieldMask{
			Paths: []string{
				"description",
			},
		},
	}

	response, err := client.UpdateMuteConfig(ctx, req)
	if err != nil {
		return fmt.Errorf("mute rule update failed! %v", err)
	}
	fmt.Fprintf(w, "Mute rule updated %s", response.Name)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.MuteConfig;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import com.google.cloud.securitycenter.v1.UpdateMuteConfigRequest;
import com.google.protobuf.FieldMask;
import java.io.IOException;

public class UpdateMuteRule {

  public static void main(String[] args) {
    // TODO: Replace the variables within {}

    // Specify the name of the mute config to delete.
    // muteConfigName: Use any one of the following formats:
    //                 - organizations/{organization}/muteConfigs/{config_id}
    //                 - folders/{folder}/muteConfigs/{config_id}
    //                 - projects/{project}/muteConfigs/{config_id}
    String muteConfigName = "{any-one-of-the-above-formats}";
    updateMuteRule(muteConfigName);
  }

  // Updates an existing mute configuration.
  // The following can be updated in a mute config: description and filter.
  public static void updateMuteRule(String muteConfigName) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient securityCenterClient = SecurityCenterClient.create()) {

      MuteConfig updateMuteConfig =
          MuteConfig.newBuilder()
              .setName(muteConfigName)
              .setDescription("Updated mute config description")
              .build();

      UpdateMuteConfigRequest updateMuteConfigRequest =
          UpdateMuteConfigRequest.newBuilder()
              .setMuteConfig(updateMuteConfig)
              // Set the update mask to specify which properties of the mute config should be
              // updated.
              // If empty, all mutable fields will be updated.
              // Make sure that the mask fields match the properties changed in 'updateMuteConfig'.
              // For more info on constructing update mask path, see the proto or:
              // https://cloud.google.com/security-command-center/docs/reference/rest/v1/folders.muteConfigs/patch?hl=en#query-parameters
              .setUpdateMask(FieldMask.newBuilder().addPaths("description").build())
              .build();

      MuteConfig response = securityCenterClient.updateMuteConfig(updateMuteConfigRequest);
      System.out.println(response);
    } catch (IOException e) {
      System.out.println("Mute rule update failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def update_mute_rule(mute_config_name: str) -> None:
    """
    Updates an existing mute configuration.
    The following can be updated in a mute config: description, and filter/ mute rule.
    Args:
        mute_config_name: Specify the name of the mute config to delete.
                          Use any one of the following formats:
                          - organizations/{organization}/muteConfigs/{config_id}
                          - folders/{folder}/muteConfigs/{config_id}
                          - projects/{project}/muteConfigs/{config_id}
    """
    from google.cloud import securitycenter
    from google.protobuf import field_mask_pb2

    client = securitycenter.SecurityCenterClient()

    update_mute_config = securitycenter.MuteConfig()
    update_mute_config.name = mute_config_name
    update_mute_config.description = "Updated mute config description"

    field_mask = field_mask_pb2.FieldMask(paths=["description"])

    request = securitycenter.UpdateMuteConfigRequest()
    request.mute_config = update_mute_config
    # Set the update mask to specify which properties of the Mute Config should be updated.
    # If empty, all mutable fields will be updated.
    # Make sure that the mask fields match the properties changed in 'update_mute_config'.
    # For more info on constructing update mask path, see the proto or:
    # https://cloud.google.com/security-command-center/docs/reference/rest/v1/folders.muteConfigs/patch?hl=en#query-parameters
    request.update_mask = field_mask

    mute_config = client.update_mute_config(request)
    print(f"Updated mute rule : {mute_config}")

API REST

Nell'API Security Command Center, utilizza il metodo muteConfigs patch per aggiornare una regola di disattivazione. Il corpo della richiesta è un'istanza di MuteConfig.

Per ottenere il CONFIG_ID per una regola di disattivazione, esegui una chiamata API per elencare le regole di disattivazione. La risposta include gli ID configurazione per le regole di disattivazione restituite.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, utilizza l'endpoint v1 per chiamare muteConfigs patch:

PATCH https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/muteConfigs/CONFIG_ID

  {
    "description": "RULE_DESCRIPTION",
    "filter": "FILTER",
    "type": "STATIC"
  }

Se utilizzi la versione 2 dell'API Security Command Center, utilizza l'endpoint v2 per chiamare muteConfigs patch:

PATCH https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID

  {
    "description": "RULE_DESCRIPTION",
    "filter": "FILTER",
  }

Sostituisci quanto segue:

  • PARENT: la risorsa padre per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui è archiviata la regola di disattivazione. Se il campo della località viene omesso, il valore predefinito è global.
  • CONFIG_ID: l'ID numerico della regola di disattivazione
  • RULE_DESCRIPTION: una descrizione della regola di disattivazione (massimo 1024 caratteri)
  • FILTER: l'espressione definita per filtrare i risultati

    Ad esempio, per disattivare i risultati di OPEN_FIREWALL, il filtro può essere "category=\"OPEN_FIREWALL\"".

I nuovi risultati che corrispondono esattamente al filtro vengono nascosti e l'attributo mute per i risultati è impostato su MUTED.

L'aggiornamento delle regole di disattivazione non riattiva automaticamente l'audio dei risultati che sono stati disattivati dalle regole precedenti. Devi riattivare manualmente i risultati.

Elimina le regole di disattivazione

Puoi eliminare una regola di disattivazione utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Prima di eliminare le regole di disattivazione, considera quanto segue:

  • Non puoi recuperare le regole di disattivazione eliminate.
  • L'eliminazione delle regole di disattivazione non riattiva automaticamente l'audio dei risultati con audio disattivato. Devi riattivare l'audio dei risultati manualmente o in modo programmatico.
  • I risultati futuri che corrispondono ai filtri nelle regole di disattivazione eliminate non vengono disattivati.

Per codice campione che elimina una regola di disattivazione, consulta Eliminare una regola di disattivazione.

Per eliminare una regola di disattivazione, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla scheda Regole di disattivazione nella pagina Impostazioni di Security Command Center.

    Vai a Regole di disattivazione

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud.

    Selettore progetto

  3. Se per Security Command Center è abilitata la situazione dei dati, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località di Security Command Center in cui è archiviata la regola di disattivazione. Ad esempio:

    Screenshot del selettore della località

  4. Fai clic sul nome della regola di disattivazione che vuoi eliminare.

  5. Fai clic su Elimina.

  6. Leggi la finestra di dialogo e, se lo desideri, fai clic su Elimina.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per eliminare le regole di disattivazione, esegui il comando gcloud scc muteconfigs delete:

    gcloud scc muteconfigs delete MUTE_CONFIG_ID \
     --PARENT=PARENT_ID --location=LOCATION
    

    Sostituisci quanto segue:

    • MUTE_CONFIG_ID: l'ID della configurazione di disattivazione
    • PARENT: la risorsa padre per la regola di disattivazione (organization, folder o project)
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviata la configurazione della regola di disattivazione. Il valore predefinito è global.

      Se la residenza dei dati non è abilitata, la specifica del flag --location elimina la regola di disattivazione utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

  3. Conferma la richiesta di eliminazione della regola di disattivazione.

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// deleteMuteRule deletes a mute configuration given its resource name.
// Note: Previously muted findings are not affected when a mute config is deleted.
func deleteMuteRule(w io.Writer, parent string, muteConfigId string) error {
	// parent: Use any one of the following options:
	//             - organizations/{organization_id}
	//             - folders/{folder_id}
	//             - projects/{project_id}
	// parent := fmt.Sprintf("projects/%s", "your-google-cloud-project-id")
	//
	// muteConfigId: Specify the name of the mute config to delete.
	// muteConfigId := "mute-config-id"
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.DeleteMuteConfigRequest{
		Name: fmt.Sprintf("%s/muteConfigs/%s", parent, muteConfigId),
	}

	if err := client.DeleteMuteConfig(ctx, req); err != nil {
		return fmt.Errorf("failed to delete Muteconfig: %w", err)
	}
	fmt.Fprintf(w, "Mute rule deleted successfully: %s", muteConfigId)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.MuteConfigName;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;

public class DeleteMuteRule {

  public static void main(String[] args) {
    // TODO(Developer): Replace the following variables
    // parentPath: Use any one of the following options:
    //             - organizations/{organization_id}
    //             - folders/{folder_id}
    //             - projects/{project_id}
    String parentPath = String.format("projects/%s", "your-google-cloud-project-id");

    // muteConfigId: Specify the name of the mute config to delete.
    String muteConfigId = "mute-config-id";

    deleteMuteRule(parentPath, muteConfigId);
  }

  // Deletes a mute configuration given its resource name.
  // Note: Previously muted findings are not affected when a mute config is deleted.
  public static void deleteMuteRule(String projectId, String muteConfigId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {
      // Use appropriate MuteConfigName methods depending on the type of parent.
      // org -> MuteConfigName.ofOrganizationMuteConfigName()
      // folder -> MuteConfigName.ofFolderMuteConfigName()
      // project -> MuteConfigName.ofProjectMuteConfigName)
      client.deleteMuteConfig(MuteConfigName.ofProjectMuteConfigName(projectId, muteConfigId));

      System.out.println("Mute rule deleted successfully: " + muteConfigId);
    } catch (IOException e) {
      System.out.println("Mute rule deletion failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def delete_mute_rule(mute_config_name: str) -> None:
    """
    Deletes a mute configuration given its resource name.
    Note: Previously muted findings are not affected when a mute config is deleted.
    Args:
        mute_config_name: Specify the name of the mute config to delete.
                          Use any one of the following formats:
                          - organizations/{organization}/muteConfigs/{config_id}
                          - folders/{folder}/muteConfigs/{config_id} or
                          - projects/{project}/muteConfigs/{config_id}
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.DeleteMuteConfigRequest()
    request.name = mute_config_name

    client.delete_mute_config(request)
    print(f"Mute rule deleted successfully: {mute_config_name}")

API REST

Nell'API Security Command Center, utilizza il metodo muteConfigs delete per eliminare una regola di disattivazione. Il corpo della richiesta è vuoto.

Per ottenere il CONFIG_ID per una regola di disattivazione, esegui una chiamata API per Elencare le regole di disattivazione. La risposta include gli ID configurazione per le regole di disattivazione restituite.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, usa l'endpoint v1 per chiamare muteConfigs delete:

DELETE https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/muteConfigs/CONFIG_ID

Se utilizzi la versione 2 dell'API Security Command Center, usa l'endpoint v2 per chiamare muteConfigs delete:

DELETE https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/muteConfigs/CONFIG_ID

Sostituisci quanto segue:

  • PARENT: la risorsa padre per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui è archiviata la regola di disattivazione. Se il campo della località viene omesso, il valore predefinito è global.
  • CONFIG_ID: l'ID numerico della regola di disattivazione

Disattivare un singolo risultato

Puoi disattivare un singolo risultato utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Per consultare codice campione per disattivare un risultato, consulta Disattivare un risultato.

Per disattivare un singolo risultato, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla pagina Risultati di Security Command Center.

    Vai a Risultati

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud. Selettore progetto

  3. Se la situazione dei dati è abilitata per Security Command Center, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località di Security Command Center del risultato. Ad esempio:

    Screenshot del selettore della località

  4. Se non vedi il risultato da disattivare nel riquadro Risultati query dei risultati, seleziona la categoria del risultato nella sezione Categoria del riquadro Filtri rapidi.

  5. Seleziona la casella di controllo accanto al risultato da disattivare. Puoi selezionare uno o più risultati.

  6. Nella barra delle azioni di Risultati query di risultati, fai clic su Opzioni di disattivazione, quindi seleziona Disattiva.

    L'attributo mute per i risultati selezionati è impostato su MUTED e il risultato viene rimosso dal riquadro Risultati della query dei risultati.

In alternativa, puoi disattivare un risultato dal relativo riquadro dei dettagli:

  1. Nel riquadro Ricerca dei risultati delle query della pagina Risultati, nella colonna Categoria, fai clic sul nome di un singolo risultato. Si apre il riquadro dei dettagli del risultato.
  2. Fai clic su Intervieni.
  3. Dal menu Passa all'azione, seleziona Disattiva.

    Se selezioni invece Disattiva risultati come questo, si aprirà la pagina Crea regola di disattivazione in cui puoi creare una regola di disattivazione per i risultati dello stesso tipo o che includono lo stesso attributo Indicator.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per impostare lo stato di disattivazione di un risultato su MUTED, utilizza il comando set-mute nell'interfaccia alla gcloud CLI:

    gcloud scc findings set-mute FINDING_ID \
     --PARENT=PARENT_ID \
     --location=LOCATION --source=SOURCE_ID \
     --mute=MUTED
    

    Sostituisci quanto segue:

    • FINDING_ID: l'ID del risultato da disattivare

      Per recuperare gli ID dei risultati, utilizza l'API Security Command Center per elencare i risultati. L'ID risultato è l'ultima parte dell'attributo canonicalName, ad esempio projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: la risorsa padre (project, folder o organization), sensibile alle maiuscole

    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale

    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviato il risultato.

      Se la residenza dei dati non è abilitata, specificando il flag --location il risultato viene disattivato utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

    • SOURCE_ID: l'ID origine

      Per istruzioni su come recuperare un ID origine, consulta Recupero dell'ID origine.

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// setMute mutes an individual finding.
// If a finding is already muted, muting it again has no effect.
// Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
func setMute(w io.Writer, findingPath string) error {
	// findingPath: The relative resource name of the finding. See:
	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
	// Use any one of the following formats:
	//  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
	//  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
	//  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
	// findingPath := fmt.Sprintf("projects/%s/sources/%s/finding/%s", "your-google-cloud-project-id", "source", "finding-id")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.SetMuteRequest{
		Name: findingPath,
		Mute: securitycenterpb.Finding_MUTED}

	finding, err := client.SetMute(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to set the specified mute value: %w", err)
	}
	fmt.Fprintf(w, "Mute value for the finding: %s is %s", finding.Name, finding.Mute)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.Finding;
import com.google.cloud.securitycenter.v1.Finding.Mute;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import com.google.cloud.securitycenter.v1.SetMuteRequest;
import java.io.IOException;

public class SetMuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}

    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
    String findingPath = "{path-to-the-finding}";
    setMute(findingPath);
  }

  // Mute an individual finding.
  // If a finding is already muted, muting it again has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
  public static Finding setMute(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder().setName(findingPath).setMute(Mute.MUTED).build();

      Finding finding = client.setMute(setMuteRequest);
      System.out.println(
          "Mute value for the finding " + finding.getName() + " is: " + finding.getMute());
      return finding;
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def set_mute_finding(finding_path: str) -> None:
    """
      Mute an individual finding.
      If a finding is already muted, muting it again has no effect.
      Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
    Args:
        finding_path: The relative resource name of the finding. See:
        https://cloud.google.com/apis/design/resource_names#relative_resource_name
        Use any one of the following formats:
        - organizations/{organization_id}/sources/{source_id}/finding/{finding_id},
        - folders/{folder_id}/sources/{source_id}/finding/{finding_id},
        - projects/{project_id}/sources/{source_id}/finding/{finding_id}.
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.SetMuteRequest()
    request.name = finding_path
    request.mute = securitycenter.Finding.Mute.MUTED

    finding = client.set_mute(request)
    print(f"Mute value for the finding: {finding.mute.name}")

API REST

Nell'API Security Command Center, utilizza il metodo setMute per disattivare un risultato. Il corpo della richiesta è un'enumerazione che indica lo stato di disattivazione risultante.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, chiama setMute utilizzando l'endpoint v1:


POST https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/sources/SOURCE_ID/findings/FINDING_ID:setMute

{
  "mute": "MUTED"
}

Se utilizzi la versione 2 dell'API Security Command Center, chiama setMute utilizzando l'endpoint v2:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_ID:setMute

{
  "mute": "MUTED"
}

Sostituisci quanto segue:

  • PARENT: la risorsa padre (organizations, folders o projects).
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale.
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui è archiviato il risultato. Se il campo della località viene omesso, il valore predefinito è global.
  • SOURCE_ID: l'ID numerico della sorgente.

    Per istruzioni su come recuperare un ID origine, consulta Recupero dell'ID origine.

  • FINDING_ID: l'ID del risultato che vuoi disattivare.

    Per recuperare gli ID dei risultati, utilizza l'API Security Command Center per elencare i risultati. L'ID risultato è l'ultima parte dell'attributo canonicalName, ad esempio projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Dopo aver disattivato un risultato, il relativo attributo mute è impostato su MUTED.

La disattivazione di un risultato non influisce sul suo stato attivo. Se un risultato attivo è disattivato, l'attributo state rimane invariato: state="ACTIVE". Il risultato è nascosto, ma rimane attivo fino a quando la vulnerabilità, l'errata configurazione o la minaccia sottostante non vengono risolte.

Per ulteriori informazioni sulle regole di disattivazione, consulta Creare regole di disattivazione.

Riattiva i singoli risultati

Puoi riattivare un singolo risultato utilizzando la console Google Cloud, gcloud CLI o l'API Security Command Center.

Per codice campione per riattivare un risultato, consulta Riattivare un risultato.

Per riattivare un singolo risultato, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

  1. Nella console Google Cloud, vai alla pagina Risultati di Security Command Center.

    Vai a Risultati

  2. Se necessario, seleziona l'organizzazione o il progetto Google Cloud. Selettore progetto

    Si apre la pagina Risultati con la query predefinita visualizzata nella sezione Anteprima query. La query predefinita filtra i risultati disattivati, quindi devi modificare la query prima che questi ultimi vengano visualizzati nel riquadro Risultati della query dei risultati.

  3. Se la residenza dei dati è abilitata per Security Command Center, utilizza il selettore di località direttamente sotto il selettore di progetto per selezionare la località di Security Command Center del risultato. Ad esempio:

    Screenshot del selettore della località

  4. A destra della sezione Anteprima query, fai clic su Modifica query per aprire l'Editor query.

  5. Nel campo Editor query, sostituisci l'istruzione di disattivazione esistente con la seguente:

    mute="MUTED"
  6. Fai clic su Applica. I risultati nel riquadro Risultati delle query dei risultati vengono aggiornati in modo da includere solo quelli disattivati.

  7. Se necessario, filtra gli altri risultati disattivati. Ad esempio, nel riquadro Filtri rapidi in Categoria, seleziona il nome del risultato che devi riattivare per filtrare tutte le altre categorie di rilevamento.

  8. Seleziona la casella di controllo accanto al risultato da riattivare. Puoi selezionare uno o più risultati.

  9. Nella barra delle azioni di Risultati query di ricerca, fai clic su Disattiva opzioni, quindi seleziona Riattiva audio.

    L'attributo mute per i risultati selezionati è impostato su UNMUTED e il risultato viene rimosso dal riquadro Risultati della query dei risultati.

In alternativa, puoi riattivare un risultato dal riquadro dei dettagli:

  1. Nel riquadro Ricerca dei risultati delle query della pagina Risultati, nella colonna Categoria, fai clic sul nome di un singolo risultato. Si apre il riquadro dei dettagli del risultato.
  2. Fai clic su Intervieni.
  3. Dal menu Passa all'azione, seleziona Riattiva.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per impostare lo stato di disattivazione di un risultato su UNMUTED, utilizza il comando set-mute nell'interfaccia alla gcloud CLI:

    gcloud scc findings set-mute FINDING_ID \
     --PARENT=PARENT_ID \
     --location=LOCATION --source=SOURCE_ID \
     --mute=UNMUTED
    

    Sostituisci quanto segue:

    • FINDING_ID: l'ID del risultato da disattivare

      Per recuperare gli ID dei risultati, utilizza l'API Security Command Center per elencare i risultati. L'ID risultato è l'ultima parte dell'attributo canonicalName, ad esempio projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: la risorsa padre (project, folder o organization), sensibile alle maiuscole

    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale

    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui è archiviato il risultato.

      Se la residenza dei dati non è abilitata, specificando il flag --location viene riattivato il risultato utilizzando l'API Security Command Center v2 e l'unico valore valido per il flag è global.

    • SOURCE_ID: l'ID origine

      Per istruzioni su come recuperare un ID origine, consulta Recupero dell'ID origine

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// setUnmute unmutes an individual finding.
// Unmuting a finding that isn't muted has no effect.
// Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
func setUnmute(w io.Writer, findingPath string) error {
	// findingPath: The relative resource name of the finding. See:
	// https://cloud.google.com/apis/design/resource_names#relative_resource_name
	// Use any one of the following formats:
	//  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
	//  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
	//  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
	// findingPath := fmt.Sprintf("projects/%s/sources/%s/finding/%s", "your-google-cloud-project-id", "source", "finding-id")
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.SetMuteRequest{
		Name: findingPath,
		Mute: securitycenterpb.Finding_UNMUTED}

	finding, err := client.SetMute(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to set the specified mute value: %w", err)
	}
	fmt.Fprintf(w, "Mute value for the finding: %s is %s", finding.Name, finding.Mute)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.Finding;
import com.google.cloud.securitycenter.v1.Finding.Mute;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import com.google.cloud.securitycenter.v1.SetMuteRequest;
import java.io.IOException;

public class SetUnmuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}

    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{organization_id}/sources/{source_id}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/finding/{finding_id}
    String findingPath = "{path-to-the-finding}";
    setUnmute(findingPath);
  }

  // Unmute an individual finding.
  // Unmuting a finding that isn't muted has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
  public static Finding setUnmute(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder().setName(findingPath).setMute(Mute.UNMUTED).build();

      Finding finding = client.setMute(setMuteRequest);
      System.out.println(
          "Mute value for the finding " + finding.getName() + " is: " + finding.getMute());
      return finding;
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def set_unmute_finding(finding_path: str) -> None:
    """
      Unmute an individual finding.
      Unmuting a finding that isn't muted has no effect.
      Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
    Args:
        finding_path: The relative resource name of the finding. See:
        https://cloud.google.com/apis/design/resource_names#relative_resource_name
        Use any one of the following formats:
        - organizations/{organization_id}/sources/{source_id}/finding/{finding_id},
        - folders/{folder_id}/sources/{source_id}/finding/{finding_id},
        - projects/{project_id}/sources/{source_id}/finding/{finding_id}.
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.SetMuteRequest()
    request.name = finding_path
    request.mute = securitycenter.Finding.Mute.UNMUTED

    finding = client.set_mute(request)
    print(f"Mute value for the finding: {finding.mute.name}")

API REST

Nell'API Security Command Center, utilizza il metodo setMute per riattivare un risultato. Il corpo della richiesta è un'enumerazione che indica lo stato di disattivazione risultante.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, chiama setMute utilizzando l'endpoint v1:

POST https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/sources/SOURCE_ID/findings/FINDING_ID:setMute

{
  "mute": "UNMUTED"
}

Se utilizzi la versione 2 dell'API Security Command Center, chiama setMute utilizzando l'endpoint v2:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/sources/SOURCE_ID/locations/LOCATION/findings/FINDING_ID:setMute

{
  "mute": "UNMUTED"
}

Sostituisci quanto segue:

  • PARENT: la risorsa padre (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale
  • LOCATION: solo per la versione 2, specifica la posizione di Security Command Center in cui è archiviato il risultato. Se il campo della località viene omesso, il valore predefinito è global.
  • SOURCE_ID: l'ID numerico dell'origine

    Per istruzioni su come recuperare un ID origine, consulta Recupero dell'ID origine

  • FINDING_ID: l'ID del risultato che vuoi disattivare.

    Per recuperare gli ID dei risultati, utilizza l'API Security Command Center per elencare i risultati. L'ID risultato è l'ultima parte dell'attributo canonicalName, ad esempio projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

I risultati selezionati non sono più nascosti e l'attributo mute dei risultati è impostato su UNMUTED.

I risultati riattivati sostituiscono le regole di disattivazione

Se un utente riattiva l'audio dei risultati, questi rimangono riattivati anche se le regole di disattivazione esistenti corrispondono ancora ai risultati. In effetti, le azioni di riattivazione dell'audio degli utenti eseguino l'override delle regole di disattivazione.

I risultati riattivati vengono nuovamente disattivati solo se un utente disattiva manualmente i risultati o crea una nuova regola di disattivazione corrispondente nella console Google Cloud. Le regole di disattivazione create con gcloud CLI o l'API Security Command Center non influiscono sui risultati riattivati dagli utenti.

Disattiva più risultati esistenti

Puoi disattivare più risultati esistenti collettivamente utilizzando il comando gcloud scc findings bulk-mute gcloud CLI o il metodo bulkMute dell'API Security Command Center. Se devi disattivare risultati simili futuri, crea una regola di disattivazione.

Specifica l'insieme di risultati che devi disattivare definendo un filtro di ricerca. I filtri di disattivazione collettiva non supportano tutte le proprietà dei risultati. Per un elenco delle proprietà non supportate, consulta Proprietà dei risultati non supportate per le regole di disattivazione.

Se la residenza dei dati è abilitata per Security Command Center, le operazioni di disattivazione collettiva sono limitate all'ambito alla località di Security Command Center in cui vengono eseguite.

Per un codice campione che disattiva collettivamente i risultati, consulta Disattivazione collettiva dei risultati.

Per disattivare collettivamente i risultati, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

Nella console Google Cloud, puoi disattivare collettivamente i risultati solo creando regole di disattivazione. La creazione di regole di disattivazione nella console Google Cloud disattiva i risultati esistenti e futuri.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per disattivare più risultati contemporaneamente, esegui il comando gcloud scc findings bulk-mute:

    gcloud scc findings bulk-mute --PARENT=PARENT_ID \
    --location=LOCATION --filter="FILTER" \
    

    Sostituisci quanto segue:

    • PARENT: l'ambito nella gerarchia delle risorse a cui si applica la regola di disattivazione, organization, folder o project.
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale specificato nel formato organizations/123, folders/456 o projects/789.
    • LOCATION: se la residenza dei dati è abilitata, specifica la località di Security Command Center in cui disattivare collettivamente i risultati. Vengono disattivati solo i risultati in questa posizione.

      Se la residenza dei dati non è abilitata, specificando il flag --location vengono disattivati i risultati utilizzando l'API Security Command Center v2. L'unico valore valido per il flag è global.

    • FILTER: l'espressione che definisci per filtrare i risultati

    Ad esempio, per disattivare tutti i risultati di OPEN_FIREWALL e PUBLIC_IP_ADDRESS a bassa gravità esistenti nel progetto internal-test, il filtro può essere "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.project_display_name=\"internal-test\"".

Go

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv1"
	"cloud.google.com/go/securitycenter/apiv1/securitycenterpb"
)

// bulkMute kicks off a long-running operation (LRO) to bulk mute findings for a parent based on a filter.
// The parent can be either an organization, folder, or project. The findings
// matched by the filter will be muted after the LRO is done.
func bulkMute(w io.Writer, parent string, muteRule string) error {
	// parent: Use any one of the following options:
	//             - organizations/{organization_id}
	//             - folders/{folder_id}
	//             - projects/{project_id}
	// parent := fmt.Sprintf("projects/%s", "your-google-cloud-project-id")
	// muteRule: Expression that identifies findings that should be muted.
	// To create mute rules, see:
	// https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
	// muteRule := "filter-condition"
	ctx := context.Background()
	client, err := securitycenter.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("securitycenter.NewClient: %w", err)
	}
	defer client.Close()

	req := &securitycenterpb.BulkMuteFindingsRequest{
		Parent: parent,
		Filter: muteRule,
	}

	op, err := client.BulkMuteFindings(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to bulk mute findings: %w", err)
	}
	response, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("failed to bulk mute findings: %w", err)
	}
	fmt.Fprintf(w, "Bulk mute findings completed successfully! %s", response)
	return nil
}

Java

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.


import com.google.cloud.securitycenter.v1.BulkMuteFindingsRequest;
import com.google.cloud.securitycenter.v1.BulkMuteFindingsResponse;
import com.google.cloud.securitycenter.v1.SecurityCenterClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public class BulkMuteFindings {

  public static void main(String[] args) {
    // TODO: Replace the variables within {}

    // parentPath: Use any one of the following options:
    //             - organizations/{organization_id}
    //             - folders/{folder_id}
    //             - projects/{project_id}
    String parentPath = String.format("projects/%s", "your-google-cloud-project-id");

    // muteRule: Expression that identifies findings that should be muted.
    // eg: "resource.project_display_name=\"PROJECT_ID\""
    String muteRule = "{filter-condition}";

    bulkMute(parentPath, muteRule);
  }

  // Kicks off a long-running operation (LRO) to bulk mute findings for a parent based on a filter.
  // The parent can be either an organization, folder, or project. The findings
  // matched by the filter will be muted after the LRO is done.
  public static void bulkMute(String parentPath, String muteRule) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      BulkMuteFindingsRequest bulkMuteFindingsRequest =
          BulkMuteFindingsRequest.newBuilder()
              .setParent(parentPath)
              // To create mute rules, see:
              // https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
              .setFilter(muteRule)
              .build();

      // ExecutionException is thrown if the below call fails.
      BulkMuteFindingsResponse response =
          client.bulkMuteFindingsAsync(bulkMuteFindingsRequest).get();
      System.out.println("Bulk mute findings completed successfully! " + response);
    } catch (IOException | InterruptedException | ExecutionException e) {
      System.out.println("Bulk mute findings failed! \n Exception: " + e);
    }
  }
}

Python

L'esempio seguente utilizza l'API v1. Per modificare l'esempio per la versione v2, sostituisci v1 con v2 e aggiungi /locations/LOCATION al nome della risorsa.

Per la maggior parte delle risorse, aggiungi /locations/LOCATION al nome della risorsa dopo /PARENT/PARENT_ID, dove PARENT è organizations, folders o projects.

Per i risultati, aggiungi /locations/LOCATION al nome della risorsa dopo /sources/SOURCE_ID, dove SOURCE_ID è l'ID del servizio Security Command Center che ha inviato il risultato.

def bulk_mute_findings(parent_path: str, mute_rule: str) -> None:
    """
      Kicks off a long-running operation (LRO) to bulk mute findings for a parent based on a filter.
      The parent can be either an organization, folder, or project. The findings
      matched by the filter will be muted after the LRO is done.
    Args:
        parent_path: use any one of the following options:
                     - organizations/{organization}
                     - folders/{folder}
                     - projects/{project}
        mute_rule: Expression that identifies findings that should be updated.
    """
    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

    request = securitycenter.BulkMuteFindingsRequest()
    request.parent = parent_path
    # To create mute rules, see:
    # https://cloud.google.com/security-command-center/docs/how-to-mute-findings#create_mute_rules
    request.filter = mute_rule

    response = client.bulk_mute_findings(request)
    print(f"Bulk mute findings completed successfully! : {response}")

API REST

Nell'API Security Command Center, utilizza il metodo bulkMute per disattivare più risultati esistenti. Il corpo della richiesta contiene l'espressione utilizzata per filtrare i risultati.

A meno che non sia abilitata la residenza dei dati, puoi utilizzare la versione 1 o 2 dell'API Security Command Center. L'API v2 è disponibile in versione anteprima. Quando la residenza dei dati è abilitata, l'API v2 è l'unica API disponibile.

Se utilizzi la versione 1 dell'API Security Command Center, chiama bulkMute utilizzando l'endpoint v1:

POST https://securitycenter.googleapis.com/v1/PARENT/PARENT_ID/findings:bulkMute -d

{
  "filter": "FILTER"
}

Se utilizzi la versione 2 dell'API Security Command Center, chiama bulkMute utilizzando l'endpoint v2:

POST https://securitycenter.googleapis.com/v2/PARENT/PARENT_ID/locations/LOCATION/findings:bulkMute -d

{
  "filter": "FILTER"
}

Sostituisci quanto segue:

  • PARENT: la risorsa padre (organizations, folders o projects).
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto principale.
  • LOCATION: solo per la versione 2, specifica la località di Security Command Center in cui sono archiviati i risultati. Se il campo della località viene omesso, il valore predefinito è global.
  • FILTER: l'espressione che definisci per filtrare i risultati.

    Ad esempio, per disattivare tutti i risultati di OPEN_FIREWALL e PUBLIC_IP_ADDRESS a bassa gravità esistenti nel progetto internal-test, il filtro può essere "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.project_display_name=\"internal-test\"".

Tutti i risultati esistenti nella risorsa selezionata, che corrispondono esattamente al filtro, sono nascosti. L'attributo mute per i risultati è impostato su MUTED.

La disattivazione dei risultati non ne modifica lo stato. Se i risultati attivi vengono disattivati, sono nascosti, ma rimangono attivi finché le vulnerabilità, le configurazioni errate o le minacce sottostanti non vengono risolte.

Visualizza i risultati disattivati nella console Google Cloud

Puoi visualizzare i risultati disattivati nella console Google Cloud modificando la query dei risultati per selezionare i risultati che includono il valore della proprietà mute="MUTED".

Ad esempio, la seguente query dei risultati visualizza solo i risultati attivi disattivati:

state="ACTIVE"
AND mute="MUTED"

Per visualizzare tutti i risultati attivi, sia con audio disattivato che riattivato, ometti completamente l'attributo mute dalla query:

state="ACTIVE"

Per impostazione predefinita, la query sui risultati nella console Google Cloud mostra solo i risultati non disattivati.

Per ulteriori informazioni sulla modifica delle query sui risultati, consulta Creare o modificare una query dei risultati nella dashboard.

Ricerca di proprietà correlate alla disattivazione

Questa sezione elenca le proprietà dei risultati correlate allo stato di disattivazione di un risultato e descrive in che modo sono interessate dalle operazioni di disattivazione:

  • mute: impostato su UNDEFINED quando vengono creati risultati e vengono modificati nei seguenti scenari:
    • MUTED: l'audio di un risultato viene disattivato manualmente o da una regola di disattivazione.
    • UNMUTED: un utente riattiva l'audio di un risultato.
  • mute_update_time: l'ora in cui l'audio di un risultato viene disattivato o riattivato
  • mute_initiator: l'identificatore dell'entità o della regola di disattivazione che ha disattivato un risultato

Interrompi le notifiche e le esportazioni dei risultati disattivati

Se attivi le notifiche dei risultati, i risultati con audio nuovi o aggiornati che corrispondono ai filtri di notifica vengono comunque esportati in Pub/Sub.

Per interrompere le esportazioni e le notifiche per i risultati disattivati, utilizza l'attributo mute per escludere i risultati disattivati nel filtro NotificationConfig. Ad esempio, il seguente filtro invia solo notifiche relative a risultati attivi non disattivati o per cui non è stato impostato l'attributo di disattivazione:

FILTER="state=\"ACTIVE\" AND -mute=\"MUTED\""

Passaggi successivi

Scopri di più su come filtrare le notifiche sui risultati.

Guarda altri esempi di filtri che puoi utilizzare.