Ignorer les résultats individuels

Ce document explique comment masquer ou réactiver des résultats individuels de manière statique, ou comment masquer des résultats 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, l'erreur de configuration ou la menace sous-jacente soit résolue. 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 résultats futurs correspondant aux critères que vous spécifiez, consultez Gérer les règles Ignorer.

Pour obtenir un exemple de code permettant d'ignorer un résultat, consultez Ignorer un résultat.

Pour désactiver statiquement un résultat individuel, 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 vous ne voyez pas le résultat que vous devez ignorer 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 que vous devez 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 bloquer un résultat depuis son panneau d'informations :

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

  7. Cliquez sur Passez à l'action.

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

    Si vous sélectionnez 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 des résultats, utilisez l'API Security Command Center pour lister 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 savoir comment récupérer un ID de 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 désactivation du son :

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 savoir comment récupérer un ID de source, consultez Obtenir l'ID d'une source.

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

    Pour récupérer les ID des résultats, utilisez l'API Security Command Center pour lister 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.

Lorsque vous désactivez 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.

Il est utile de réactiver un résultat lorsque vous devez l'empêcher d'être masqué par une règle de blocage 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 Ignorer créées avec gcloud CLI ou l'API Security Command Center n'affectent pas les résultats réactivés par les utilisateurs.

Pour obtenir un exemple de code permettant de réactiver un résultat, consultez Réactiver 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 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 de la découverte que vous devez réactiver pour filtrer toutes les autres catégories de découvertes.
  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 désactivation de la mise en sourdine. 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ésultat de la page Résultats, dans la colonne Catégorie, cliquez sur le nom d'un résultat individuel. Le panneau d'informations du résultat s'ouvre.
  10. Cliquez sur Passez à l'action.
  11. Dans le menu Passez à l'action, sélectionnez Appliquer un remplacement de la désactivation du son.

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 des résultats, utilisez l'API Security Command Center pour lister 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 savoir comment récupérer un ID de 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 désactivation du son :

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 savoir comment récupérer un ID de source, consultez Obtenir l'ID d'une source.

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

    Pour récupérer les ID des résultats, utilisez l'API Security Command Center pour lister 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 le remplacement de l'état de désactivation pour des résultats individuels

Vous appliquez un é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, tenez compte des 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 Ignorer 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 le forçage de 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 la modification de l'état de blocage d'un résultat n'est pas la même chose que le réactiver. Lorsque vous réactivez un résultat (en appliquant un forçage de réactivation), les règles Ignorer ne peuvent pas ignorer ce résultat tant que vous n'avez pas supprimé manuellement le forçage de l'état de réactivation.

Pour supprimer la désactivation du son d'un résultat individuel :

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 de résultat 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 de la découverte que vous devez réinitialiser pour filtrer toutes les autres catégories de découvertes.
  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 de résultat, cliquez sur Options Ignorer, puis sélectionnez Supprimer les règles de remplacement Ignorer. 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ésultat de la page Résultats, dans la colonne Catégorie, cliquez sur le nom d'un résultat individuel. Le panneau d'informations 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 désactivation du son.

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 désactivation du son :

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

Ignorer ou réinitialiser plusieurs résultats existants

Vous pouvez effectuer les opérations de mise en sourdine 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 :

  • Ignorer plusieurs résultats existants. Si vous ignorez des résultats existants de manière groupée, ils seront ignorés de manière statique. Toutes les règles Ignorer dynamiques qui s'appliquent au résultat seront alors remplacées. Si vous devez ignorer des résultats futurs similaires, créez une règle de blocage.

  • Supprimez le remplacement de l'état "Ignorer" sur plusieurs résultats existants. En supprimant le remplacement de l'état 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 Ignorer 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 désactiver ou réinitialiser les 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 Ignorer 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 ignorer 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 s'applique la règle Ignorer (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 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.
    • 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 problème est mis en sourdine de manière statique 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 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 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.
  • 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 problème est mis en sourdine 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 mis en sourdine :

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 désactivation.

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 désactivation statique après une durée 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 désactivation 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 ignoré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 durée 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 les données. 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 tirets.

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 mis en sourdine 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 mis en sourdine, utilisez l'attribut mute afin d'exclure les résultats mis en sourdine 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\""