Ignorer les résultats individuels

Ce document explique comment ignorer statiquement des résultats individuels, les réactiver ou les ignorer de manière groupée dans Security Command Center.

Rôles requis

Pour obtenir les autorisations nécessaires pour activer ou désactiver le son des résultats, demandez à votre administrateur de vous accorder les rôles IAM suivants sur l'organisation, le dossier ou le projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Ignorer un résultat individuel

Vous pouvez désactiver statiquement un résultat individuel à l'aide de la consoleGoogle Cloud , de gcloud CLI ou de l'API Security Command Center.

Le fait de masquer statiquement un résultat n'a aucune incidence sur son état (actif ou non). Si un résultat actif est ignoré, l'attribut state reste inchangé : state="ACTIVE". Le résultat est masqué, mais reste actif jusqu'à ce que la faille, la configuration incorrecte ou la menace sous-jacente soient résolues. De plus, en ignorant statiquement un résultat, vous remplacez toutes les règles Ignorer dynamiques qui s'appliquent à ce résultat.

La désactivation d'un résultat de combinaison toxique clôture la demande de combinaison toxique correspondante.

Pour ignorer tous les futurs résultats correspondant aux critères que vous spécifiez, consultez Gérer les règles Ignorer.

Pour obtenir un exemple de code permettant de désactiver un résultat, consultez Désactiver un résultat.

Pour ignorer un résultat individuel de manière statique, cliquez sur l'onglet de la procédure que vous souhaitez utiliser :

Console

  1. Dans la console Google Cloud , accédez à la page Résultats de Security Command Center.

    Accéder

  2. Si nécessaire, sélectionnez votre projet ou votre organisation. Google Cloud
  3. Si le résultat que vous souhaitez ignorer ne s'affiche pas dans le panneau Résultats de la requête de résultats, sélectionnez la catégorie du résultat dans la section Catégorie du panneau Filtres rapides.
  4. Sélectionnez le résultat à masquer. Vous pouvez sélectionner un ou plusieurs résultats.
  5. Dans la barre d'action Résultats de la requête de résultat, cliquez sur Options Ignorer, puis sélectionnez Appliquer le remplacement Ignorer.

    L'attribut mute des résultats sélectionnés est défini sur MUTED, et le résultat est supprimé du panneau Résultats de la requête. Vous pouvez également ignorer un résultat depuis son panneau d'informations :

  6. Dans le panneau Résultats de la requête de résultats de la page Résultats, dans la colonne Catégorie, cliquez sur le nom d'un résultat individuel. Le panneau de détails du résultat s'ouvre.

  7. Cliquez sur Passez à l'action.

  8. Dans le menu Passez à l'action, sélectionnez Appliquer une dérogation de désactivation du son.

    Si vous sélectionnez plutôt Ignorer les résultats comme celui-ci, la page Créer une règle de blocage s'ouvre. Vous pouvez y créer une règle de blocage pour les résultats du même type ou qui incluent le même attribut Indicator.

gcloud

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Pour définir l'état de blocage d'un résultat sur MUTED, utilisez la commande set-mute dans gcloud CLI  :

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

    Remplacez les éléments suivants :

    • FINDING_ID : ID du résultat que vous souhaitez ignorer.

      Pour récupérer les ID de résultats, utilisez l'API Security Command Center afin de répertorier les résultats. L'ID de résultat est la dernière partie de l'attribut canonicalName, par exemple projects/123456789012/sources/1234567890123456789/findings`/5ee30aa342e799e4e1700826de053aa9.

    • PARENT : ressource parente (project, folder ou organization), sensible à la casse

    • PARENT_ID : ID de l'organisation, du dossier ou du projet parent

    • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.

    • SOURCE_ID : ID de la source

      Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez Obtenir l'ID d'une source.

Go

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

Dans l'API Security Command Center, utilisez la méthode findings.setMute pour désactiver un résultat. Le corps de la requête est une énumération qui indique l'état de blocage résultant :

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

{
  "mute": "MUTED"
}

Remplacez les éléments suivants :

  • PARENT : ressource parente (organizations, folders ou projects).
  • PARENT_ID : ID de l'organisation, du dossier ou du projet parent.
  • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
  • SOURCE_ID : ID numérique de la source.

    Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez Obtenir l'ID d'une source.

  • FINDING_ID : ID du résultat que vous souhaitez ignorer.

    Pour récupérer les ID de résultats, utilisez l'API Security Command Center afin de répertorier les résultats. L'ID de résultat est la dernière partie de l'attribut canonicalName, par exemple projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Une fois que vous avez désactivé un résultat, son attribut mute est défini sur MUTED.

Réactiver les résultats individuels

Vous pouvez désactiver le son de manière statique pour un résultat individuel à l'aide de la console Google Cloud , de gcloud CLI ou de l'API Security Command Center.

La réactivation d'un résultat est utile lorsque vous devez empêcher qu'il soit masqué par une règle Ignorer trop large ou par une règle qui pourrait être trop complexe à modifier pour exclure les résultats que vous jugez importants.

Les résultats réactivés ne sont à nouveau ignorés que s'ils sont ignorés manuellement. Les règles de blocage créées avec gcloud CLI ou l'API Security Command Center n'affectent pas les résultats obtenus par les utilisateurs.

Pour obtenir un exemple de code permettant de réactiver le son d'un résultat, consultez Réactiver le son d'un résultat.

Console

Pour réactiver un résultat individuel à l'aide de la console Google Cloud , cliquez sur l'onglet correspondant à votre niveau de service :

  1. Dans la console Google Cloud , accédez à la page Résultats de Security Command Center.

    Accéder

  2. Si nécessaire, sélectionnez votre projet ou votre organisation. Google Cloud La page Résultats s'ouvre avec la requête par défaut affichée dans la section Aperçu de la requête. La requête par défaut filtre les résultats ignorés. Vous devez donc la modifier pour que ces résultats s'affichent dans le panneau Résultats de la requête de résultats.
  3. À droite de la section Aperçu de la requête, cliquez sur Modifier la requête pour ouvrir l'éditeur de requête.
  4. Dans le champ Éditeur de requête, remplacez l'instruction de désactivation existante par la suivante :
    mute="MUTED"
  5. Cliquez sur Appliquer. Les résultats du panneau Résultats de la requête de résultat sont mis à jour pour n'inclure que les résultats ignorés.
  6. Si nécessaire, filtrez les autres résultats mis en sourdine. Par exemple, dans le panneau Filtres rapides sous Catégorie, sélectionnez le nom du résultat que vous devez réactiver pour filtrer toutes les autres catégories de résultats.
  7. Sélectionnez le résultat que vous souhaitez réactiver. Vous pouvez sélectionner un ou plusieurs résultats.
  8. Dans la barre d'action Résultats de la requête de résultat, cliquez sur Options Ignorer, puis sélectionnez Appliquer la réactivation. L'attribut mute des résultats sélectionnés est défini sur UNMUTED, et le résultat est supprimé du panneau Résultats de la requête. Vous pouvez également réactiver un résultat depuis son panneau d'informations :
  9. Dans le panneau Résultats de la requête de résultats de la page Résultats, dans la colonne Catégorie, cliquez sur le nom d'un résultat individuel. Le panneau de détails du résultat s'ouvre.
  10. Cliquez sur Passez à l'action.
  11. Dans le menu Passez à l'action, sélectionnez Appliquer une désactivation de la mise en sourdine.

gcloud

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Pour définir l'état de blocage d'un résultat sur UNMUTED, utilisez la commande set-mute dans gcloud CLI  :

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

    Remplacez les éléments suivants :

    • FINDING_ID : ID du résultat que vous souhaitez ignorer.

      Pour récupérer les ID de résultats, utilisez l'API Security Command Center afin de répertorier les résultats. L'ID de résultat est la dernière partie de l'attribut canonicalName, par exemple projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT : ressource parente (project, folder ou organization), sensible à la casse

    • PARENT_ID : ID de l'organisation, du dossier ou du projet parent

    • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.

    • SOURCE_ID : ID de la source

      Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez Obtenir l'ID d'une source.

Go


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

Dans l'API Security Command Center, utilisez la méthode findings.setMute pour réactiver un résultat. Le corps de la requête est une énumération qui indique l'état de blocage résultant :

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

{
  "mute": "UNMUTED"
}

Remplacez les éléments suivants :

  • PARENT : ressource parente (organizations, folders ou projects)
  • PARENT_ID : ID de l'organisation, du dossier ou du projet parent
  • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
  • SOURCE_ID : ID numérique de la source

    Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez Obtenir l'ID d'une source.

  • FINDING_ID : ID du résultat que vous souhaitez ignorer.

    Pour récupérer les ID de résultats, utilisez l'API Security Command Center afin de répertorier les résultats. L'ID de résultat est la dernière partie de l'attribut canonicalName, par exemple projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Les résultats sélectionnés ne sont plus masqués et l'attribut mute des résultats est défini sur UNMUTED.

Supprimer l'état de blocage des résultats individuels

Vous appliquez un remplacement de l'état de désactivation lorsque vous modifiez intentionnellement l'état de désactivation d'un résultat pour le désactiver ou le réactiver de manière statique. Par exemple, vous pouvez appliquer un remplacement de l'état "Ignorer" pour masquer un résultat de faible gravité pour lequel il n'est pas utile de créer une règle Ignorer dynamique.

Vous pouvez supprimer un remplacement de l'état de mise en sourdine d'un résultat individuel à l'aide de la console Google Cloud , de gcloud CLI ou de l'API Security Command Center.

Avant de supprimer le remplacement de l'état de désactivation d'un résultat, prenez en compte les points suivants :

  • Un résultat est associé à un état de désactivation si son son est statiquement coupé ou réactivé. Vous pouvez remplacer l'état "Ignorer" de n'importe quel résultat manuellement ou automatiquement à l'aide de règles de blocage statiques.
  • Une modification de l'état de blocage s'applique à un résultat indéfiniment et prévaut sur toute règle de blocage correspondante.
  • Si vous supprimez l'état Ignorer d'un résultat, l'état Ignorer de ce résultat est réinitialisé afin qu'il puisse être traité par des règles Ignorer statiques ou dynamiques.
  • Supprimer l'état de remplacement de la désactivation d'un résultat est différent de la réactivation d'un résultat. Lorsque vous réactivez un résultat (en appliquant une réactivation), les règles de blocage ne peuvent pas le bloquer tant que vous n'avez pas supprimé manuellement la réactivation.

Pour supprimer le remplacement de la mise en sourdine d'un résultat individuel, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Résultats de Security Command Center.

    Accéder

  2. Sélectionnez votre projet ou votre organisation Google Cloud .
  3. À droite de la section Aperçu de la requête, cliquez sur Modifier la requête pour ouvrir l'éditeur de requête.
  4. Dans le champ Éditeur de requête, remplacez l'instruction de désactivation existante par la suivante :
    mute="MUTED" OR mute="UNMUTED"
  5. Cliquez sur Appliquer. Les résultats du panneau Résultats de la requête sont mis à jour pour inclure les résultats statiquement ignorés et réactivés.
  6. Si nécessaire, filtrez les autres résultats. Par exemple, dans le panneau Filtres rapides sous Catégorie, sélectionnez le nom du résultat que vous devez réinitialiser pour filtrer toutes les autres catégories de résultats.
  7. Sélectionnez le résultat que vous souhaitez réinitialiser. Vous pouvez sélectionner un ou plusieurs résultats.
  8. Dans la barre d'action Résultats de la requête sur les conclusions, cliquez sur Options de blocage, puis sélectionnez Supprimer les remplacements de blocage. L'attribut mute des résultats sélectionnés est défini sur UNDEFINED, et le résultat est supprimé du panneau Résultats de la requête. Vous pouvez également réactiver un résultat depuis son panneau d'informations :
  9. Dans le panneau Résultats de la requête de résultats de la page Résultats, dans la colonne Catégorie, cliquez sur le nom d'un résultat individuel. Le panneau de détails du résultat s'ouvre.
  10. Cliquez sur Passez à l'action.
  11. Dans le menu Passez à l'action, sélectionnez Supprimer les remplacements de la mise en sourdine.

gcloud

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Pour définir l'état de blocage d'un résultat sur UNDEFINED, utilisez la commande set-mute dans gcloud CLI  :

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

    Remplacez les éléments suivants :

    • FINDING_ID : ID du résultat que vous souhaitez réinitialiser.

      Pour récupérer les ID de résultats, utilisez l'API Security Command Center afin de répertorier les résultats. L'ID de résultat est la dernière partie de l'attribut canonicalName, par exemple projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT : ressource parente (project, folder ou organization), sensible à la casse

    • PARENT_ID : ID de l'organisation, du dossier ou du projet parent

    • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.

    • SOURCE_ID : ID de la source

      Pour obtenir des instructions sur la manière de récupérer l'ID d'une source, consultez la section Obtenir l'ID d'une source.

REST

Dans l'API Security Command Center, utilisez la méthode findings.setMute pour réinitialiser l'état de désactivation d'un résultat. Le corps de la requête est une énumération qui indique l'état de blocage résultant :

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

{
  "mute": "UNDEFINED"
}

Remplacez les éléments suivants :

  • PARENT : ressource parente (organizations, folders ou projects)
  • PARENT_ID : ID de l'organisation, du dossier ou du projet parent
  • LOCATION : emplacement Security Command Center dans lequel ignorer ou réactiver les résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
  • SOURCE_ID : ID numérique de la source

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;
    }
  }
}

Mettre en veille ou réinitialiser plusieurs résultats existants

Vous pouvez effectuer les opérations de désactivation groupée suivantes pour plusieurs résultats existants à l'aide de la commande gcloud CLI gcloud scc findings bulk-mute ou de la méthode bulkMute de l'API Security Command Center :

  • Vous ignorez plusieurs résultats existants. Si vous ignorez des résultats existants de manière groupée, ils seront ignorés de manière statique, ce qui remplacera toutes les règles Ignorer dynamiques qui s'appliquent à ces résultats. Si vous devez ignorer des résultats futurs similaires, créez une règle de blocage.

  • Supprimez le remplacement de l'état "Ignoré" sur plusieurs résultats existants. En supprimant l'état de remplacement "Ignorer" d'un résultat, vous réinitialisez l'état "Ignorer" de MUTED (ignoré statiquement) ou UNMUTED (réactivé statiquement) à UNDEFINED. Cette fonctionnalité peut être utile si vous migrez des règles de mise en sourdine statiques vers des règles dynamiques.

Spécifiez l'ensemble des résultats que vous devez ignorer en définissant un filtre de résultats. Les filtres de désactivation groupée ne sont pas compatibles avec toutes les propriétés de résultats. Pour obtenir la liste des propriétés non compatibles, consultez Propriétés de résultats non compatibles avec les règles de blocage.

Si la résidence des données est activée pour Security Command Center, les opérations de mise en sourdine groupée sont limitées à l'emplacement Security Command Center dans lequel elles sont exécutées.

Pour obtenir un exemple de code permettant d'ignorer les résultats de manière groupée, consultez Ignorer les résultats de manière groupée.

Pour mettre en sourdine ou réinitialiser des résultats de manière groupée, cliquez sur l'onglet de la procédure que vous souhaitez utiliser :

Console

Dans la console Google Cloud , vous ne pouvez désactiver les résultats de manière groupée qu'en créant des règles de blocage. Dans la consoleGoogle Cloud , la création de règles de blocage désactive les résultats existants et futurs.

gcloud

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Pour désactiver ou réinitialiser plusieurs résultats de manière groupée, exécutez la commande gcloud scc findings bulk-mute :

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

    Remplacez les éléments suivants :

    • PARENT : champ d'application dans la hiérarchie des ressources auquel la règle Ignorer s'applique (organization, folder ou project).
    • PARENT_ID : ID numérique de l'organisation, du dossier ou du projet parent, ou ID alphanumérique du projet parent.
    • LOCATION : emplacement Security Command Center dans lequel activer ou désactiver le son des résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
    • FILTER : expression que vous définissez pour filtrer les résultats.

      Par exemple, pour ignorer tous les résultats OPEN_FIREWALL et PUBLIC_IP_ADDRESS existants de faible gravité dans le projet internal-test, votre filtre peut être "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

    • MUTE_STATE : valeur qui indique si le résultat est statiquement ignoré ou non. Les valeurs valides sont MUTED et UNDEFINED. La valeur est définie sur MUTED par défaut. Ne définissez cette valeur sur UNDEFINED que si vous réinitialisez l'état de désactivation du son de plusieurs résultats existants.

REST

Dans l'API Security Command Center, utilisez la méthode findings.bulkMute pour désactiver ou réinitialiser l'état de désactivation de plusieurs résultats existants. Le corps de la requête contient l'expression utilisée pour filtrer les résultats :

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

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

Remplacez les éléments suivants :

  • PARENT : ressource parente (organizations, folders ou projects).
  • PARENT_ID : ID de l'organisation, du dossier ou du projet parent.
  • LOCATION : emplacement Security Command Center dans lequel activer ou désactiver le son des résultats. Si la résidence des données est activée, utilisez eu, sa ou us. Sinon, utilisez la valeur global.
  • FILTER : expression que vous définissez pour filtrer les résultats.

    Par exemple, pour ignorer tous les résultats OPEN_FIREWALL et PUBLIC_IP_ADDRESS existants de faible gravité dans le projet internal-test, votre filtre peut être "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

  • MUTE_STATE : valeur qui indique si le résultat est ignoré ou non. Les valeurs valides sont MUTED ou UNDEFINED. La valeur est définie sur MUTED par défaut. Ne définissez cette valeur sur UNDEFINED que si vous réinitialisez l'état de désactivation du son de plusieurs résultats existants.

Tous les résultats existants de la ressource que vous sélectionnez et qui correspondent exactement au filtre sont masqués. L'attribut mute des résultats est défini sur MUTED.

La désactivation de résultats ne modifie pas leur état. Si les résultats actifs sont ignorés, ils sont masqués, mais restent actifs jusqu'à ce que les failles sous-jacentes, les erreurs de configuration ou les menaces soient résolues.

Afficher les résultats ignorés dans la console Google Cloud

Vous pouvez afficher les résultats désactivés dans la console Google Cloud en modifiant la requête de résultat pour sélectionner les résultats qui incluent la valeur de propriété mute="MUTED".

Par exemple, la requête de résultats suivante n'affiche que les résultats actifs qui sont ignorés :

state="ACTIVE"
AND mute="MUTED"

Pour afficher tous les résultats actifs, qu'ils soient ignorés ou non, supprimez complètement l'attribut mute de la requête :

state="ACTIVE"

Par défaut, la requête de résultats dans la console Google Cloud n'affiche que les résultats qui ne sont pas mis en sourdine.

Afficher les résultats ignorés par type de règle Ignorer

Les sections suivantes décrivent comment interroger les résultats actifs par type de règle de blocage.

Pour en savoir plus sur la liste des résultats spécifiques, consultez Filtrer les résultats.

Résultats de requête ignorés par des règles Ignorer statiques

Pour afficher les résultats actifs qui ont été désactivés par une règle de blocage statique après une période spécifiée, utilisez la requête suivante et examinez l'attribut muteInitiator pour déterminer si le résultat a été désactivé par une règle de blocage statique.

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

Remplacez TIMESTAMP par la chaîne de date et d'heure qui indique le début de la période que vous souhaitez interroger. Pour en savoir plus sur les formats de date et d'heure, consultez gcloud topic datetimes.

Résultats de requête désactivés par des règles Ignorer dynamiques

Pour afficher les résultats actifs qui ont été mis en sourdine par une règle de mise en sourdine dynamique après une période spécifiée, utilisez la requête suivante :

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

Remplacez les éléments suivants :

  • TIMESTAMP : chaîne de date et d'heure indiquant le début de la période sur laquelle vous souhaitez interroger. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.
  • PARENT_ID : ID de l'organisation, du dossier ou du projet parent, spécifié au format organizations/123, folders/456 ou projects/789.
  • CONFIG_ID : nom de la règle Ignorer. L'ID doit comporter entre 1 et 63 caractères alphanumériques et traits d'union.

Pour en savoir plus sur la modification des requêtes de résultats, consultez Créer ou modifier une requête de résultats dans le tableau de bord.

Arrêter les notifications et les exportations des résultats ignorés

Si vous activez les notifications de résultats, les résultats ignorés nouveaux ou modifiés qui correspondent à vos filtres de notification sont toujours exportés vers Pub/Sub.

Pour arrêter les exportations et les notifications concernant les résultats ignorés, utilisez l'attribut mute afin d'exclure les résultats ignorés dans votre filtre NotificationConfig. Par exemple, le filtre suivant n'envoie de notification que pour les résultats actifs qui ne sont pas ignorés ou pour lesquels l'attribut de désactivation n'a pas été défini :

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