Silencia los resultados en Security Command Center

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

Descripción general

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

La búsqueda de proveedores en Security Command Center proporciona evaluaciones de seguridad amplias de tu implementación de Google Cloud, pero es posible que ciertos resultados no sean adecuados o 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. Los resultados de silenciamiento te ahorran tiempo de revisar los resultados de seguridad o responder a ellos en los recursos que están aislados o se encuentran dentro de parámetros comerciales aceptables.

Silenciar los resultados en comparación con las listas de entidades permitidas

Silenciar los resultados funciona de manera diferente que las soluciones de administración de volumen existentes. Las estadísticas del estado de seguridad te permiten usar marcas de seguridad dedicadas a fin de agregar elementos a las listas de entidades permitidas, lo que evita que los detectores creen resultados de seguridad para recursos específicos. Security Command Center también te permite inhabilitar los detectores.

Sin embargo, silenciar los resultados tiene varias ventajas sobre las listas de entidades permitidas y la inhabilitación de los detectores:

  • Puedes silenciar los resultados sin ubicar sus recursos subyacentes.
  • Se pueden silenciar los resultados que no estén adjuntos a ningún recurso.
  • Puedes crear filtros personalizados para mejorar la funcionalidad de silenciamiento.
  • 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 de los siguientes permisos o todos ellos:

  • 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

Tu capacidad de silenciar los resultados se adhiere a 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 otras personas de 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.

Silenciar resultados

Puedes silenciar de forma manual resultados individuales, silenciar varios resultados a la vez con filtros de silenciamiento masivo o crear reglas de silenciamiento que supriman automáticamente los resultados futuros según los filtros que definas.

Los resultados contienen un atributo mute que se puede establecer en MUTED o UNMUTED. Cuando silencias o dejas de silenciar los resultados, cambias el valor del atributo. Para obtener más información, consulta Propiedades del silenciamiento de resultados.

Silenciar los resultados es relevante para muchos casos de uso, incluidos los siguientes:

  • Elementos dentro de entornos de no producción en los que algunos requisitos más estrictos podrían no ser aplicables
  • Recomendaciones para usar claves de encriptación administradas por el cliente en proyectos que no contienen datos críticos
  • Cuando se otorga acceso amplio en un almacén de datos, que está abierto de forma intencional al público y difunde información pública
  • Resultados que no son relevantes para tu organización o proyecto según las políticas de tu empresa.

Los resultados silenciados se siguen registrando con fines de auditoría y cumplimiento, y se pueden ver si es necesario. Sin embargo, de forma predeterminada, no aparecen en la consola de Google Cloud. También puedes filtrar los resultados silenciados de las notificaciones de Pub/Sub y las llamadas a la API de Security Command Center mediante el atributo mute del resultado.

Silenciar un resultado individual

Puedes silenciar un resultado 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 resultado, consulta Cómo silenciar un resultado.

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 ubicaciones que se encuentra justo debajo del selector de proyecto con el fin de elegir la ubicación de Security Command Center del resultado. Por ejemplo:

    Captura de pantalla del selector de ubicación

  4. Si no ves el resultado que debes silenciar en el panel Resultados de la consulta de resultados, selecciona la categoría del resultado 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 consulta de resultados, 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 consulta.

También puedes silenciar un resultado desde su panel de detalles:

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

    Si seleccionas Silenciar resultados como este, se abrirá la página Crear regla de silencio, en la que podrás crear una regla de silencio para los 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), que 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 mediante el uso de la API de Security Command Center v2 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 v2, 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, donde 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 resultado.

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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la API de Security Command Center v1, 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 API de Security Command Center v2, 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 la versión 2, se especifica la ubicación de Security Command Center en la que se almacena el resultado. Si se omite el campo de la 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 si está activo 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 subyacente, la configuración incorrecta o la amenaza.

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

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 de resultados para seleccionar los resultados 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 resultados activos, tanto silenciados como silenciados, omite por completo el atributo mute de la consulta:

state="ACTIVE"

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

Para obtener más información sobre la edición de consultas de resultados, revisa Crea o edita una consulta de resultados en el panel.

Deja de silenciar resultados individuales

Puedes activar el sonido de un resultado 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 activar el sonido de un resultado, consulta Activar el sonido de un resultado.

Para activar el sonido de 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

    Se abrirá la página Resultados y se mostrará la consulta predeterminada 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 estos aparezcan en el panel Resultados de la consulta de resultados.

  3. Si la residencia de datos está habilitada para Security Command Center, usa el selector de ubicaciones que se encuentra justo debajo del selector de proyecto con el fin de elegir la ubicación de Security Command Center del resultado. 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 sentencia de silencio existente por lo siguiente:

    mute="MUTED"
  6. Haz clic en Aplicar. Los resultados del panel Resultados de la consulta se actualizan para incluir solo los resultados silenciados.

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

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

  9. En la barra de acciones Resultados de la consulta de resultados, 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 consulta.

Como alternativa, puedes dejar de silenciar un resultado desde su panel de detalles:

  1. En el panel Resultados de la consulta de resultados de la página Resultados, en la columna Categoría, haz clic en el nombre de un resultado individual. Se abrirá el panel de detalles del resultado.
  2. Haz clic en Tomar medidas.
  3. En el menú Tomar medidas, 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 resultado con la API de Security Command Center v2 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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la API de Security Command Center v1, 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 API de Security Command Center v2, 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 la versión 2, se especifica la ubicación de Security Command Center en la que se almacena el resultado. Si se omite el campo de la 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 mediante 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.

Para especificar el conjunto de resultados que debes silenciar, 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 admitidas para las reglas de silenciamiento.

Si la residencia de datos está habilitada para Security Command Center, las operaciones de silencio masivo se limitan a la ubicación de Security Command Center en la que se ejecutan.

Para ver el código de muestra que silencia los resultados de forma masiva, consulta Silencia resultados de forma masiva.

Para silenciar los resultados de forma masiva, haz clic en la pestaña del procedimiento que deseas 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 en la que se silenciarán de forma masiva los resultados. Solo se silencian los resultados en esta ubicación.

      Si la residencia de datos no está habilitada, especificar la marca --location silencia los resultados mediante el uso de la API de Security Command Center v2 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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

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

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

{
  "filter": "FILTER"
}

Si usas la API de Security Command Center v2, 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 en la versión 2, se especifica la ubicación de Security Command Center en la que se almacenan los resultados. Si se omite el campo de la 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.

Crea 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 silenciamiento

Ten en cuenta el alcance 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.

Del mismo modo, si la residencia de datos está habilitada, el alcance 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 regla no silencia los resultados que se almacenan 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 Filtra notificaciones.

Restricciones de la regla de silencio

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

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

Reglas de residencia y silencio de datos

Si la residencia de datos está habilitada, las configuraciones que definen las reglas de silenciamiento (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 crearla en la misma ubicación que los resultados a los que se aplica.

Dado que los filtros que se usan en las reglas de silencio pueden contener datos 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 reglas de silencio o exportaciones de transmisión.

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

Después de crear una regla de silenciamiento, 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 silenciamiento en la consola de Google Cloud, primero debes establecer 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 la MuteConfig. Por ejemplo:

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

Del mismo modo, para recuperar un muteConfig con 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

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

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

Para crear una regla de silenciamiento, 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 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 ubicaciones que se encuentra justo debajo del selector de proyecto a fin de elegir la ubicación de Security Command Center en la que se creará la regla de silencio. 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.

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

  8. En el campo Consulta de resultados, haz clic en Agregar filtro para crear tus instrucciones de consulta. También puedes escribir las instrucciones de 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 resultados. Aparecerá una lista de los atributos secundarios disponibles.
    2. Selecciona un atributo secundario. Se muestra un campo de selección para tus opciones de evaluación sobre una lista de los valores de los atributos secundarios que se encuentran en los resultados del panel Resultados de la consulta de resultados.
    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 funciones que usan, revisa 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.
  9. Revisa el filtro para ver si es preciso. Para realizar cambios, borra o agrega propiedades y filtra los valores según sea necesario.

  10. Haz clic en Obtener vista previa de resultados coincidentes.

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

  11. 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 silenciamiento, 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 silenciamiento. El ID debe usar caracteres alfanuméricos y guiones, y 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 crea la regla de silencio. La configuración de la regla de silencio se almacena y se aplica a los resultados solo en esta ubicación.

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

    • RULE_DESCRIPTION: Es una descripción de la regla de silencio 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 las reglas de silencio, como se describe en Administra reglas de silencio.

Go

En el siguiente ejemplo, se usa la API v1. Si deseas modificar la muestra para v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.



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 silenciamiento. El cuerpo de la solicitud es una instancia de MuteConfig.

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

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

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

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

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

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

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

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 la versión 2, especifica la ubicación de Security Command Center en la que se aplica la regla de silencio. Si se omite el campo de la 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 silenciamiento

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

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

Propiedades del silenciamiento de resultados

En esta sección, se enumeran las propiedades del silenciamiento de resultados 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

Detén las notificaciones de resultados silenciados

Si habilitas las notificaciones de resultados, los resultados silenciados que coinciden con los filtros de notificaciones aún activan notificaciones en Pub/Sub.

Para detener las notificaciones de los resultados silenciados, usa el atributo mute a fin de 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\""

Administra reglas de silenciamiento

Puedes ver, actualizar y borrar reglas de silenciamiento según el alcance de tus funciones 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.

Muestra una lista de reglas de silenciamiento

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

Tu capacidad de generar una lista de las reglas de silenciamiento para un permiso determinado depende de los permisos que se otorgan a tus 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.

Consulta Enumera las reglas de silencio para ver un código de muestra que incluye las reglas de silencio.

Si deseas obtener una lista de las reglas de silencio para 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 ubicaciones que se encuentra justo debajo del selector de proyecto para elegir 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, verás los 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 silenciamiento, ejecuta el comando gcloud scc muteconfigs list:

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

    Reemplaza lo siguiente:

    • PARENT: El 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 enumeran las reglas de silencio.

      Si la residencia de datos no está habilitada, si especificas la marca --location, se enumeran las reglas de silencio con la API de Security Command Center v2 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 v2, 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, donde 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 resultado.

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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

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

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

Si usas la API de Security Command Center v2, 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 la versión 2, especifica la ubicación de Security Command Center para la que se enumeran las reglas de silencio. Si se omite el campo de la 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.

Consulta la configuración de una regla de silenciamiento

Puedes ver una configuración de reglas de silenciamiento mediante la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

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

Para ver la configuración de una regla de silenciamiento, 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 ubicaciones que se encuentra justo debajo del selector de proyectos a fin de elegir 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: Es el ID de la regla de silencio.
    • 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 regla de silencio. El valor predeterminado es global.

      Si la residencia de datos no está habilitada, al especificar la marca --location, se obtiene la regla de silencio con la API de Security Command Center v2 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 v2, 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, donde 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 resultado.

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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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.

A fin de obtener el CONFIG_ID para una regla de silencio, primero ejecuta una llamada a la API a fin de mostrar una lista de 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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

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

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

Si usas la API de Security Command Center v2, 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 la versión 2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de la 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 resultados de una regla de silencio con 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 silenciamiento. Para cambiar cualquiera de estos valores, debes crear una regla de silencio nueva.

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 ubicaciones que se encuentra justo debajo del selector de proyecto para elegir la ubicación de Security Command Center de la regla de silenciamiento. 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 API de Security Command Center v2 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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

Si usas la API de Security Command Center v1, 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",
    "type": "STATIC"
  }

Si usas la API de Security Command Center v2, 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",
  }

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 la versión 2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de la 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 automáticamente el sonido de los resultados silenciados. 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 un código de muestra que borra una regla de silencio, consulta Borra una regla de silencio.

Para borrar una regla de silenciamiento, 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 ubicaciones que se encuentra justo debajo del selector de proyecto para elegir 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 silenciamiento, 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 API de Security Command Center v2 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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.


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 v2, 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, donde 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 resultado.

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.

A fin de obtener el CONFIG_ID para una regla de silencio, ejecuta una llamada a la API para mostrar una lista de 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 la v2 de la API de Security Command Center. La API v2 está disponible como versión Vista previa. Cuando la residencia de datos está habilitada, la API v2 es la única API disponible.

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

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

Si usas la API de Security Command Center v2, 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 la versión 2, especifica la ubicación de Security Command Center en la que se almacena la regla de silencio. Si se omite el campo de la ubicación, el valor predeterminado es global.
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento

¿Qué sigue?

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

Consulta más ejemplos de filtros que puedes usar.