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 Google Cloud console. Puoi disattivare manualmente o a livello di programmazione i risultati e creare filtri per disattivare automaticamente i risultati esistenti e futuri in base ai criteri specificati.

I servizi di rilevamento di Security Command Center forniscono valutazioni di sicurezza generali del tuo deployment, ma potresti scoprire che alcuni risultati non sono appropriati o pertinenti per la tua organizzazione o i tuoi progetti. Google Cloud Un volume elevato di risultati può anche rendere difficile per i tuoi analisti della sicurezza identificare e porre rimedio ai rischi più critici. La disattivazione dei risultati ti consente di risparmiare tempo per la revisione o la risposta ai risultati di sicurezza per gli asset isolati o che rientrano nei parametri aziendali accettabili.

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

  • Puoi creare filtri personalizzati per perfezionare i risultati disattivati.
  • Puoi utilizzare le regole di disattivazione per disattivare temporaneamente o a tempo indeterminato i risultati.
  • La disattivazione dei risultati non impedisce la scansione degli asset sottostanti. I risultati vengono comunque generati, ma rimangono nascosti finché non decidi di visualizzarli.

Autorizzazioni

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

  • Visualizza regole di disattivazione:
    • Visualizzatore amministratore Centro sicurezza (roles/securitycenter.adminViewer)
    • Visualizzatore delle impostazioni del Centro sicurezza (roles/securitycenter.settingsViewer)
    • Visualizzatore delle configurazioni di disattivazione del Centro sicurezza (roles/securitycenter.muteConfigsViewer)
  • Visualizza, crea, aggiorna ed elimina regole di disattivazione:
    • Amministratore di Security Center (roles/securitycenter.admin)
    • Editor amministratore Centro sicurezza (roles/securitycenter.adminEditor)
    • Editor impostazioni Centro sicurezza (roles/securitycenter.settingsEditor)
    • Security Center Mute Configurations Editor (roles/securitycenter.muteConfigsEditor)
  • Disattivare 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
  • Trovare le autorizzazioni di scrittura
    • securitycenter.findings.setMute
    • securitycenter.findings.bulkMuteUpdate

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

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

Creare e gestire le regole di disattivazione

Le regole di disattivazione sono configurazioni di Security Command Center che utilizzano i filtri creati per disattivare automaticamente i risultati futuri ed esistenti in base ai criteri specificati. Puoi creare filtri con regole di disattivazione statiche o dinamiche.

Le regole di disattivazione statiche disattivano i risultati futuri a tempo indeterminato. Le regole di disattivazione dinamica disattivano temporaneamente i risultati futuri ed esistenti fino a una data specificata o a tempo indeterminato finché un risultato non corrisponde più alla configurazione.

Tipi di regole di disattivazione

Security Command Center supporta le configurazioni delle regole di disattivazione statiche e dinamiche. Sebbene tu possa utilizzare contemporaneamente regole di disattivazione statiche e dinamiche, non lo consigliamo. Le regole di disattivazione statiche sostituiscono le regole di disattivazione dinamiche quando vengono applicate allo stesso risultato. Di conseguenza, le regole di disattivazione dinamica non funzioneranno come previsto, il che può creare confusione durante la gestione dei risultati. Pertanto, ti consigliamo di utilizzare esclusivamente un tipo di regola di disattivazione.

A meno che tu non stia già utilizzando regole di disattivazione statica, ti consigliamo di utilizzare esclusivamente regole di disattivazione dinamica perché offrono maggiore flessibilità.

La seguente tabella fornisce un confronto di alto livello dei due tipi di regole di disattivazione. Per maggiori dettagli, vedi Regole di disattivazione statiche e Regole di disattivazione dinamiche.

Regole di disattivazione statiche Regole di disattivazione dinamiche
Intervenire sui risultati a tempo indeterminato. Può agire su un risultato temporaneamente con un tempo di scadenza o indefinitamente se non è impostato alcun tempo di scadenza.
Non si applicano ai risultati esistenti. Applica a risultati esistenti e nuovi.
Hanno la precedenza sulle regole di disattivazione dinamiche. Hanno una priorità inferiore e vengono ignorate dalle regole di disattivazione statica quando entrambi i tipi si applicano a un risultato.

Regole di disattivazione statiche

  • Le regole di disattivazione statiche agiscono a tempo indeterminato. Quando un risultato corrisponde alla configurazione di disattivazione statica, Security Command Center imposta automaticamente la proprietà mute del risultato su MUTED finché non la modifichi manualmente.
  • Le regole di disattivazione statiche non hanno effetto sui risultati esistenti, a meno che non vengano create utilizzando la console Google Cloud , nel qual caso la regola disattiverà retroattivamente i risultati esistenti. In caso contrario, si applicano solo ai risultati appena creati o aggiornati dopo la definizione della regola. Se vuoi disattivare anche i risultati esistenti simili senza utilizzare la console, utilizza gli stessi filtri per disattivare in blocco i risultati. Google Cloud
  • Le regole di disattivazione statica hanno la precedenza su quelle dinamiche. Pertanto, tutti i nuovi risultati che corrispondono a una regola di disattivazione statica definita vengono considerati disattivati anche se corrispondono anche a una regola di disattivazione dinamica definita.

Regole di disattivazione dinamiche

  • Le regole di disattivazione dinamica possono agire su un risultato temporaneamente con un tempo di scadenza o a tempo indeterminato se non è impostato alcun tempo di scadenza. Quando un risultato esistente o appena creato corrisponde alla configurazione di disattivazione dinamica, Security Command Center imposta automaticamente la proprietà mute del risultato su MUTED fino alla data di scadenza specificata o finché non vengono apportate modifiche al risultato o alla configurazione stessa. Quando una regola di disattivazione dinamica scade, Security Command Center rimuove la regola dal risultato. Se il risultato non corrisponde ad altre regole di disattivazione dinamica, la proprietà mute viene reimpostata automaticamente su UNDEFINED.
  • Le regole di disattivazione dinamiche vengono applicate automaticamente ai risultati esistenti che corrispondono alla tua configurazione, nonché ai risultati appena creati o aggiornati.
  • Le regole di disattivazione dinamiche hanno una priorità inferiore e vengono sostituite dalle regole di disattivazione statiche quando entrambi i tipi si applicano a un risultato.

Ti consigliamo di utilizzare esclusivamente le regole di disattivazione dinamica. La possibilità di disattivare temporaneamente e riattivare automaticamente i risultati rende le regole di disattivazione dinamiche un'opzione più flessibile rispetto alle regole di disattivazione statiche.

Se utilizzi regole di disattivazione statiche per ridurre il numero di risultati che esamini manualmente e vuoi eseguire la migrazione alle regole di disattivazione dinamiche, consulta Eseguire la migrazione dalle regole di disattivazione statiche a quelle dinamiche.

Ambito delle regole di disattivazione

Quando crei i filtri, tieni conto dell'ambito di una regola di disattivazione.

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

Analogamente, se è abilitata la residenza dei dati, l'ambito di una regola di disattivazione è limitato alla località di Security Command Center in cui viene creata la regola di disattivazione. Ad esempio, se crei una regola di disattivazione nella località Stati Uniti (us), la regola non disattiva i risultati archiviati nella località Unione Europea (eu).

Per saperne di più sulla creazione dei filtri, consulta 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 le regole di disattivazione non supportano, consulta Proprietà dei risultati non supportate per le regole di disattivazione.

Puoi creare, visualizzare, aggiornare ed eliminare regole di disattivazione basate sull'ambito dei tuoi ruoli IAM. Con i ruoli a livello di organizzazione, visualizzi le regole di disattivazione per tutte le cartelle e tutti i progetti all'interno dell'organizzazione. Se hai 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 ti consentono di gestire le regole di disattivazione audio in progetti specifici.

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

Residenza dei dati e regole di disattivazione

Se la residenza dei dati è abilitata, le configurazioni che definiscono le regole di disattivazione dell'audio, ovvero le risorse muteConfig, sono soggette ai controlli di residenza dei dati e vengono archiviate in una posizione di Security Command Center che selezioni.

Per applicare una regola di disattivazione ai risultati in una località di Security Command Center, devi creare la regola di disattivazione nella stessa località 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 creare regole di disattivazione o esportazioni di streaming.

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

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

Per scoprire come utilizzare Security Command Center quando la residenza dei dati è abilitata, consulta Endpoint regionali di Security Command Center.

Crea regola di disattivazione

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

Ti consigliamo di utilizzare le regole di disattivazione dinamiche esclusivamente nelle configurazioni delle regole di disattivazione, perché sono più flessibili di quelle statiche. Per un confronto tra i tipi di regole di disattivazione, vedi Tipi di regole di disattivazione.

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

Console

Per creare una regola di disattivazione dell'audio utilizzando la console Google Cloud , fai clic sulla scheda relativa al tuo livello di servizio:

Standard o Premium

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

    Vai a Risultati

  2. Se necessario, seleziona il tuo progetto Google Cloud o la tua organizzazione.

  3. Fai clic su Opzioni di disattivazione e poi seleziona Gestisci regole di disattivazione.

  4. Fai clic su 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 del motivo per cui i risultati sono disattivati. Questo valore è facoltativo, ma consigliato.

  7. Conferma l'ambito della regola di disattivazione controllando il valore di Risorsa padre.

  8. Se stai creando una regola di disattivazione statica o una regola di disattivazione dinamica senza scadenza, vai al passaggio successivo. Se stai creando una regola di disattivazione dinamica per disattivare temporaneamente i risultati, completa i seguenti passaggi:

    1. Seleziona la casella di controllo Disattiva temporaneamente i risultati corrispondenti.
    2. Seleziona o inserisci la data di scadenza per la regola di disattivazione dinamica. Questo valore indica per quanto tempo la regola disattiverà i risultati corrispondenti.
  9. Nel campo Query sui risultati, crea le istruzioni della query facendo clic su Aggiungi filtro. In alternativa, puoi digitare manualmente le istruzioni della query.

    La finestra di dialogo Seleziona filtro ti consente di scegliere attributi e valori di ricerca supportati.

    1. Seleziona un attributo del risultato o digita il suo nome nella casella Cerca attributi del risultato. Viene visualizzato un elenco dei sottoattributi disponibili.
    2. Seleziona un attributo secondario. Viene visualizzato un campo di selezione in cui puoi creare l'istruzione della query utilizzando l'attributo secondario selezionato, un operatore di query e uno o più valori per l'attributo secondario.
    3. Seleziona l'operatore e uno o più valori per l'attributo secondario dal riquadro. Per saperne di più sugli operatori di query e sulle funzioni che utilizzano, consulta Operatori di query nel menu Aggiungi filtri.
    4. Fai clic su Applica.

      La finestra di dialogo si chiude e la query viene aggiornata.

    5. Ripeti l'operazione finché la query sui risultati non contiene tutti gli attributi che ti interessano.
  10. Fai clic su Anteprima dei risultati corrispondenti. Una tabella mostra i risultati che corrispondono alla tua query.

  11. Fai clic su Salva.

Aziende

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

    Vai a Risultati

  2. Se necessario, seleziona il tuo progetto Google Cloud o la tua organizzazione.
  3. Seleziona almeno un risultato.
  4. Fai clic su Opzioni di disattivazione e poi su Visualizza regole di disattivazione.
  5. Fai clic su Crea regola di disattivazione.
  6. Inserisci un ID regola di disattivazione. Questo valore è obbligatorio.
  7. Inserisci una descrizione della regola di disattivazione che fornisca il contesto del motivo per cui i risultati sono disattivati. Questo valore è facoltativo, ma consigliato.
  8. Conferma l'ambito della regola di disattivazione controllando il valore di Risorsa padre.
  9. Se stai creando una regola di disattivazione statica o una regola di disattivazione dinamica senza scadenza, vai al passaggio successivo. Se stai creando una regola di disattivazione dinamica per disattivare temporaneamente i risultati, completa i seguenti passaggi:
    1. Seleziona la casella di controllo Disattiva temporaneamente i risultati corrispondenti.
    2. Seleziona o inserisci la data di scadenza per la regola di disattivazione dinamica. Questo valore indica per quanto tempo la regola disattiverà i risultati corrispondenti.
  10. Nel campo Query sui risultati, crea le istruzioni della query facendo clic su Aggiungi filtro. In alternativa, puoi digitare manualmente le istruzioni della query.

    La finestra di dialogo Seleziona filtro ti consente di scegliere attributi e valori di ricerca supportati.

    1. Seleziona un attributo del risultato o digita il suo nome nella casella Cerca attributi del risultato. Viene visualizzato un elenco dei sottoattributi disponibili.
    2. Seleziona un attributo secondario. Viene visualizzato un campo di selezione in cui puoi creare l'istruzione della query utilizzando l'attributo secondario selezionato, un operatore di query e uno o più valori per l'attributo secondario.
    3. Seleziona l'operatore e uno o più valori per l'attributo secondario dal riquadro. Per saperne di più sugli operatori di query e sulle funzioni che utilizzano, consulta Operatori di query nel menu Aggiungi filtri.
    4. Fai clic su Applica.

      La finestra di dialogo si chiude e la query viene aggiornata.

    5. Ripeti l'operazione finché la query sui risultati non contiene tutti gli attributi che ti interessano.
  11. Fai clic su Anteprima dei risultati corrispondenti. Una tabella mostra i risultati che corrispondono alla tua query.
  12. Fai clic su Salva.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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" \
      --type=MUTE_TYPE \
      --expiry-time=TIMESTAMP

    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 numerico dell'organizzazione, della cartella o del progetto padre oppure l'ID alfanumerico del progetto padre.
    • LOCATION: la posizione di Security Command Center in cui creare una regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global.
    • RULE_DESCRIPTION: una descrizione della regola di disattivazione non superiore a 1024 caratteri.
    • FILTER: l'espressione che definisci per filtrare i risultati. Ad esempio, per disattivare i risultati di OPEN_FIREWALL, il filtro può essere FILTER="category=\"OPEN_FIREWALL\"".
    • MUTE_TYPE: il tipo di regola di disattivazione che vuoi creare. I tipi di regole di disattivazione validi sono DYNAMIC e STATIC. Per impostazione predefinita, il tipo di regola di disattivazione è impostato su STATIC. Non puoi modificare il tipo di regola di disattivazione dopo averla creata.
    • TIMESTAMP: si applica solo se stai creando una regola di disattivazione dinamica. La stringa di data/ora che indica quando scade la regola di disattivazione dinamica. Il valore deve essere impostato su almeno un giorno nel futuro, altrimenti la richiesta verrà rifiutata. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes. Quando una regola di disattivazione dinamica scade, viene rimossa da tutti i risultati corrispondenti. Se vuoi che la regola di disattivazione dinamica agisca indefinitamente sui risultati corrispondenti, ometti questo campo.

    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.

Terraform

Per creare una regola di disattivazione per un'organizzazione:

resource "google_scc_v2_organization_mute_config" "default" {
  mute_config_id    = "my-config"
  organization = "123456789"
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Organization mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

Creare una regola di disattivazione per una cartella:

resource "google_folder" "folder" {
  parent       = "organizations/123456789"
  display_name = "folder-name"
}

resource "google_scc_v2_folder_mute_config" "default" {
  mute_config_id    = "my-config"
  folder = google_folder.folder.folder_id
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Folder mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

Creare una regola di disattivazione per un progetto:

resource "google_scc_v2_project_mute_config" "default" {
  mute_config_id    = "my-config"
  project = "my-project-name"
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Project mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

Go


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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\"",
		Type: securitycenterpb.MuteConfig_STATIC,
	}

	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


import com.google.cloud.securitycenter.v2.LocationName;
import com.google.cloud.securitycenter.v2.MuteConfig;
import com.google.cloud.securitycenter.v2.MuteConfig.MuteConfigType;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import java.io.IOException;
import java.util.UUID;

public class CreateMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the following variables.
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config.
    String location = "global";

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

    createMuteRule(projectId, location, muteConfigId);
  }

  // Creates a mute configuration in a project under a given location.
  public static void createMuteRule(String projectId, String location, String muteConfigId)
      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.
    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\"")
              .setType(MuteConfigType.STATIC)
              .build();

      // You can also create mute rules in an organization/ folder.
      // Construct the parameters according to the parent resource.
      //  * Organization -> client.createMuteConfig(OrganizationLocationName.of(...
      //  * Folder -> client.createMuteConfig(FolderLocationName.of(...
      MuteConfig response = client.createMuteConfig(
          LocationName.of(projectId, location), muteConfig, muteConfigId);
      System.out.println("Mute rule created successfully: " + response.getName());
    }
  }
}

Python

def create_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    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}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
        Dict: returns the mute rule details
    """

    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    mute_config = securitycenter_v2.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"'
    )
    mute_config.type = "STATIC"

    request = securitycenter_v2.CreateMuteConfigRequest()
    request.parent = parent_path + "/locations/" + location_id
    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}")
    return mute_config

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:

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

  {
    "description": "RULE_DESCRIPTION",
    "filter": "FILTER",
    "type": "MUTE_TYPE",
    "expiryTime": "TIMESTAMP"
  }

Sostituisci quanto segue:

  • PARENT: la risorsa principale per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre
  • LOCATION: la posizione di Security Command Center in cui creare una regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • MUTE_CONFIG_ID: il nome della regola di disattivazione (tra 1 e 63 caratteri)
  • RULE_DESCRIPTION: una descrizione della regola di disattivazione (max: 1024 caratteri)
  • FILTER: l'espressione che definisci per filtrare i risultati

    Ad esempio, per disattivare le risultanze OPEN_FIREWALL, il filtro può essere "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: il tipo di regola di disattivazione che vuoi creare. I tipi di regole di disattivazione validi sono DYNAMIC e STATIC. Non puoi modificare il tipo di regola di disattivazione dopo averla creata.

  • TIMESTAMP: si applica solo se stai creando una regola di disattivazione dinamica. La stringa di data/ora che indica quando scade la regola di disattivazione dinamica. Il valore deve essere impostato su almeno un giorno nel futuro, altrimenti la richiesta verrà rifiutata. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes. Quando una regola di disattivazione dinamica scade, viene rimossa da tutti i risultati corrispondenti. Se vuoi che la regola di disattivazione dinamica agisca indefinitamente sui risultati corrispondenti, ometti questo campo.

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

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. Espandi la sezione seguente per visualizzare l'elenco delle proprietà non supportate nei filtri delle regole di disattivazione.

Proprietà dei risultati non supportate

  • caiResource
  • canonicalName
  • createTime
  • description
  • eventTime
  • externalUri
  • gcpMetadata.folders1
  • libraryPaths
  • mute
  • muteAnnotation
  • muteInfo
  • muteInitiator
  • muteUpdateTime
  • name
  • nextSteps
  • originalProviderId
  • parent
  • processes.binaryPath
  • processes.libraryPaths
  • propertyDataTypes
  • resourceName
  • securityMarks
  • sourceProperties
  • state
  • workflowState
  • 1La proprietà gcpMetadata.folders contiene campi secondari supportati nei filtri di disattivazione.

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, l'ambito del comando list è limitato anche alla posizione di Security Command Center selezionata.

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

Per elencare le regole di disattivazione per un'organizzazione, una cartella o un progetto, fai clic sulla scheda della 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 il tuo progetto Google Cloud o la tua organizzazione.

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

    • Nome: ID della 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 parte di: il preside che ha aggiornato per ultimo la regola
    • Ultimo aggiornamento: la data e l'ora dell'ultimo aggiornamento della regola

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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: l'organization, l'folder o l'project per cui elencare le regole di disattivazione
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre
    • LOCATION: la posizione di Security Command Center in cui elencare le regole di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

Vai

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class ListMuteRules {

  public static void main(String[] args) throws IOException {
    // TODO: Replace variables enclosed within {}
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location to list mute configs.
    String location = "global";

    listMuteRules(projectId, location);
  }

  // Lists all mute rules present under the resource type in the given location.
  public static void listMuteRules(String projectId, String location) 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.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      // Parent can also be one of:
      //  * "organizations/{org_id}/locations/{location}"
      //  * "folders/{folder_id}/locations/{location}"
      ListMuteConfigsRequest listMuteConfigsRequest = ListMuteConfigsRequest.newBuilder()
          .setParent(String.format("projects/%s/locations/%s", projectId, location))
          .build();

      // List all mute configs present in the resource.
      for (MuteConfig muteConfig : client.listMuteConfigs(listMuteConfigsRequest).iterateAll()) {
        System.out.println(muteConfig.getName());
      }
    }
  }
}

Python

def list_mute_rules(parent: str, location_id: str) -> Dict:
    """
    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}
        location_id: Gcp location id; example: 'global'
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.ListMuteConfigsRequest()
    request.parent = parent + "/locations/" + location_id
    response = client.list_mute_configs(request)
    # List all Mute Configs present in the resource.
    for mute_config in response:
        print(mute_config.name)
    return response

REST

Nell'API Security Command Center, utilizza il metodo muteConfigs.list per elencare le regole di disattivazione:

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

Sostituisci quanto segue:

  • PARENT: la risorsa principale per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre
  • LOCATION: la posizione di Security Command Center in cui elencare le regole di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

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

Visualizzare la configurazione di una regola di disattivazione

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

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

Per visualizzare la configurazione di una regola di disattivazione, fai clic sulla scheda della 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 il tuo progetto Google Cloud o la tua organizzazione.

  3. Nella sezione Regole di disattivazione, vedrai un elenco di regole di disattivazione.

  4. Fai clic sul nome della regola che vuoi visualizzare.

    Si apre una pagina con la configurazione della regola di disattivazione dell'audio.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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 della regola di disattivazione
    • PARENT: la risorsa principale per la regola di disattivazione (organization, folder o project)
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
    • LOCATION: la posizione di Security Command Center in cui visualizzare la configurazione della regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

Vai

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class GetMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO(Developer): Replace the following variables
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    getMuteRule(projectId, location, muteConfigId);
  }

  // Retrieves a mute configuration given its resource name.
  public static MuteConfig getMuteRule(String projectId, String location, String muteConfigId)
      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.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {
      // Use appropriate `MuteConfigName` methods depending on the parent type.
      //  * organization -> MuteConfigName.ofOrganizationLocationMuteConfigName()
      //  * folder -> MuteConfigName.ofFolderLocationMuteConfigName()

      MuteConfigName muteConfigName = MuteConfigName.ofProjectLocationMuteConfigName(projectId,
          location, muteConfigId);
      return client.getMuteConfig(muteConfigName);
    }
  }
}

Python

def get_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    Retrieves a mute configuration given its resource name.
    Args:
        parent_path: use any one of the following options:
                     - organizations/{organization_id}
                     - folders/{folder_id}
                     - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.GetMuteConfigRequest()
    request.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )

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

REST

Nell'API Security Command Center, utilizza il metodo muteConfigs.get per restituire la configurazione di una regola di disattivazione:

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

Sostituisci quanto segue:

  • PARENT: la risorsa principale per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: la posizione di Security Command Center in cui visualizzare la configurazione della regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • CONFIG_ID: l'ID numerico della regola di disattivazione

Aggiornare le regole di disattivazione

Puoi aggiornare la descrizione o il filtro dei 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, la cartella o il progetto padre né la posizione di una regola di disattivazione. Per modificare uno di questi valori, devi creare una nuova regola di disattivazione dell'audio.

Se in precedenza hai riattivato i risultati, questi verranno nuovamente disattivati se corrispondono a una regola di disattivazione aggiornata nella console Google Cloud . Per ulteriori informazioni, consulta la sezione Riattivare l'audio dei singoli risultati.

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

Per aggiornare una regola di disattivazione dell'audio, 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 il Google Cloud progetto o l'organizzazione che è la risorsa principale per la regola di disattivazione che vuoi modificare.

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

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

  4. Inserisci una nuova descrizione e poi fai clic su Salva.

  5. Per le regole di disattivazione dinamica, aggiorna o modifica la scadenza della regola.

  6. Aggiorna o modifica il filtro.

    Per le istruzioni, vedi Creare regole di disattivazione.

  7. Per visualizzare i risultati che corrispondono al filtro aggiornato, fai clic su Anteprima dei risultati corrispondenti.

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

  8. Fai clic su Salva.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud scc muteconfigs update MUTE_CONFIG_ID \
        --PARENT=PARENT_ID \
        --location=LOCATION \
        --description=RULE_DESCRIPTION \
        --filter=FILTER \
        --type=MUTE_TYPE \
        --expiry-time=TIMESTAMP
    

    Sostituisci quanto segue:

    • MUTE_CONFIG_ID: l'ID della regola di disattivazione.
    • PARENT: la risorsa principale per la regola di disattivazione (organization, folder o project).
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto.
    • LOCATION: la posizione di Security Command Center in cui aggiornare la regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global.
    • RULE_DESCRIPTION: una descrizione della regola di disattivazione (max: 1024 caratteri).
    • FILTER: l'espressione che definisci per filtrare i risultati.

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

    • MUTE_TYPE: il tipo di regola di disattivazione che stai aggiornando. I tipi di regole di disattivazione validi sono DYNAMIC e STATIC. Non puoi modificare il tipo di una regola di disattivazione dopo averla creata.

    • TIMESTAMP: si applica solo se stai aggiornando una regola di disattivazione dinamica. La stringa di data/ora che indica quando scade la regola di disattivazione dinamica. Il valore deve essere impostato su almeno un giorno nel futuro, altrimenti la richiesta verrà rifiutata. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes. Quando una regola di disattivazione dinamica scade, viene rimossa da tutti i risultati corrispondenti. Se vuoi che la regola di disattivazione dinamica agisca indefinitamente sui risultati corrispondenti, ometti questo campo.

Vai


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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! %w", err)
	}
	fmt.Fprintf(w, "Mute rule updated %s", response.Name)
	return nil
}

Java


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

public class UpdateMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config to update. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    updateMuteRule(projectId, location, muteConfigId);
  }

  // Updates an existing mute configuration.
  // The following can be updated in a mute config: description and filter.
  public static void updateMuteRule(String projectId, String location, String muteConfigId)
      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.
    try (SecurityCenterClient securityCenterClient = SecurityCenterClient.create()) {

      MuteConfig updateMuteConfig =
          MuteConfig.newBuilder()
              // Construct the name according to the parent type of the mute rule.
              // Parent can also be one of:
              //  * "organizations/{org_id}/locations/{location}/muteConfigs/{muteConfig_id}"
              //  * "folders/{folder_id}/locations/{location}/muteConfigs/{muteConfig_id}"
              .setName(String.format("projects/%s/locations/%s/muteConfigs/%s", projectId, location,
                  muteConfigId))
              .setDescription("Updated mute config description")
              .build();

      UpdateMuteConfigRequest updateMuteConfigRequest =
          UpdateMuteConfigRequest.newBuilder()
              .setMuteConfig(updateMuteConfig)
              // Make sure that the mask fields match the properties changed in
              // 'updateMuteConfig' object.
              // For more info on constructing update mask path, see the proto or:
              // https://cloud.google.com/security-command-center/docs/reference/rest/v2/folders.muteConfigs/patch?hl=en#query-parameters
              .setUpdateMask(FieldMask.newBuilder().addPaths("description").build())
              .build();

      MuteConfig response = securityCenterClient.updateMuteConfig(updateMuteConfigRequest);
      System.out.println(response);
    }
  }
}

Python

def update_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    Updates an existing mute configuration.
    The following can be updated in a mute config: description, and filter/ mute rule.
    Args:
        parent: Use any one of the following resource paths to list mute configurations:
                - organizations/{organization_id}
                - folders/{folder_id}
                - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2
    from google.protobuf import field_mask_pb2

    client = securitycenter_v2.SecurityCenterClient()

    update_mute_config = securitycenter_v2.MuteConfig()
    update_mute_config.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )
    update_mute_config.description = "Updated mute config description"

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

    request = securitycenter_v2.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}")
    return mute_config

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:

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

  {
    "description": "RULE_DESCRIPTION",
    "filter": "FILTER",
    "type": "MUTE_TYPE",
    "expiryTime": "TIMESTAMP"
  }

Sostituisci quanto segue:

  • PARENT: la risorsa principale per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: la posizione di Security Command Center in cui aggiornare la regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • CONFIG_ID: l'ID numerico della regola di disattivazione
  • RULE_DESCRIPTION: una descrizione della regola di disattivazione (max: 1024 caratteri)
  • FILTER: l'espressione che definisci per filtrare i risultati

    Ad esempio, per disattivare le risultanze OPEN_FIREWALL, il filtro può essere "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: il tipo di regola di disattivazione che stai aggiornando. I tipi di regole di disattivazione validi sono DYNAMIC e STATIC. Non puoi modificare il tipo di una regola di disattivazione dopo averla creata.

  • TIMESTAMP: si applica solo se stai aggiornando una regola di disattivazione dinamica. La stringa di data/ora che indica quando scade la regola di disattivazione dinamica. Il valore deve essere impostato su almeno un giorno nel futuro o la richiesta verrà rifiutata. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes. Quando una regola di disattivazione dinamica scade, viene rimossa da tutti i risultati corrispondenti. Se vuoi che la regola di disattivazione dinamica agisca a tempo indeterminato sui risultati corrispondenti, ometti questo campo.

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

Eliminare 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 audio, tieni presente quanto segue:

  • Non puoi recuperare le regole di disattivazione eliminate.
  • L'eliminazione delle regole di disattivazione statiche non riattiva automaticamente i risultati disattivati. Devi riattivare manualmente i risultati.
  • L'eliminazione delle regole di disattivazione dinamiche rimuove automaticamente la regola da tutti i risultati corrispondenti in precedenza e li riattiva se non corrispondono ad altre regole.
  • I risultati futuri che corrispondono ai filtri nelle regole di disattivazione eliminate non vengono disattivati.

Per codice campione che elimina una regola di disattivazione, vedi Elimina una regola di disattivazione.

Per eliminare una regola di disattivazione audio, fai clic sulla scheda della 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 il tuo progetto Google Cloud o la tua organizzazione.

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

  4. Fai clic su Elimina.

  5. Leggi la finestra di dialogo e, se le impostazioni sono corrette, fai clic su Elimina.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  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 principale per la regola di disattivazione (organization, folder o project)
    • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
    • LOCATION: la posizione di Security Command Center in cui eliminare la regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  3. Conferma la richiesta di eliminazione della regola di disattivazione dell'audio.

Vai


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class DeleteMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO(Developer): Replace the following variables
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    deleteMuteRule(projectId, location, 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 location, String muteConfigId)
      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.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {
      // Use appropriate `MuteConfigName` methods depending on the parent type.
      // folder -> MuteConfigName.ofFolderLocationMuteConfigName()
      // organization -> MuteConfigName.ofOrganizationLocationMuteConfigName()
      client.deleteMuteConfig(
          MuteConfigName.ofProjectLocationMuteConfigName(projectId, location, muteConfigId));

      System.out.println("Mute rule deleted successfully: " + muteConfigId);
    }
  }
}

Python

def delete_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> None:
    """
    Deletes a mute configuration given its resource name.
    Note: Previously muted findings are not affected when a mute config is deleted.
    Args:
         parent_path: use any one of the following options:
                     - organizations/{organization_id}
                     - folders/{folder_id}
                     - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         None: returns none mute rule is deleted
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.DeleteMuteConfigRequest()
    request.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )

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

REST

Nell'API Security Command Center, utilizza il metodo muteConfigs.delete per eliminare una regola di disattivazione:

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

Sostituisci quanto segue:

  • PARENT: la risorsa principale per la regola di disattivazione (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto
  • LOCATION: la posizione di Security Command Center in cui eliminare la regola di disattivazione; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • CONFIG_ID: l'ID numerico della regola di disattivazione

Disattivare un singolo risultato

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

La disattivazione statica di un risultato non influisce sul suo stato di attività. Se un risultato attivo viene disattivato, l'attributo state rimane invariato: state="ACTIVE". Il risultato è nascosto, ma rimane attivo finché non viene risolta la vulnerabilità, la configurazione errata o la minaccia sottostante. Inoltre, disattivando staticamente un risultato, esegui l'override di tutte le regole di disattivazione dinamica che si applicano al risultato.

La disattivazione di un risultato relativo a una combinazione tossica chiude il caso corrispondente.

Per disattivare tutti i risultati futuri che corrispondono ai criteri specificati, consulta Creare regole di disattivazione.

Per codice campione per disattivare un risultato, vedi Disattivare un risultato.

Per disattivare l'audio di un singolo risultato, fai clic sulla scheda della 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 il tuo progetto Google Cloud o la tua organizzazione.

  3. Se non vedi il risultato che devi disattivare nel riquadro Risultati della query sui risultati, seleziona la categoria del risultato nella sezione Categoria del riquadro Filtri rapidi.

  4. Seleziona la casella di controllo accanto al problema che devi disattivare. Puoi selezionare uno o più risultati.

  5. Nella barra delle azioni Risultati della query sui risultati, fai clic su Opzioni di disattivazione e poi seleziona Applica override di disattivazione.

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

In alternativa, puoi disattivare una scoperta dal relativo riquadro dei dettagli:

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

    Se invece selezioni Disattiva i risultati simili, si apre 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per impostare lo stato di disattivazione di un problema su MUTED, utilizza il comando set-mute in 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 problema 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.

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

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

    • LOCATION: la posizione di Security Command Center in cui disattivare la notifica del problema; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

    • SOURCE_ID: l'ID origine

      Per istruzioni su come recuperare un ID origine, consulta Recuperare l'ID origine.

Vai

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


import com.google.cloud.securitycenter.v2.Finding;
import com.google.cloud.securitycenter.v2.Finding.Mute;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import com.google.cloud.securitycenter.v2.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/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/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.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder()
              // Relative path for the finding.
              .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

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_v2

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

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

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 padre.
  • LOCATION: la posizione di Security Command Center in cui disattivare la notifica del problema; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • SOURCE_ID: l'ID numerico dell'origine.

    Per istruzioni su come recuperare un ID origine, consulta Recuperare l'ID origine.

  • FINDING_ID: l'ID del problema 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, l'attributo mute viene impostato su MUTED.

Riattivare i singoli risultati

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

La riattivazione di un risultato è utile quando devi impedire che un risultato venga nascosto da una regola di disattivazione troppo ampia o da una regola che potrebbe essere troppo complessa da modificare per escludere i risultati che ritieni importanti.

Per codice campione per riattivare una scoperta, vedi Riattivare una scoperta.

I risultati non disattivati vengono disattivati di nuovo solo se vengono disattivati manualmente. Le regole di disattivazione create con gcloud CLI o l'API Security Command Center non influenzano i risultati riattivati dagli utenti.

Per codice campione per riattivare la notifica di un risultato, vedi Riattivare la notifica di un risultato.

Console

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

    Vai a Risultati

  2. Se necessario, seleziona il tuo progetto Google Cloud o la tua organizzazione.

    Si apre la pagina Risultati con la query predefinita visualizzata nella sezione Anteprima query. La query predefinita filtra i risultati disattivati, quindi devi modificarla prima che i risultati disattivati vengano visualizzati nel riquadro Risultati query sui risultati.

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

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

    mute="MUTED"
  5. Fai clic su Applica. I risultati nel riquadro Risultati query sui risultati vengono aggiornati in modo da includere solo i risultati disattivati.

  6. 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 risultati.

  7. Seleziona la casella di controllo accanto al risultato che vuoi riattivare. Puoi selezionare uno o più risultati.

  8. Nella barra delle azioni Risultati della query sui risultati, fai clic su Opzioni di disattivazione e poi seleziona Applica override di riattivazione.

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

In alternativa, puoi riattivare l'audio di un risultato dal relativo riquadro dei dettagli:

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

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per impostare lo stato di disattivazione di un problema su UNMUTED, utilizza il comando set-mute in 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 problema 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.

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

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

    • LOCATION: la posizione di Security Command Center in cui riattivare la notifica del problema; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

    • SOURCE_ID: l'ID origine

      Per istruzioni su come recuperare un ID origine, consulta Recuperare l'ID origine.

Vai


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


import com.google.cloud.securitycenter.v2.Finding;
import com.google.cloud.securitycenter.v2.Finding.Mute;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import com.google.cloud.securitycenter.v2.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/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/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.
    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

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_v2

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

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

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 padre
  • LOCATION: la posizione di Security Command Center in cui riattivare la notifica del problema; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • SOURCE_ID: l'ID numerico dell'origine

    Per istruzioni su come recuperare un ID origine, consulta Recuperare l'ID origine.

  • FINDING_ID: l'ID del problema 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 per i risultati è impostato su UNMUTED.

Rimuovere l'override dello stato di disattivazione dai singoli risultati

Applichi un override dello stato di disattivazione quando modifichi intenzionalmente lo stato di disattivazione di un risultato per disattivarlo o riattivarlo in modo statico. Ad esempio, potresti voler applicare una sostituzione dello stato di disattivazione per nascondere un risultato di gravità bassa per il quale non vale la pena creare una regola di disattivazione dinamica.

Puoi rimuovere l'override dello stato di disattivazione di un singolo risultato utilizzando la console Google Cloud , la gcloud CLI o l'API Security Command Center.

Prima di rimuovere l'override dello stato di disattivazione da un risultato, tieni presente quanto segue:

  • Un risultato ha un override dello stato di disattivazione se è disattivato o riattivato in modo statico. Puoi applicare l'override di uno stato di disattivazione a qualsiasi risultato manualmente o automaticamente con regole di disattivazione statiche.
  • L'override dello stato di disattivazione si applica a un risultato per un periodo di tempo indefinito e ha la priorità su qualsiasi regola di disattivazione corrispondente.
  • La rimozione dell'override dello stato di disattivazione da un risultato reimposta lo stato di disattivazione del risultato in modo che possa essere elaborato da regole di disattivazione statiche o dinamiche.
  • La rimozione dell'override dello stato di disattivazione da un risultato è diversa dalla riattivazione di un risultato. Quando riattivi un risultato (applichi una sostituzione della disattivazione), le regole di disattivazione non possono disattivare quel risultato finché non hai rimosso manualmente la sostituzione dello stato di disattivazione.

Per rimuovere l'override della disattivazione dell'audio da un singolo risultato:

Console

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

    Vai a Risultati

  2. Seleziona il tuo progetto o la tua organizzazione Google Cloud .

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

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

    mute="MUTED" OR mute="UNMUTED"
  5. Fai clic su Applica. I risultati nel riquadro Risultati query sui risultati vengono aggiornati in modo da includere i risultati disattivati e riattivati staticamente.

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

  7. Seleziona la casella di controllo accanto al problema che vuoi reimpostare. Puoi selezionare uno o più risultati.

  8. Nella barra delle azioni Risultati della query sui risultati, fai clic su Opzioni di disattivazione e poi seleziona Rimuovi override di disattivazione.

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

In alternativa, puoi riattivare l'audio di un risultato dal relativo riquadro dei dettagli:

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

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per impostare lo stato di disattivazione di un problema su UNDEFINED, utilizza il comando set-mute in gcloud CLI:

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

    Sostituisci quanto segue:

    • FINDING_ID: l'ID del problema che vuoi reimpostare

      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 principale (project, folder o organization), sensibile alle maiuscole

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

    • LOCATION: la posizione di Security Command Center in cui rimuovere l'override dello stato di disattivazione di un risultato; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global

    • SOURCE_ID: l'ID origine

      Per istruzioni su come recuperare un ID origine, consulta Recuperare l'ID origine.

REST

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

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

{
  "mute": "UNDEFINED"
}

Sostituisci quanto segue:

  • PARENT: la risorsa padre (organizations, folders o projects)
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre
  • LOCATION: la posizione di Security Command Center in cui rimuovere l'override dello stato di disattivazione di un risultato; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global
  • SOURCE_ID: l'ID numerico dell'origine

Java


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

public class SetMuteUndefinedFinding {

  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}";
    setMuteUndefined(findingPath);
  }

  // Reset mute state of an individual finding.
  // If a finding is already reset, resetting it again has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE/UNDEFINED.
  public static Finding setMuteUndefined(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.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

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

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

Disattivare o reimpostare più risultati esistenti

Puoi eseguire le seguenti operazioni di disattivazione collettiva per più risultati esistenti utilizzando il comando gcloud scc findings bulk-mute gcloud CLI o il metodo bulkMute dell'API Security Command Center:

  • Disattivare più risultati esistenti. La disattivazione in blocco dei risultati esistenti li disattiva staticamente e sostituisce qualsiasi regola di disattivazione dinamica che si applica al risultato. Se devi disattivare risultati futuri simili, crea una regola di disattivazione.

  • Rimuovi l'override dello stato di disattivazione su più risultati esistenti. Se rimuovi l'override dello stato di disattivazione di un risultato, reimposti lo stato di disattivazione da MUTED (disattivato staticamente) o UNMUTED (riattivato staticamente) a UNDEFINED. Questa funzionalità può essere utile se esegui la migrazione dalle regole di disattivazione statiche a quelle dinamiche.

Specifica l'insieme di risultati che devi disattivare definendo un filtro dei risultati. I filtri di disattivazione collettiva non supportano tutte le proprietà dei risultati. Per un elenco delle proprietà non supportate, vedi 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 della località di Security Command Center in cui vengono eseguite.

Per codice campione che disattiva collettivamente i risultati, vedi Disattivare collettivamente i risultati.

Per disattivare o reimpostare i risultati in blocco, fai clic sulla scheda relativa alla procedura che vuoi utilizzare:

Console

Nella console Google Cloud , puoi disattivare in blocco i risultati solo creando regole di disattivazione. Nella console Google Cloud , la creazione di regole di disattivazione silenzia i risultati esistenti e futuri.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

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

    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 numerico dell'organizzazione, della cartella o del progetto padre oppure l'ID alfanumerico del progetto padre.
    • LOCATION: la posizione di Security Command Center in cui disattivare o reimpostare i risultati in blocco; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global.
    • FILTER: l'espressione che definisci per filtrare i risultati.

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

    • MUTE_STATE: il valore che indica se il risultato è disattivato staticamente o meno. I valori validi sono MUTED e UNDEFINED. Per impostazione predefinita, il valore è impostato su MUTED. Imposta questo valore su UNDEFINED solo se stai reimpostando lo stato di disattivazione di più risultati esistenti.

REST

Nell'API Security Command Center, utilizza il metodo findings.bulkMute per disattivare o reimpostare lo stato di disattivazione di più risultati esistenti. Il corpo della richiesta contiene l'espressione utilizzata per filtrare i risultati:

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

{
  "filter": "FILTER",
  "muteState": "MUTE_STATE"
}

Sostituisci quanto segue:

  • PARENT: la risorsa padre (organizations, folders o projects).
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre.
  • LOCATION: la posizione di Security Command Center in cui disattivare o reimpostare i risultati in blocco; se la residenza dei dati è abilitata, utilizza eu, ksa o us; altrimenti, utilizza il valore global.
  • FILTER: l'espressione che definisci per filtrare i risultati.

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

  • MUTE_STATE: il valore che indica se la scoperta è disattivata o meno. I valori validi sono MUTED o UNDEFINED. Il valore è impostato su MUTED per impostazione predefinita. Imposta questo valore su UNDEFINED solo se stai reimpostando lo stato di disattivazione di più risultati esistenti.

Tutti i risultati esistenti nella risorsa selezionata e che corrispondono esattamente al filtro vengono 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é non vengono risolte le vulnerabilità, le configurazioni errate o le minacce sottostanti.

Visualizzare i risultati disattivati nella console Google Cloud

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

Ad esempio, la seguente query sui risultati mostra solo i risultati attivi che sono disattivati:

state="ACTIVE"
AND mute="MUTED"

Per visualizzare tutti i risultati attivi, sia disattivati sia non disattivati, ometti l'attributo mute dalla query:

state="ACTIVE"

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

Visualizzare i risultati disattivati per tipo di regola di disattivazione

Le sezioni seguenti descrivono come eseguire query sui risultati attivi in base al tipo di regola di disattivazione.

Per ulteriori informazioni sull'elenco di risultati specifici, vedi Filtrare i risultati.

Risultati della query disattivati dalle regole di disattivazione statica

Per visualizzare i risultati attivi disattivati da una regola di disattivazione statica dopo un periodo di tempo specificato, utilizza la seguente query e controlla l'attributo muteInitiator per determinare se il risultato è stato disattivato da una regola di disattivazione statica.

state="ACTIVE" AND
muteInfo.staticMute.applyTime>=TIMESTAMP AND
muteInfo.staticMute.state="MUTED"

Sostituisci TIMESTAMP con la stringa di data/ora che indica l'inizio del periodo di tempo per cui vuoi eseguire la query. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes.

Risultati delle query disattivati dalle regole di disattivazione dinamica

Per visualizzare i risultati attivi che sono stati disattivati da una regola di disattivazione dinamica dopo un periodo di tempo specificato, utilizza la seguente query:

state="ACTIVE" AND
muteUpdateTime>=TIMESTAMP AND
contains(muteInfo.dynamicMuteRecords, muteConfig="PARENT_ID/muteConfigs/CONFIG_ID")

Sostituisci quanto segue:

  • TIMESTAMP: la stringa di data/ora che indica l'inizio del periodo di tempo per cui vuoi eseguire la query. Per informazioni sui formati dell'ora, vedi gcloud topic datetimes.
  • PARENT_ID: l'ID dell'organizzazione, della cartella o del progetto padre, specificato nel formato organizations/123, folders/456 o projects/789.
  • 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.

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

Trovare proprietà relative alla disattivazione dell'audio

Questa sezione elenca le proprietà dei risultati correlate allo stato di disattivazione di un risultato e descrive il loro impatto sulle operazioni di disattivazione:

  • mute: impostato su UNDEFINED quando vengono creati risultati e modifiche negli scenari seguenti:
    • MUTED: un risultato viene disattivato manualmente o da una regola di disattivazione.
    • UNMUTED: un utente riattiva la notifica di un risultato.
  • muteUpdateTime: l'ora in cui un risultato viene disattivato o riattivato.
  • muteInitiator: l'identificatore della regola principale o di disattivazione che ha disattivato un risultato.
  • muteInfo: informazioni sulla disattivazione del risultato, ad esempio il tipo di regola di disattivazione (statica o dinamica) e le regole di disattivazione a cui corrisponde il risultato.
  • muteInfo.staticMute: uno stato di disattivazione statica sostituisce qualsiasi regola di disattivazione dinamica che si applica a questo risultato.
    • state: uno stato di disattivazione statica che può essere impostato disattivando direttamente il risultato o una regola di disattivazione statica.
    • applyTime: ora in cui lo stato di disattivazione dell'audio statico è stato applicato al risultato.
  • muteInfo.dynamicMuteRecords: Il record di una regola di disattivazione dinamica che corrisponde al risultato.
    • muteConfig: il nome della risorsa relativa della regola di disattivazione, rappresentato dalla configurazione di disattivazione che ha creato il record. Ad esempio, organizations/123/muteConfigs/examplemuteconfig.
    • matchTime: ora in cui una regola di disattivazione dinamica ha corrisposto al risultato.

Interrompere le notifiche e le esportazioni dei risultati disattivati

Se attivi le notifiche sui risultati, i risultati silenziati 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 notifiche solo per i risultati attivi che non sono disattivati o per i quali l'attributo di disattivazione non è stato impostato:

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

Passaggi successivi

Scopri di più sul filtraggio delle notifiche dei risultati.

Consulta altri esempi di filtri che puoi utilizzare.