Silencia los resultados en Security Command Center

En esta página, se explica cómo silenciar los resultados para reducir el volumen de resultados que recibes en Security Command Center.

Cuando silencias un resultado, se oculta de la vista predeterminada de tus resultados en la consola de Google Cloud. Puedes silenciar los resultados de forma manual o programática, y crear filtros para silenciar de forma automática los resultados existentes y futuros según los criterios que especifiques.

Los servicios de detección de Security Command Center proporcionan evaluaciones de seguridad amplias de tu implementación de Google Cloud, pero es posible que algunos hallazgos no sean apropiados ni relevantes para tu organización o proyectos. Un gran volumen de resultados también puede dificultar a los analistas de seguridad la identificación y solución eficaz de los riesgos más importantes. Silenciar los resultados te permite ahorrar tiempo, ya que no tienes que revisar ni responder a los hallazgos de seguridad de los recursos que están aislados o que se encuentran dentro de los parámetros empresariales aceptables.

Silenciar los resultados tiene varias ventajas en comparación con inhabilitar los detectores:

  • Puedes crear filtros personalizados para definir mejor qué hallazgos se silencian.
  • El silenciamiento de resultados no impide que se analicen los recursos subyacentes. Los resultados se siguen generando, pero permanecen ocultos hasta que decidas verlos.

Permisos

Para silenciar los resultados, necesitas una de las siguientes funciones de Identity and Access Management (IAM) a nivel de organización, carpeta o proyecto:

  • Visualización de las reglas de silenciamiento:
    • Visualizador administrador del centro de seguridad (roles/securitycenter.adminViewer)
    • Visualizador de configuración del centro de seguridad (roles/securitycenter.settingsViewer)
    • Visualizador de parámetros de configuración de elementos silenciados del centro de seguridad (roles/securitycenter.muteConfigsViewer)
  • Visualización, creación, actualización y eliminación de las reglas de silenciamiento:
    • Administrador del centro de seguridad (roles/securitycenter.admin)
    • Editor administrador del centro de seguridad (roles/securitycenter.adminEditor)
    • Editor de configuración del centro de seguridad (roles/securitycenter.settingsEditor)
    • Editor de parámetros de configuración de elementos silenciados del centro de seguridad (roles/securitycenter.muteConfigsEditor)
  • Silenciamiento manual de los resultados:
    • Editor de hallazgos del centro de seguridad (roles/securitycenter.findingsEditor)

También puedes crear y otorgar funciones personalizadas con algunos o todos los siguientes permisos:

  • Permisos de lectura de reglas de silenciamiento
    • securitycenter.muteconfigs.get
    • securitycenter.muteconfigs.list
  • Permisos de escritura de reglas de silenciamiento
    • securitycenter.muteconfigs.create
    • securitycenter.muteconfigs.update
    • securitycenter.muteconfigs.delete
  • Permisos de escritura de hallazgos
    • securitycenter.findings.setMute
    • securitycenter.findings.bulkMuteUpdate

La capacidad de silenciar los resultados se corresponde con las funciones otorgadas a nivel de organización, carpeta o proyecto. Puedes silenciar los resultados en carpetas o proyectos específicos y restringir la capacidad de otros para silenciar los resultados según el acceso que se les otorga. Por ejemplo, si tienes acceso a un solo proyecto, solo puedes silenciar los resultados en ese proyecto. Si tienes acceso a una carpeta, puedes silenciar los resultados en cualquier subcarpeta o proyecto dentro de esa carpeta.

Para obtener más información sobre las funciones de Security Command Center, consulta Control de acceso.

Crea y administra reglas de silenciamiento

Las reglas de silenciamiento son parámetros de configuración de Security Command Center que usan filtros que creas para silenciar de forma automática los resultados futuros según los criterios que especifiques. Los resultados nuevos que coinciden con los filtros de silenciamiento se silencian de forma automática y continua. Si también deseas silenciar resultados similares existentes, usa los mismos filtros para silenciar resultados de forma masiva.

Alcance de las reglas de silencio

Ten en cuenta el permiso de una regla de silencio cuando crees filtros.

Por ejemplo, si se escribe un filtro para silenciar los resultados en Project A, pero el filtro en sí se crea en Project B, es posible que el filtro no coincida con ningún resultado.

De manera similar, si la residencia de datos está habilitada, el permiso de una regla de silencio se limita a la ubicación de Security Command Center en la que se crea la regla de silencio. Por ejemplo, si creas una regla de silencio en la ubicación de los Estados Unidos (us), esta no silenciará los resultados almacenados en las ubicaciones de la Unión Europea (eu) o Global (global). Para obtener más información sobre la residencia de datos y las reglas de silencio, consulta Reglas de silencio, exportaciones continuas y residencia de datos.

Para obtener más información sobre cómo crear filtros, consulta Cómo filtrar notificaciones.

Restricciones de reglas de silencio

Las reglas de silenciamiento no son compatibles con todas las propiedades de los resultados. Para obtener una lista de las propiedades que no son compatibles con las reglas de silenciamiento, consulta Propiedades de resultados no admitidas para las reglas de silenciamiento.

Puedes crear, ver, actualizar y borrar reglas de silencio según el permiso de tus roles de IAM. Con las funciones a nivel de la organización, verás reglas de silenciamiento para todas las carpetas y proyectos de la organización. Si tienes funciones a nivel de carpeta, puedes acceder a las reglas de silenciamiento y administrarlas para carpetas específicas y todos los proyectos y subcarpetas dentro de ellas. Las funciones a nivel de proyecto te permiten administrar las reglas de silenciamiento en proyectos específicos.

Security Command Center Premium permite otorgar funciones a nivel de organización, carpeta y proyecto. La versión estándar de Security Command Center solo admite la asignación de funciones a nivel de organización. Para obtener más información, consulta Guía de control de acceso.

Reglas de residencia de datos y silencio

Si la residencia de datos está habilitada, los parámetros de configuración que definen reglas de silencio (recursos muteConfig) están sujetas al control de residencia de datos y se almacenan en una ubicación de Security Command Center que selecciones.

Para aplicar una regla de silencio a los resultados en una ubicación de Security Command Center, debes crear la regla de silencio en la misma ubicación que los resultados a los que se aplica.

Debido a que los filtros que se usan en las reglas de silencio pueden contener datos que están sujetos a controles de residencia, asegúrate de especificar la ubicación correcta antes de crearlos. Security Command Center no restringe la ubicación en la que creas las reglas de silencio o las exportaciones de transmisiones.

Las reglas de silencio se almacenan solo en la ubicación en la que se crean y no se pueden ver ni editar en otras ubicaciones.

Después de crear una regla de silencio, no puedes cambiar su ubicación. Para cambiar la ubicación, debes borrar la regla de silencio y volver a crearla en la ubicación nueva.

Para ver las reglas de silencio en la consola de Google Cloud, primero debes configurar la vista de la consola de Google Cloud en la ubicación en la que se crearon.

Las mismas reglas se aplican a la representación de la API de una regla de silencio, MuteConfig.

Para recuperar un MuteConfig mediante llamadas a la API, debes especificar la ubicación en el nombre completo del recurso de MuteConfig. Por ejemplo:

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

Del mismo modo, para recuperar una muteConfig mediante gcloud CLI, puedes especificar la ubicación con la marca --locations. Por ejemplo:

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

Crea una regla de silenciamiento

Tu organización puede crear un máximo de 1,000 reglas de silenciamiento.

Puedes crear una regla de silencio con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Para ver un código de muestra que crea una regla de silencio, consulta Crea una regla de silencio.

Para crear una regla de silencio, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la página Hallazgos de Security Command Center.

    Ir a hallazgos

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud.

    Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación que se encuentra justo debajo del selector de proyecto para elegir la ubicación de Security Command Center en la que se creará la regla de silenciamiento. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. Haz clic en Opciones de silencio y, luego, selecciona Crear regla de silencio.

  5. Ingresa un ID de regla de silenciamiento. Es obligatorio ingresar este valor.

  6. Ingresa una descripción de la regla de silenciamiento que proporcione contexto de los motivos por los que se silencian los resultados. Este valor es opcional, pero se recomienda.

    El recurso superior indica el alcance con el que se creará y aplicará la regla de silenciamiento.

  7. En el campo Consulta de resultados, haz clic en Agregar filtro para crear tus instrucciones de consulta. También puedes escribir las instrucciones de la consulta de forma manual.

    El diálogo Seleccionar filtro te permite elegir atributos y valores admitidos de resultados. Diálogo de filtro de consulta

    1. Selecciona un atributo de resultado o escribe su nombre en el cuadro Buscar atributos de resultado. Aparecerá una lista de los atributos secundarios disponibles.
    2. Selecciona un atributo secundario. Se mostrará un campo de selección para las opciones de evaluación sobre una lista de los valores de los atributos secundarios que se encuentran en los hallazgos del panel Resultados de la búsqueda.
    3. Selecciona una opción de evaluación para los valores del atributo secundario seleccionado. Para obtener más información sobre las opciones de evaluación y los operadores y las funciones que usan, consulta Operadores de consulta en el menú Agregar filtros.
    4. Selecciona Apply (Apply).

      Se cerrará el cuadro de diálogo y se actualizará tu consulta.

    5. Repite hasta que la consulta de los resultados contenga todos los atributos que deseas.

  8. Revisa el filtro para ver si es preciso. Para realizar cambios, borra o agrega propiedades y filtra los valores según sea necesario.

  9. Haz clic en Obtener vista previa de los resultados coincidentes.

    En una tabla, se muestran los resultados que coinciden con tu consulta.

  10. Haz clic en Guardar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para crear reglas de silencio, ejecuta el comando gcloud scc muteconfigs create:

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

    Reemplaza lo siguiente:

    • CONFIG_ID: Es el nombre de la regla de silencio. El ID debe usar caracteres alfanuméricos y guiones, y debe tener entre 1 y 63 caracteres.
    • PARENT: Es el permiso en la jerarquía de recursos al que se aplica la regla de silencio, organization, folder o project.
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior, especificado en el formato organizations/123, folders/456 o projects/789.
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se creará la regla de silencio. La configuración de la regla de silencio se almacena y se aplica solo a los hallazgos en esta ubicación.

      Si la residencia de datos no está habilitada, especificar la marca --location crea la regla de silencio con la versión 2 de la API de Security Command Center y el único valor válido para la marca es global.

    • RULE_DESCRIPTION: Es una descripción de la regla de silenciamiento de no más de 1,024 caracteres.

    • FILTER: Es la expresión que defines para filtrar los resultados. Por ejemplo, para silenciar los resultados de OPEN_FIREWALL, tu filtro puede ser FILTER="category=\"OPEN_FIREWALL\"".

    La respuesta incluye el ID de la regla de silencio, que puedes usar para ver, actualizar y borrar reglas de silencio, como se describe en Administra las reglas de silencio.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


import (
	"context"
	"fmt"
	"io"

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

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class CreateMuteRule {

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

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

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.



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

    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

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

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

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

API de REST

En la API de Security Command Center, usa el método muteConfigs create para crear una regla de silencio. El cuerpo de la solicitud es una instancia de MuteConfig.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única disponible.

Si usas la versión 1 de la API de Security Command Center, usa el extremo de la versión 1 para llamar a muteConfigs create. En el cuerpo de la solicitud, usa la definición de MuteConfig 1 de la versión:

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

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo de la versión 2 para llamar a muteConfigs create. En el cuerpo de la solicitud, usa la definición de MuteConfig 2 de la versión:

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

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

Reemplaza lo siguiente:

  • PARENT: El recurso superior de la regla de silenciamiento (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se aplica la regla de silencio. Si se omite el campo de ubicación, el valor predeterminado es global.
  • MUTE_CONFIG_ID: Es el nombre de la regla de silencio (entre 1 y 63 caracteres).
  • RULE_DESCRIPTION: Es una descripción de la regla de silenciamiento (máx.: 1,024 caracteres).
  • FILTER: Es la expresión que defines para filtrar los resultados.

    Por ejemplo, para silenciar los resultados de OPEN_FIREWALL, tu filtro puede ser "category=\"OPEN_FIREWALL\"".

La respuesta incluye el ID de configuración de silenciamiento que puedes usar para ver, actualizar y borrar reglas de silenciamiento, como se describe en Administra reglas de silenciamiento.

Los resultados nuevos que coinciden con exactitud con el filtro se ocultan y el atributo mute de los resultados se establece en MUTED.

Propiedades de búsqueda no admitidas para las reglas de silencio

Las reglas de silencio no admiten todas las propiedades de resultados en los filtros. Las siguientes propiedades no son compatibles con los filtros de reglas de silencio.

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

Muestra una lista de reglas de silenciamiento

Puedes enumerar las reglas de silencio en una organización, carpeta o proyecto con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Tu capacidad para enumerar las reglas de silencio de un permiso determinado depende de los permisos que se otorguen a las funciones de IAM.

Si la residencia de datos está habilitada para Security Command Center, el alcance del comando list también se limita a la ubicación de Security Command Center seleccionada.

Para ver un código de muestra en el que se enumeran las reglas de silencio, consulta Enumera las reglas de silencio.

Para enumerar las reglas de silencio de una organización, carpeta o proyecto, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la pestaña Reglas de silencio en la página Configuración de Security Command Center.

    Ir a Reglas de silencio

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud.

    Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación justo debajo del selector de proyecto a fin de seleccionar la ubicación de Security Command Center en la que se almacena la regla de silencio. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. En la sección Reglas de silencio, puedes ver detalles de las reglas de silencio activas, incluidas las siguientes:

    • Nombre: ID de la regla de silenciamiento
    • Recurso superior: El recurso en el que reside la regla de silenciamiento
    • Descripción: La descripción de la regla de silenciamiento, si está disponible
    • Última actualización por: La principal que actualizó por última vez la regla
    • Última actualización: La fecha y hora en que se actualizó la regla por última vez

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para enumerar las reglas de silencio, ejecuta el comando gcloud scc muteconfigs list:

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

    Reemplaza lo siguiente:

    • PARENT: El elemento superior organization, folder o project para el que se enumeran las reglas de silencio
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se incluirán las reglas de silencio.

      Si la residencia de datos no está habilitada, cuando se especifica la marca --location, se enumeran las reglas de silencio con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class ListMuteRules {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método muteConfigs list para enumerar las reglas de silencio. El cuerpo de la solicitud está vacío.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, usa el extremo v1 para llamar a muteConfigs list:

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar a muteConfigs list:

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

Reemplaza lo siguiente:

  • PARENT: El recurso superior de la regla de silenciamiento (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center para la que se deben enumerar las reglas de silencio. Si se omite el campo de ubicación, el valor predeterminado es global.

La respuesta incluye los nombres, las descripciones y los ID de configuración de silenciamiento de tus reglas de silenciamiento.

Visualiza la configuración de una regla de silencio

Puedes ver la configuración de una regla de silencio con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Para ver un código de muestra que recupera una configuración de reglas de silencio, consulta Visualiza una regla de silencio.

Para ver una configuración de reglas de silencio, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la pestaña Reglas de silencio en la página Configuración de Security Command Center.

    Ir a Reglas de silencio

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud.

    Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación justo debajo del selector de proyecto para seleccionar la ubicación de Security Command Center de la regla de silencio. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. En la sección Reglas de silencio, verás una lista de reglas de silenciamiento.

  5. Haz clic en el nombre de la regla que deseas ver.

    Se abrirá una página con la configuración de la regla de silenciamiento.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para ver la configuración de una regla de silencio, ejecuta el comando gcloud scc muteconfigs get:

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

    Reemplaza lo siguiente:

    • MUTE_CONFIG_ID: El ID de la regla de silencio
    • PARENT: El recurso superior de la regla de silenciamiento (organization, folder o project)
    • PARENT_ID: El ID de la organización, la carpeta o el proyecto
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. El valor predeterminado es global.

      Si la residencia de datos no está habilitada, especificar la marca --location obtiene la regla de silencio con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class GetMuteRule {

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

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

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

    getMuteRule(parentPath, muteConfigId);
  }

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método muteConfigs get para mostrar la configuración de una regla de silencio. El cuerpo de la solicitud está vacío.

Para obtener el CONFIG_ID de una regla de silencio, primero ejecuta una llamada a la API para Enumerar las reglas de silencio. La respuesta incluye los ID de configuración para las reglas de silenciamiento que se muestran.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, usa el extremo v1 para llamar a muteConfigs get:

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar a muteConfigs get:

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

Reemplaza lo siguiente:

  • PARENT: El recurso superior de la regla de silenciamiento (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de ubicación, el valor predeterminado es global.
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento

Actualiza reglas de silenciamiento

Puedes actualizar la descripción o el filtro de búsqueda de una regla de silencio mediante la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

No puedes cambiar el ID, la organización superior, la carpeta o el proyecto, ni la ubicación de una regla de silencio. Para cambiar cualquiera de estos valores, debes crear una nueva regla de silencio.

Si dejaste de silenciar los resultados, se volverán a silenciar si coinciden con una regla de silenciamiento actualizada en la consola de Google Cloud. Para obtener más información, consulta Los resultados que se dejaron de silenciar anulan las reglas de silenciamiento.

Para ver un código de muestra que actualiza una regla de silencio, consulta Actualiza una regla de silencio.

Para actualizar una regla de silencio, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la pestaña Reglas de silencio en la página Configuración de Security Command Center.

    Ir a Reglas de silencio

  2. Selecciona la organización o el proyecto de Google Cloud que es el recurso superior de la regla de silenciamiento que deseas modificar. Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación justo debajo del selector de proyecto para seleccionar la ubicación de Security Command Center de la regla de silencio. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. Haz clic en el nombre de la regla de silenciamiento que deseas modificar.

    Si no seleccionaste el proyecto o la organización adecuados, es posible que veas una nota en la que se te informe que no tienes permiso para modificar la regla de silenciamiento.

  5. Ingresa una descripción nueva y haz clic en Guardar.

  6. Actualiza o cambia el filtro.

    Para obtener instrucciones, consulta Crea reglas de silenciamiento.

  7. Para ver los resultados que coinciden con el filtro actualizado, haz clic en Obtener una vista previa de los resultados de coincidencias.

    Se cargará una tabla con los resultados que coinciden con la consulta nueva.

  8. Haz clic en Guardar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para actualizar las reglas de silencio, ejecuta el comando gcloud scc muteconfigs update:

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

    Reemplaza lo siguiente:

    • MUTE_CONFIG_ID: Es el ID de la regla de silencio.
    • PARENT: Es el recurso superior de tu regla de silencio (organization, folder o project).
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto.
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. El valor predeterminado es global.

      Si la residencia de datos no está habilitada, especificar la marca --location actualiza la configuración de la regla de silencio con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

    • RULE_DESCRIPTION: Es una descripción de la regla de silenciamiento (máx.: 1,024 caracteres).

    • FILTER: Es la expresión que defines para filtrar los resultados.

      Por ejemplo, para silenciar los resultados de OPEN_FIREWALL, tu filtro podría ser FILTER="category=\"OPEN_FIREWALL\"".

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


import (
	"context"
	"fmt"
	"io"

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

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class UpdateMuteRule {

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

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

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

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

API de REST

En la API de Security Command Center, usa el método muteConfigs patch para actualizar una regla de silencio. El cuerpo de la solicitud es una instancia de MuteConfig.

Para obtener el CONFIG_ID de una regla de silencio, ejecuta una llamada a la API para enumerar las reglas de silencio. La respuesta incluye los ID de configuración para las reglas de silenciamiento que se muestran.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, usa el extremo v1 para llamar a muteConfigs patch:

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

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar a muteConfigs patch:

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

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

Reemplaza lo siguiente:

  • PARENT: El recurso superior de la regla de silenciamiento (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de ubicación, el valor predeterminado es global.
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento
  • RULE_DESCRIPTION: Una descripción de la regla de silencio (máx.: 1,024 caracteres)
  • FILTER: Es la expresión que defines para filtrar los resultados

    Por ejemplo, para silenciar los resultados de OPEN_FIREWALL, tu filtro puede ser "category=\"OPEN_FIREWALL\"".

Los resultados nuevos que coinciden con exactitud con el filtro se ocultan y el atributo mute de los resultados se establece en MUTED.

La actualización de las reglas de silenciamiento no deja de silenciar automáticamente los resultados que las reglas anteriores silenciaron. Debes dejar de silenciar los resultados de forma manual.

Borra reglas de silenciamiento

Puedes borrar una regla de silencio con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Antes de borrar reglas de silenciamiento, debes comprender lo siguiente:

  • No puedes recuperar las reglas de silenciamiento borradas.
  • Borrar las reglas de silencio no activa el sonido automáticamente de ningún resultado que esté silenciado. Debes activar el sonido de los resultados de forma manual o programática.
  • No se silencian los resultados futuros que coincidan con los filtros de las reglas de silenciamiento borradas.

Para ver código de muestra que borra una regla de silencio, consulta Borra una regla de silencio.

Para borrar una regla de silencio, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la pestaña Reglas de silencio en la página Configuración de Security Command Center.

    Ir a Reglas de silencio

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud.

    Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación justo debajo del selector de proyecto a fin de seleccionar la ubicación de Security Command Center en la que se almacena la regla de silencio. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. Haz clic en el nombre de la regla de silenciamiento que deseas borrar.

  5. Haz clic en Borrar.

  6. Lee el cuadro de diálogo y, si estás de acuerdo, haz clic en Borrar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para borrar las reglas de silencio, ejecuta el comando gcloud scc muteconfigs delete:

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

    Reemplaza lo siguiente:

    • MUTE_CONFIG_ID: Es el ID de la configuración de silenciamiento
    • PARENT: El recurso superior de la regla de silenciamiento (organization, folder o project)
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto.
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacena la configuración de la regla de silencio. El valor predeterminado es global.

      Si la residencia de datos no está habilitada, especificar la marca --location borra la regla de silencio con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

  3. Confirma tu solicitud para borrar la regla de silenciamiento.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class DeleteMuteRule {

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

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

    deleteMuteRule(parentPath, muteConfigId);
  }

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método muteConfigs delete para borrar una regla de silencio. El cuerpo de la solicitud está vacío.

Para obtener el CONFIG_ID de una regla de silencio, ejecuta una llamada a la API para Enumerar las reglas de silencio. La respuesta incluye los ID de configuración para las reglas de silenciamiento que se muestran.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, usa el extremo v1 para llamar a muteConfigs delete:

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar a muteConfigs delete:

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

Reemplaza lo siguiente:

  • PARENT: El recurso superior de la regla de silenciamiento (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de ubicación, el valor predeterminado es global.
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento

Silenciar un hallazgo individual

Puedes silenciar un hallazgo individual con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Si deseas ver un código de muestra para silenciar un hallazgo, consulta Cómo silenciar un hallazgo.

Para silenciar un resultado individual, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la página Resultados de Security Command Center.

    Ir a resultados

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud. Selector de proyectos

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación que se encuentra justo debajo del selector de proyecto a fin de seleccionar la ubicación de Security Command Center del hallazgo. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. Si no ves el hallazgo que necesitas silenciar en el panel Resultados de la búsqueda, selecciona su categoría en la sección Categoría del panel Filtros rápidos.

  5. Selecciona la casilla de verificación junto al hallazgo que necesitas silenciar. Puedes seleccionar uno o más resultados.

  6. En la barra de acciones Resultados de la búsqueda, haz clic en Opciones de silencio y, luego, selecciona Silenciar.

    El atributo mute de los resultados seleccionados se establece en MUTED y el resultado se quita del panel Resultados de la búsqueda.

De manera alternativa, puedes silenciar un hallazgo desde su panel de detalles:

  1. En el panel Resultados de la búsqueda de la página Hallazgos, en la columna Categoría, haz clic en el nombre de un resultado individual. Se abrirá el panel de detalles del hallazgo.
  2. Haz clic en Tomar medidas.
  3. En el menú Realizar acciones, selecciona Silenciar.

    Si seleccionas Silenciar hallazgos como este, se abrirá la página Crear regla de silencio, en la que podrás crear una regla de silencio para resultados del mismo tipo o que incluyan el mismo atributo Indicator.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para establecer el estado de silenciamiento de un resultado en MUTED, usa el comando set-mute en la CLI de gcloud:

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

    Reemplaza lo siguiente:

    • FINDING_ID: Es el ID del resultado que deseas silenciar

      A fin de recuperar los ID de resultados, usa la API de Security Command Center para mostrar una lista de resultados. El ID de búsqueda es la última parte del atributo canonicalName, por ejemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: Es el recurso superior (project, folder o organization); distingue mayúsculas de minúsculas.

    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.

    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacena el resultado.

      Si la residencia de datos no está habilitada, especificar la marca --location silencia el hallazgo con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

    • SOURCE_ID: El ID de origen

      Para obtener instrucciones sobre cómo recuperar un ID de origen, consulta Obtén el ID de origen.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class SetMuteFinding {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método setMute para silenciar un resultado. El cuerpo de la solicitud es una enumeración que indica el estado de silencio resultante.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, llama a setMute con el extremo v1:


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

{
  "mute": "MUTED"
}

Si usas la versión 2 de la API de Security Command Center, llama a setMute con el extremo v2:

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

{
  "mute": "MUTED"
}

Reemplaza lo siguiente:

  • PARENT: Es el recurso superior (organizations, folders o projects).
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacena el resultado. Si se omite el campo de ubicación, el valor predeterminado es global.
  • SOURCE_ID: Es el ID numérico de la fuente.

    Para obtener instrucciones sobre cómo recuperar un ID de origen, consulta Obtén el ID de origen.

  • FINDING_ID: Es el ID del resultado que deseas silenciar.

    A fin de recuperar los ID de resultados, usa la API de Security Command Center para mostrar una lista de resultados. El ID de búsqueda es la última parte del atributo canonicalName, por ejemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Después de silenciar un resultado, su atributo mute se establece en MUTED.

Silenciar un resultado no afecta su actividad o no. Si se silencia un hallazgo activo, el atributo state no se modifica: state="ACTIVE". El hallazgo está oculto, pero permanece activo hasta que se resuelve la vulnerabilidad, la configuración

Para obtener más información sobre las reglas de silencio, consulta Crea reglas de silencio.

Deja de silenciar resultados individuales

Puedes activar el sonido de un hallazgo individual con la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Para ver un código de muestra para activar el sonido de un hallazgo, consulta Activar el sonido de un hallazgo.

Para dejar de silenciar un resultado individual, haz clic en la pestaña del procedimiento que deseas usar:

Console

  1. En la consola de Google Cloud, ve a la página Hallazgos de Security Command Center.

    Ir a resultados

  2. Si es necesario, selecciona tu organización o proyecto de Google Cloud. Selector de proyectos

    La página Hallazgos se abre con la consulta predeterminada que se muestra en la sección Vista previa de la consulta. La consulta predeterminada filtra los resultados silenciados, por lo que debes editar la consulta antes de que aparezcan en el panel Resultados de la búsqueda.

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicación justo debajo del selector de proyecto a fin de seleccionar la ubicación de Security Command Center del hallazgo. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. A la derecha de la sección Vista previa de la consulta, haz clic en Editar consulta para abrir el Editor de consultas.

  5. En el campo Editor de consultas, reemplaza la declaración de silencio existente con lo siguiente:

    mute="MUTED"
  6. Haz clic en Aplicar. Los hallazgos en el panel Resultados de la búsqueda se actualizan para incluir solo los resultados silenciados.

  7. Si es necesario, filtra otros hallazgos silenciados. Por ejemplo, en el panel Filtros rápidos en Categoría, selecciona el nombre del resultado que debes activar de sonido para filtrar todas las demás categorías.

  8. Selecciona la casilla de verificación junto al hallazgo que quieres dejar de silenciar. Puedes seleccionar uno o más resultados.

  9. En la barra de acciones Resultados de la búsqueda, haz clic en Opciones de silencio y, luego, selecciona Dejar de silenciar.

    El atributo mute de los resultados seleccionados se establece en UNMUTED y el resultado se quita del panel Resultados de la búsqueda.

Como alternativa, puedes activar el sonido de un hallazgo desde su panel de detalles:

  1. En el panel Resultados de la búsqueda de la página Hallazgos, en la columna Categoría, haz clic en el nombre de un resultado individual. Se abrirá el panel de detalles del hallazgo.
  2. Haz clic en Tomar medidas.
  3. En el menú Actuar, selecciona Dejar de silenciar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para establecer el estado de silenciamiento de un resultado en UNMUTED, usa el comando set-mute en la CLI de gcloud:

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

    Reemplaza lo siguiente:

    • FINDING_ID: Es el ID del resultado que deseas silenciar

      A fin de recuperar los ID de resultados, usa la API de Security Command Center para mostrar una lista de resultados. El ID de búsqueda es la última parte del atributo canonicalName, por ejemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: El recurso superior (project, folder o organization), distingue entre mayúsculas y minúsculas.

    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.

    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center en la que se almacena el resultado.

      Si la residencia de datos no está habilitada, especificar la marca --location activa el sonido del hallazgo con la versión 2 de la API de Security Command Center, y el único valor válido para la marca es global.

    • SOURCE_ID: El ID de origen

      Para obtener instrucciones sobre cómo recuperar un ID de origen, consulta Obtén el ID de origen.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class SetUnmuteFinding {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método setMute para activar el sonido de un resultado. El cuerpo de la solicitud es una enumeración que indica el estado de silencio resultante.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, llama a setMute con el extremo v1:

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

{
  "mute": "UNMUTED"
}

Si usas la versión 2 de la API de Security Command Center, llama a setMute con el extremo v2:

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

{
  "mute": "UNMUTED"
}

Reemplaza lo siguiente:

  • PARENT: El recurso superior (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacena el resultado. Si se omite el campo de ubicación, el valor predeterminado es global.
  • SOURCE_ID: Es el ID numérico del origen

    Para obtener instrucciones sobre cómo recuperar un ID de origen, consulta Obtén el ID de origen.

  • FINDING_ID: Es el ID del resultado que deseas silenciar.

    A fin de recuperar los ID de resultados, usa la API de Security Command Center para mostrar una lista de resultados. El ID de búsqueda es la última parte del atributo canonicalName, por ejemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Los resultados seleccionados ya no están ocultos y el atributo mute para los resultados se establece en UNMUTED.

Los resultados que se dejaron de silenciar anulan las reglas de silenciamiento

Si un usuario deja de silenciar resultados, estos se mantienen en ese estado, incluso si las reglas de silenciamiento existentes aún coinciden con los resultados. En efecto, las acciones de los usuarios para dejar de silenciar anulan las reglas de silenciamiento.

Los resultados que se dejaron de silenciar se vuelven a silenciar solo si un usuario silencia los resultados de forma manual o crea una nueva regla de silenciamiento coincidente en la consola de Google Cloud. Las reglas de silenciamiento creadas con la CLI de gcloud o la API de Security Command Center no afectarán los resultados que los usuarios dejen de silenciar.

Silenciar varios resultados existentes

Puedes silenciar varios resultados existentes de forma masiva con el comando gcloud scc findings bulk-mute de gcloud CLI o el método bulkMute de la API de Security Command Center. Si necesitas silenciar resultados futuros similares, crea una regla de silenciamiento.

Especifica un conjunto de resultados que necesitas silenciar. Para ello, define un filtro de resultados. Los filtros de silenciamiento masivo no son compatibles con todas las propiedades de los resultados. Si deseas obtener una lista de propiedades no compatibles, consulta Propiedades de resultados no compatibles para las reglas de silenciamiento.

Si la residencia de datos está habilitada para Security Command Center, las operaciones de silencio masiva tienen un alcance limitado a la ubicación de Security Command Center en la que se ejecutan.

Para ver un código de muestra que silencia los resultados de forma masiva, consulta Cómo silenciar resultados de forma masiva.

Para silenciar los resultados de forma masiva, haz clic en la pestaña del procedimiento que quieres usar:

Console

En la consola de Google Cloud, solo puedes silenciar de forma masiva los resultados mediante la creación de reglas de silencio. En la consola de Google Cloud, la creación de reglas de silencio silencia los resultados existentes y futuros.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Para silenciar varios resultados de forma masiva, ejecuta el comando gcloud scc findings bulk-mute:

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

    Reemplaza lo siguiente:

    • PARENT: Es el permiso en la jerarquía de recursos al que se aplica la regla de silencio, organization, folder o project.
    • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior, especificado en el formato organizations/123, folders/456 o projects/789.
    • LOCATION: Si la residencia de datos está habilitada, especifica la ubicación de Security Command Center para silenciar los resultados de forma masiva. Solo se silencian los hallazgos en esta ubicación.

      Si la residencia de datos no está habilitada, especificar la marca --location silencia los resultados con la versión 2 de la API de Security Command Center y el único valor válido para la marca es global.

    • FILTER: Es la expresión que defines para filtrar los resultados.

    Por ejemplo, para silenciar todos los resultados OPEN_FIREWALL y PUBLIC_IP_ADDRESS de gravedad baja existentes en el proyecto internal-test, el filtro puede ser "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.project_display_name=\"internal-test\"".

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.


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

public class BulkMuteFindings {

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

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

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

    bulkMute(parentPath, muteRule);
  }

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para la versión 2, reemplaza v1 por v2 y agrega /locations/LOCATION al nombre del recurso.

Para la mayoría de los recursos, agrega /locations/LOCATION al nombre del recurso después de /PARENT/PARENT_ID, en el que PARENT es organizations, folders o projects.

Para los resultados, agrega /locations/LOCATION al nombre del recurso después de /sources/SOURCE_ID, en el que SOURCE_ID es el ID del servicio de Security Command Center que emitió el hallazgo.

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método bulkMute para silenciar varios resultados existentes. El cuerpo de la solicitud contiene la expresión que se usa para filtrar los resultados.

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como una versión de versión preliminar. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la versión 1 de la API de Security Command Center, llama a bulkMute con el extremo v1:

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

{
  "filter": "FILTER"
}

Si usas la versión 2 de la API de Security Command Center, llama a bulkMute con el extremo v2:

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

{
  "filter": "FILTER"
}

Reemplaza lo siguiente:

  • PARENT: Es el recurso superior (organizations, folders o projects).
  • PARENT_ID: Es el ID de la organización, la carpeta o el proyecto superior.
  • LOCATION: Solo para v2, especifica la ubicación de Security Command Center en la que se almacenan los resultados. Si se omite el campo de ubicación, el valor predeterminado es global.
  • FILTER: Es la expresión que defines para filtrar los resultados.

    Por ejemplo, para silenciar todos los resultados OPEN_FIREWALL y PUBLIC_IP_ADDRESS de gravedad baja existentes en el proyecto internal-test, el filtro puede ser "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.project_display_name=\"internal-test\"".

Se ocultan todos los resultados existentes en el recurso que selecciones y que coincidan con exactitud con el filtro. El atributo mute para los resultados se establece en MUTED.

Silenciar los resultados no cambia su estado. Si silencias los resultados activos, se ocultan, pero permanecen activos hasta que se resuelven las vulnerabilidades, las configuraciones incorrectas o las amenazas subyacentes.

Visualiza los resultados silenciados en la consola de Google Cloud

Puedes ver los resultados silenciados en la consola de Google Cloud si editas la consulta para seleccionar los que incluyan el valor de propiedad mute="MUTED".

Por ejemplo, la siguiente consulta de resultados muestra solo los resultados activos que están silenciados:

state="ACTIVE"
AND mute="MUTED"

Para mostrar todos los hallazgos activos, tanto silenciados como no silenciados, omite el atributo mute de la consulta por completo:

state="ACTIVE"

De forma predeterminada, la consulta de resultado en la consola de Google Cloud muestra solo los resultados que no están silenciados.

Para obtener más información sobre cómo editar consultas de resultados, ve a Crea o edita una consulta de resultados en el panel.

Búsqueda de propiedades relacionadas con el silenciamiento

En esta sección, se enumeran las propiedades de los hallazgos que se relacionan con el estado de silencio de un resultado y se describe cómo se ven afectadas por las operaciones de silenciamiento:

  • mute: Se establece en UNDEFINED cuando se crean los resultados y se modifican en las siguientes situaciones:
    • MUTED: Un resultado se silencia de forma manual o mediante una regla de silencio.
    • UNMUTED: Un usuario deja de silenciar un resultado.
  • mute_update_time: Es el momento en el que se silencia o se deja de silenciar un resultado.
  • mute_initiator: El identificador de la principal o regla de silenciamiento que silencia un resultado

Detener las notificaciones y exportaciones de hallazgos silenciados

Si habilitas las notificaciones de resultados, los resultados silenciados nuevos o actualizados que coincidan con tus filtros de notificaciones se seguirán exportando a Pub/Sub.

Para detener las exportaciones y las notificaciones de resultados silenciados, usa el atributo mute para excluir los resultados silenciados en tu filtro NotificationConfig. Por ejemplo, el siguiente filtro solo envía notificaciones de los resultados activos que no estén silenciados o en los que el atributo de silenciamiento no se haya establecido:

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

¿Qué sigue?

Obtén más información para filtrar notificaciones de resultados.

Consulta más ejemplos de filtros que puedes usar.