Silencia los resultados en Security Command Center

Esta página explica cómo reducir el volumen de hallazgos que recibes Security Command Center silencio los resultados.

Silenciar un hallazgo lo oculta de la vista predeterminada de tus hallazgos en el Consola de Google Cloud Puedes silenciar los resultados de forma manual o programática, y Crea filtros para silenciar automáticamente los resultados existentes y futuros. según los criterios que especifiques.

Los servicios de detección de Security Command Center brindan evaluaciones de seguridad amplias tu implementación de Google Cloud, pero quizás descubras que algunos hallazgos apropiados 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. Silenciar los resultados te ahorra tiempo de revisar o responder a hallazgos de seguridad en activos que están aislados o que se encuentren dentro de parámetros comerciales aceptables.

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

  • Puedes crear filtros personalizados para definir mejor qué hallazgos se silencian.
  • Puedes usar las reglas de silencio para silenciar los resultados de manera temporal o indefinida.
  • 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 opciones de Identity and Access Management (IAM) roles 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 corresponde con los roles otorgados en la organización, a nivel de carpeta o proyecto. Puedes silenciar los resultados en carpetas específicas o proyectos y restringir el la capacidad de otras personas para silenciar los resultados según el acceso que se les otorgó. Por ejemplo, si tienes acceso a un solo proyecto, solo puedes silenciar los resultados en ese proyecto. Si tienes acceso a una carpeta, puedes silenciar los resultados en cualquier subcarpeta o proyecto dentro de esa carpeta.

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

Crea y administra reglas de silenciamiento

Las reglas de silencio son parámetros de configuración de Security Command Center que usan los filtros que creas para silenciar automáticamente los resultados futuros y existentes según los criterios que especifiques. Puedes crear filtros con reglas de silencio estáticas o dinámicas.

Las reglas estáticas de silencio silencian los resultados futuros de forma indefinida. Silenciamiento dinámico las reglas silencian los resultados futuros y existentes temporalmente hasta una fecha específica o indefinidamente hasta que un hallazgo deje de coincidir con la configuración.

Tipos de reglas de silencio

Security Command Center admite parámetros de configuración de reglas de silencio estáticas y dinámicas. Si bien puedes usar reglas de silencio estáticas y dinámicas simultáneamente; no lo recomendamos. Las reglas de silencio estáticas anulan las reglas de silencio dinámicas cuando se aplican a la misma hallazgo. Como resultado, las reglas de silencio dinámicas no funcionarán según lo previsto, lo que puede crear confusión a la hora de gestionar los resultados. Por lo tanto, te recomendamos usa un solo tipo de regla de silencio.

A menos que ya uses reglas de silencio estáticas, te recomendamos que utilices el silencio dinámico las reglas exclusivamente porque ofrecen más flexibilidad.

En la siguiente tabla, se muestra una comparación de alto nivel de los dos tipos de reglas de silencio. Para obtener más información, consulta Reglas de silenciamiento estáticas y Reglas las reglas de silencio.

Reglas de silencio estáticas Reglas de silencio dinámicas
Actúa indefinidamente sobre los hallazgos. Puede actuar en función de un de manera temporal con una fecha de vencimiento o de forma indefinida si no se estableció un tiempo de vencimiento.
No aplicarla a los resultados existentes. Aplicar a de los hallazgos existentes y nuevos.
Tienen prioridad sobre las reglas de silencio dinámicas. Son tienen una prioridad más baja y se anulan con reglas estáticas de silencio cuando se aplican a un hallazgo.

Reglas de silencio estáticas

  • Las reglas estáticas de silencio actúan de forma indefinida. Cuando un resultado coincide con tu valor de silencio estático Security Command Center establece automáticamente la propiedad mute de el resultado a MUTED hasta que lo cambies de forma manual.
  • Las reglas de silencio estáticas no tienen ningún efecto en los resultados existentes. Solo se aplican a resultados que se crean o actualizan luego de que se define la regla. Si si también quieres silenciar resultados existentes similares, usa los mismos filtros para mascarar silenciar hallazgos.
  • Las reglas de silencio estáticas tienen prioridad sobre las reglas de silencio dinámicas. Por lo tanto, todos los nuevos que coinciden con una regla de silencio estática definida se consideran silenciados estas también coinciden con una regla de silencio dinámica definida.

Reglas de silencio dinámicas

  • Las reglas de silencio dinámicas pueden actuar sobre un resultado de forma temporal con un vencimiento o de manera indefinida si no se establece una fecha de vencimiento. Cuando se crea un informe el resultado creado coincide con tu configuración de silencio dinámico, Security Command Center establece automáticamente la propiedad mute del resultado en MUTED hasta que fecha de vencimiento especificada o hasta que haya cambios en el resultado configuración propia. Cuando vence una regla de silencio dinámica, Security Command Center quita la regla del hallazgo. Si el resultado no coincide con ningún otro reglas de silencio dinámicas, la propiedad mute se restablece automáticamente a UNDEFINED
  • Las reglas de silencio dinámicas se aplican automáticamente a los resultados existentes que coinciden con tus así como de los resultados que se crearon o actualizaron recientemente.
  • Las reglas de silencio dinámicas tienen una prioridad más baja y se anulan con la función de silencio estática cuando ambos tipos se aplican a un resultado.

Recomendamos usar de forma exclusiva las reglas de silencio dinámicas. La capacidad de temporalmente silenciar y activar el sonido automáticamente de los resultados hace que las reglas de silencio dinámicas sean más flexibles que las reglas estáticas de silencio.

Si usas reglas de silencio estáticas para reducir la cantidad de resultados que revisar manualmente y quieres migrar a reglas de silencio dinámicas, consulta Cómo migrar de estático a silencio dinámico reglas.

Alcance de las reglas de silencio

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

Por ejemplo, si se escribe un filtro para silenciar los resultados en Project A, pero el filtro se crea en Project B, es posible que no coincida cualquier hallazgo.

Del mismo modo, si la residencia de los datos esté habilitado, el permiso de una regla de silencio se limita a la ubicación de Security Command Center, en la que la regla de crear. Por ejemplo, si creas una regla de silencio en Estados Unidos (us), la regla de silencio no silencia los resultados almacenados en Ubicaciones de la Unión Europea (eu) o Mundial (global). Para obtener más información sobre las reglas de residencia de datos y silencio, consulta Reglas de silencio, exportaciones continuas y residencia de datos.

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

Restricciones de reglas de silencio

Las reglas de silenciamiento no son compatibles con todas las propiedades de los resultados. Para obtener una lista de propiedades que las reglas de silencio no son compatibles, consulta No se admiten propiedades de búsqueda para las reglas de silencio.

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

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

Reglas de residencia de datos y silencio

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

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

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

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

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

Para ver las reglas de silencio en la consola de Google Cloud, primero debes configurar vista de la consola de Google Cloud a la ubicación 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, haz lo siguiente: debes especificar la ubicación en el nombre completo del recurso de MuteConfig Por ejemplo:

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

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

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

Crea una regla de silenciamiento

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

Puedes crear reglas de silencio estáticas o dinámicas con la consola de Google Cloud, en gcloud CLI o en el Security Command Center API de gcloud. Te recomendamos que uses reglas de silencio dinámicas exclusivamente en tu regla de silencio. porque son más flexibles que las reglas de silencio estáticas. Para un para comparar los tipos de reglas de silencio, consulta Tipos de reglas de silencio.

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

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

Console

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

    Ir a hallazgos

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

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva ubicación.

  4. Haz clic en Opciones de silencio y, luego, selecciona Administrar reglas de silencio.

  5. Haz clic en Crear regla de silencio y, luego, selecciona Regla de silencio dinámico o Regla de silencio estática. Para obtener más información sobre los tipos de reglas de silencio, consulta Tipos de las reglas de silencio.

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

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

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

  8. Si creas una regla de silencio estática o una regla de silencio dinámica sin del vencimiento, continúa con el paso siguiente. Si quieres silenciar de forma dinámica para silenciar temporalmente los resultados, completa los siguientes pasos:

    1. Selecciona la casilla de verificación Silenciar los resultados coincidentes temporalmente.
    2. Selecciona o ingresa la fecha de vencimiento de la regla de silencio dinámico. Esta “valor” indica por cuánto tiempo la regla silenciará los resultados que coincidan.
  9. En el campo Consulta de resultados, crea las instrucciones de tu consulta según Haz clic en Agregar filtro (Add filter). También puedes escribir la consulta de forma manual.

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

    Diálogo de filtro de consulta
    1. Selecciona un atributo de hallazgo o escribe su nombre en la Cuadro Buscar atributos de hallazgos. Una lista de los productos disponibles se muestran los atributos secundarios.
    2. Selecciona un atributo secundario. Un campo de selección para tus opciones de evaluación se muestra sobre una lista del atributo secundario valores encontrados en los resultados de la Búsqueda de resultados panel.
    3. Selecciona una opción de evaluación para los valores del el atributo secundario seleccionado. Para obtener más información sobre las opciones de evaluación y los operadores y las funciones que usan, consulta Consulta operadores 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.
  10. Revisa el filtro para ver si es preciso. Para realizar cambios, borra o agrega propiedades y filtra los valores según sea necesario.

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

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

  12. Haz clic en Guardar.

gcloud

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

    Activate Cloud Shell

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

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

    gcloud scc muteconfigs create CONFIG_ID \
    --PARENT=PARENT_ID \
    --location=LOCATION
    --description="RULE_DESCRIPTION" \
    --filter="FILTER" \
    --type=MUTE_TYPE \
    --expiry-time=TIMESTAMP
    

    Reemplaza lo siguiente:

    • CONFIG_ID: Es el nombre de la regla de silencio. El ID debe usar caracteres alfanuméricos y guiones, y debe estar entre 1 y 63 caracteres.
    • PARENT: Es el permiso en la jerarquía de recursos. a la que se aplica la regla de silencio, organization, folder o project.
    • PARENT_ID: Es el ID de la organización superior. carpeta o proyecto, especificada en el formato de organizations/123, folders/456 o projects/789.
    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se crea una regla de silenciamiento. Si la residencia de datos no está habilitada, usa el valor global
    • RULE_DESCRIPTION: Una descripción de la función de silencio de no más de 1,024 caracteres.
    • FILTER: Es la expresión que defines para filtrar. de los resultados de búsqueda. Por ejemplo, para silenciar los resultados de OPEN_FIREWALL, tu filtro puede ser FILTER="category=\"OPEN_FIREWALL\"".
    • MUTE_TYPE: El tipo de regla de silencio que deseas crear. Los tipos válidos de reglas de silencio son DYNAMIC y STATIC El tipo de regla de silencio se establece en STATIC de forma predeterminada. Una vez que crees una regla de silencio, no podrás cambiar su tipo.
    • TIMESTAMP: Solo se aplica si creas un regla de silencio dinámica. La cadena de fecha/hora que indica cuándo se de elementos silenciados. El valor se debe establecer en al menos un día de la en el futuro o se rechazará la solicitud. Para Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes. Cuando se activa una regla de firewall, se quitará de todos los resultados coincidentes. Si quieres regla de silencio dinámica para que actúe de forma indefinida ante resultados coincidentes, omita esta .

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

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


import (
	"context"
	"fmt"
	"io"

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

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class CreateMuteRule {

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

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

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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



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

    from google.cloud import securitycenter

    client = securitycenter.SecurityCenterClient()

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

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

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

API de REST

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

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

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

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

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

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

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

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

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 superior. carpeta o proyecto,
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se crea una regla de silenciamiento. Si la residencia de datos no está habilitada, usa el valor global
  • MUTE_CONFIG_ID: Es el nombre de la regla de silencio. (entre 1 y 63 caracteres)
  • RULE_DESCRIPTION: Una descripción de la función de silencio regla (máx.: 1,024 caracteres)
  • FILTER: Es la expresión que defines para filtrar. resultados

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

  • MUTE_TYPE: El tipo de regla de silencio que deseas crear. Los tipos válidos de reglas de silencio son DYNAMIC y STATIC No puedes cambiar el tipo de regla de silencio después de lo creó.

  • TIMESTAMP: Solo se aplica si creas un regla de silencio dinámica. La cadena de fecha/hora que indica cuándo se de elementos silenciados. El valor se debe establecer en al menos un día de la en el futuro o se rechazará la solicitud. Para Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes. Cuando se activa una regla de firewall, se quitará de todos los resultados coincidentes. Si quieres regla de silencio dinámica para que actúe de forma indefinida ante resultados coincidentes, omita esta .

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

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

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

Las reglas de silencio no admiten todas las propiedades de resultados en los filtros. Lo siguiente no se admiten propiedades en los filtros de reglas de silencio.

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

Muestra una lista de reglas de silenciamiento

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

Tu capacidad para enumerar las reglas de silencio para un permiso determinado depende del permisos que se otorgan a tu cuenta de IAM roles de seguridad.

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

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

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

Console

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

    Ir a Reglas de silencio

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

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva ubicación.

  4. En la sección Reglas de silencio, puedes ver detalles de las reglas de silencio activas. incluidos los 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

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

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

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

    Reemplaza lo siguiente:

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

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class ListMuteRules {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

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

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

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

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar 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 superior. carpeta o proyecto,
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se enumeran las reglas de silencio Si la residencia de datos no está habilitada, usa el valor global

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

Visualiza la configuración de una regla de silencio

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

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

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

Console

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

    Ir a Reglas de silencio

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

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

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

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

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

    Reemplaza lo siguiente:

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

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class GetMuteRule {

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

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

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

    getMuteRule(parentPath, muteConfigId);
  }

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

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

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

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

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

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar 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, carpeta o proyecto
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se puede ver la configuración de la regla de silencio Si la residencia de datos no está habilitada, usa el valor global
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento

Actualiza reglas de silenciamiento

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

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

Si dejaste de silenciar los resultados, se volverán a silenciar si coinciden con una regla de silenciamiento actualizada en la consola de Google Cloud. Para ver más consulta Activa el sonido de resultados individuales.

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 usar:

Console

  1. En la consola de Google Cloud, ve a la pestaña Reglas de silencio en la Página de 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.

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva 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. En el caso de las reglas de silencio dinámicas, actualiza o cambia el tiempo de vencimiento de la regla.

  7. Actualiza o cambia el filtro.

    Para obtener instrucciones, consulta Crea reglas de silenciamiento.

  8. 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.

  9. Haz clic en Guardar.

gcloud

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

    Activate Cloud Shell

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

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

    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, carpeta o proyecto.
    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se actualizará la regla de silencio Si la residencia de datos no está habilitada, usa el valor global
    • RULE_DESCRIPTION: Una descripción de la función de silencio (máx.: 1,024 caracteres).
    • FILTER: Es la expresión que defines para filtrar. de los resultados de búsqueda.

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

    • MUTE_TYPE: El tipo de regla de silencio que eres actualizando. Los tipos válidos de reglas de silencio son DYNAMIC y STATIC No puedes cambiar el tipo de regla de silencio una vez lo has creado.

    • TIMESTAMP: Solo se aplica si estás actualizando un regla de silencio dinámica. La cadena de fecha/hora que indica cuándo se de elementos silenciados. El valor se debe establecer en al menos un día de la en el futuro o se rechazará la solicitud. Para obtener información sobre la hora consulta gcloud topic datetimes. Cuando se activa una regla de firewall, se quitará de todos los resultados coincidentes. Si quieres regla de silencio dinámica para que actúe de forma indefinida ante resultados coincidentes, omita esta .

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


import (
	"context"
	"fmt"
	"io"

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

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class UpdateMuteRule {

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

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

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

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

API de REST

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

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

A menos que la residencia de datos esté habilitada, puedes usar la v1 o v2 de la API de Security Command Center. La versión 2 de la API está disponible como Versión preliminar. Cuando se aplica 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 llama a muteConfigs patch:

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

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

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

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

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

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, carpeta o proyecto
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se actualizará la regla de silencio Si la residencia de datos no está habilitada, usa el valor 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\"".

  • MUTE_TYPE: El tipo de regla de silencio que eres actualizando. Los tipos válidos de reglas de silencio son DYNAMIC y STATIC No puedes cambiar el tipo de regla de silencio una vez lo has creado.

  • TIMESTAMP: Solo se aplica si estás actualizando un regla de silencio dinámica. La cadena de fecha/hora que indica cuándo se activa la función de silencio dinámica de la regla de firewall. El valor se debe establecer en, al menos, un día en el futuro; de lo contrario, se rechazará la solicitud. Para obtener información sobre los formatos de hora, consulta gcloud topic datetimes. Cuando se genera un de elementos silenciados vence, se quita de todos los resultados coincidentes. Si quieres la regla de silencio dinámica para que actúe de forma indefinida ante resultados coincidentes, omite este campo.

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

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 estáticas no activa el sonido automáticamente de los resultados que están silenciadas. Debes activar el sonido de forma manual o programática de los resultados de búsqueda.
  • Si borras las reglas de silencio dinámicas, se quitará automáticamente la regla de todos resultados que coinciden anteriormente y activa el sonido si no coinciden con ninguno reglas adicionales.
  • 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 eliminar una regla de silencio, haz clic en la pestaña del procedimiento que usar:

Console

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

    Ir a Reglas de silencio

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

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva 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. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

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

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

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

    Reemplaza lo siguiente:

    • MUTE_CONFIG_ID: Es el ID de la configuración de silenciamiento
    • PARENT: El recurso superior de la regla de silenciamiento (organization, folder o project)
    • PARENT_ID: Es el ID de la organización, carpeta o proyecto
    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se borrará la regla de silencio Si la residencia de datos no está habilitada, usa el valor global
  3. Confirma tu solicitud para borrar la regla de silenciamiento.

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class DeleteMuteRule {

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

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

    deleteMuteRule(parentPath, muteConfigId);
  }

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

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

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

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

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

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

Si usas la versión 2 de la API de Security Command Center, usa el extremo v2 para llamar 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, carpeta o proyecto
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se borrará la regla de silencio Si la residencia de datos no está habilitada, usa el valor global
  • CONFIG_ID: Es el ID numérico de la regla de silenciamiento

Silenciar un hallazgo individual

Puedes silenciar de forma estática un resultado individual con la consola de Google Cloud, gcloud CLI o Security Command Center API de gcloud.

Silenciar un resultado de forma estática no afecta su estado activo. Si un el hallazgo activo está silenciado, el atributo state no se modifica: state="ACTIVE" El hallazgo está oculto, pero permanece activo hasta que la vulnerabilidad, la configuración incorrecta o la amenaza. Además, al silenciar estáticamente un hallazgo, se anulan las reglas de silencio dinámicas que aplicar al hallazgo.

Silenciar un hallazgo de combinación tóxica cierra la combinación tóxica correspondiente para determinar si este es el caso.

Para silenciar todos los resultados futuros que coincidan con los criterios que especificaste, consulta Crea reglas de silencio.

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

Para silenciar estáticamente un hallazgo individual, haz clic en la pestaña del procedimiento que que quieres 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.

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva ubicación.

  4. Si no ves el hallazgo que debes silenciar en la Panel Resultados de la búsqueda, selecciona la categoría del hallazgo 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 hallazgos.

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

    El atributo mute de los resultados seleccionados se estableció en MUTED. el hallazgo se quita del panel Resultados de la búsqueda.

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

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

    Si seleccionas Silenciar hallazgos como este, la opción Crear regla de silenciamiento se abre esta página, en la que puedes crear una regla de silencio para los resultados del mismo o que incluyen el mismo Indicator .

gcloud

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

    Activate Cloud Shell

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

  2. 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

      Para recuperar los IDs de los hallazgos, usa la API de Security Command Center para enumerar hallazgos. El ID de hallazgo es la última parte del atributo canonicalName, para ejemplo, projects/123456789012/sources/1234567890123456789/findings`/5ee30aa342e799e4e1700826de053aa9

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

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

    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación para silenciar el hallazgo Si la residencia de datos no está habilitada, usa el valor global

    • SOURCE_ID: El ID de origen

      Para obtener instrucciones sobre cómo recuperar un ID de fuente, consulta Obtener el ID de la fuente

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

import (
	"context"
	"fmt"
	"io"

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

// setMute mutes an individual finding, can also unmute or reset the mute state of a finding.
// If a finding is already muted, muting it again has no effect.
// Various mute states are: UNDEFINED/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. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class SetMuteFinding {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

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

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

Si usas la API de Security Command Center v1, llama 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 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: el recurso superior (organizations, folders o projects).
  • PARENT_ID: Es el ID del elemento superior. organización, carpeta o proyecto.
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación para silenciar el hallazgo Si la residencia de datos no está habilitada, usa el valor global
  • SOURCE_ID: Es el ID numérico de la fuente.

    Para obtener instrucciones sobre cómo recuperar un ID de fuente, consulta Obtener el ID de la fuente

  • FINDING_ID: Es el ID del hallazgo que deseas. para silenciar.

    Para recuperar los IDs de los hallazgos, usa la API de Security Command Center para enumerar hallazgos. El ID de hallazgo es la última parte del atributo canonicalName, para ejemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9

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

Deja de silenciar resultados individuales

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

Activar el sonido de un hallazgo es útil cuando necesitas evitar que se deje oculta por una regla de silencio demasiado amplia o por una regla que podría ser demasiado compleja para modificar para excluir los resultados que consideres importantes.

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

Los hallazgos activados se vuelven a silenciar solo si se silencian manualmente. Las reglas de silencio creadas con gcloud CLI o la API de Security Command Center no afectan los resultados activados por los usuarios.

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

Console

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

    Ir a hallazgos

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

    Se abrirá la página Hallazgos y mostrará la consulta predeterminada en el Vista previa de la consulta. La consulta predeterminada filtra los resultados silenciados, por lo que debes editar la consulta antes de que aparezcan los resultados silenciados en la Panel Resultados de la búsqueda.

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva ubicación.

  4. A la derecha de la sección Vista previa de la consulta, haz clic en Editar consulta para Abre 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 hallazgos en el panel Resultados de la búsqueda son se actualizó para incluir solo los resultados silenciados.

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

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

  9. En la barra de acciones Resultados de la búsqueda, haz clic en Opciones de silencio. y, luego, selecciona Aplicar anulación de sonido.

    El atributo mute de los resultados seleccionados se estableció en UNMUTED. el hallazgo se quita del panel Resultados de la búsqueda.

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

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

gcloud

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

    Activate Cloud Shell

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

  2. 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

      Para recuperar los IDs de los hallazgos, usa la API de Security Command Center para enumerar hallazgos. El ID de hallazgo es la última parte del atributo canonicalName, para 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 superior. carpeta o proyecto,

    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se activa el sonido del hallazgo Si la residencia de datos no está habilitada, usa el valor global

    • SOURCE_ID: El ID de origen

      Para obtener instrucciones sobre cómo recuperar un ID de fuente, consulta Obtener el ID de la fuente

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


import (
	"context"
	"fmt"
	"io"

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

// setMute mutes an individual finding, can also unmute or reset the mute state of a finding.
// If a finding is already muted, muting it again has no effect.
// Various mute states are: UNDEFINED/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. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class SetUnmuteFinding {

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

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

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

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

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

Si usas la API de Security Command Center v1, llama 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 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 superior. carpeta o proyecto,
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se activa el sonido del hallazgo Si la residencia de datos no está habilitada, usa el valor global
  • SOURCE_ID: Es el ID numérico del origen

    Para obtener instrucciones sobre cómo recuperar un ID de fuente, consulta Obtener el ID de la fuente

  • FINDING_ID: Es el ID del hallazgo que deseas. para silenciar.

    Para recuperar los IDs de los hallazgos, usa la API de Security Command Center para enumerar hallazgos. El ID de hallazgo es la última parte del atributo canonicalName, para 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.

Quita una anulación del estado de silencio de resultados individuales

Aplicas una anulación del estado de silencio cuando modificas intencionalmente la función de silencio de un resultado para silenciar o dejar de silenciar el resultado de forma estática. Por ejemplo, es posible que quieras aplicar una anulación de estado de silencio para ocultar un hallazgo de gravedad baja que no valga la pena una regla de silencio dinámica.

Puedes quitar una anulación del estado de silencio de un resultado individual usando la consola de Google Cloud, gcloud CLI o la API de Security Command Center.

Antes de quitar la anulación del estado de silenciamiento de un resultado, debes comprender el lo siguiente:

  • Un hallazgo tiene una anulación del estado de silencio si está silenciado o activado de forma estática. Tú puedes anular el estado de silencio a cualquier resultado de forma manual o automática con reglas de silencio estáticas.
  • Una anulación del estado de silencio se aplica a un resultado de forma indefinida y tiene prioridad sobre cualquier regla de silencio que coincida.
  • Quitar la anulación del estado de silencio de un hallazgo restablece el estado de silencio del hallazgo para que pueda procesarse con reglas de silencio estáticas o dinámicas.
  • Quitar la anulación del estado de silencio de un resultado es diferente a activar el sonido de un hallazgo. Cuando se activa el sonido de un resultado (se aplica una anulación de activación de sonido), se silencian las reglas no se puede silenciar ese resultado hasta que hayas quitado manualmente la anulación del estado de silencio.

Para quitar la anulación de silencio de un resultado individual, haz lo siguiente:

Console

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

    Ir a hallazgos

  2. Selecciona tu organización o proyecto de Google Cloud.

  3. Opcional: Si está habilitada la residencia de datos para Security Command Center y, luego, cambia la ubicación de los datos según sea necesario.

    Para cambiar la ubicación de los datos, haz clic en el selector de ubicación en la barra de acciones. Una lista de ubicaciones . Selecciona la nueva ubicación.

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

  5. En el campo Editor de consultas, reemplaza la sentencia de silencio existente por lo siguiente:

    mute="MUTED" OR mute="UNMUTED"
  6. Haz clic en Aplicar. Los hallazgos en el panel Resultados de la búsqueda son se actualizaron para incluir los resultados silenciados de forma estática y sin silenciar.

  7. Si es necesario, filtra otros hallazgos. Por ejemplo, en la En el panel de Filtros rápidos en Categoría, selecciona el nombre de la y descubres que debes restablecerlo para filtrar todas las demás categorías hallazgo.

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

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

    El atributo mute de los resultados seleccionados se estableció en UNDEFINED. el hallazgo se quita del panel Resultados de la búsqueda.

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

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

gcloud

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

    Activate Cloud Shell

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

  2. Para establecer el estado de silenciamiento de un resultado en UNDEFINED, 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=UNDEFINED
    

    Reemplaza lo siguiente:

    • FINDING_ID: Es el ID del hallazgo que deseas. restablecer

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

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

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

    • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se quita la anulación del estado de silencio de un hallazgo Si la residencia de datos no está habilitada, usa el valor 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. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

import (
	"context"
	"fmt"
	"io"

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

// setMute mutes an individual finding, can also unmute or reset the mute state of a finding.
// If a finding is already muted, muting it again has no effect.
// Various mute states are: UNDEFINED/MUTE/UNMUTE.
func setMuteUndefined(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_UNDEFINED}

	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. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class SetMuteUndefinedFinding {

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

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

  // Reset mute state of an individual finding.
  // If a finding is already reset, resetting it again has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE/UNDEFINED.
  public static Finding setMuteUndefined(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

def set_undefined_finding(finding_path: str) -> None:
    """
      Reset mute state of an individual finding.
      Resetting a finding that isn't muted or unmuted has no effect.
      Various mute states are: UNDEFINED/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.UNDEFINED

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

API de REST

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

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

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

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

{
  "mute": "UNDEFINED"
}

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

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

{
  "mute": "UNDEFINED"
}

Reemplaza lo siguiente:

  • PARENT: El recurso superior (organizations, folders o projects)
  • PARENT_ID: Es el ID de la organización superior. carpeta o proyecto,
  • LOCATION si la residencia de datos está habilitada, Security Command Center ubicación en la que se quita la anulación del estado de silencio de un hallazgo Si la residencia de datos no está habilitada, usa el valor global
  • SOURCE_ID: Es el ID numérico del origen

Silenciar o restablecer varios resultados existentes

Puedes realizar las siguientes operaciones para silenciar de forma masiva varios elementos de los resultados mediante gcloud scc findings bulk-mute comando de gcloud CLI o el método bulkMute de la API de Security Command Center:

  • Silencia varios resultados existentes. Si se silencian los resultados existentes de forma masiva, se silencian. de manera estática y anula cualquier regla de silencio dinámica que se aplique al resultado. Si necesitas silenciar hallazgos futuros similares, crea un sonido de silencio estándar.

  • Quita la anulación del estado de silencio en varios resultados existentes. Al quitar el elemento anulación de estado silenciado en un resultado, se restablecerá el estado de silencio de MUTED (silenciado de forma estática) o UNMUTED (activado de forma estática) a UNDEFINED. Esta función puede ser útil si migras de estático a dinámico reglas de silencio.

Especifica el conjunto de resultados que necesitas silenciar. Para ello, define un filtro de búsqueda. Los filtros de silenciamiento masivo no son compatibles con todas las propiedades de los resultados. Para obtener una lista de las propiedades no admitidas, consulta No se admiten propiedades de búsqueda para las reglas de silencio.

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

Para ver un código de muestra que silencia los resultados de forma masiva, consulta Silenciar hallazgos de forma masiva.

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

Console

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

gcloud

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

    Activate Cloud Shell

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

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

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

    Reemplaza lo siguiente:

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

    • FILTER: Es la expresión que defines para filtrar. de los resultados de búsqueda.

      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.projectDisplayName=\"internal-test\"".

    • MUTE_STATE: Es el valor que indica si el elemento silencio o no el hallazgo de forma estática. Los valores válidos son MUTED y UNDEFINED. El valor se establece en MUTED de forma predeterminada. Establecer solo este valor en UNDEFINED si quieres restablecer el estado de silencio de varios de los resultados de búsqueda.

Go

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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


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

public class BulkMuteFindings {

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

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

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

    bulkMute(parentPath, muteRule);
  }

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

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

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

Python

En el siguiente ejemplo, se usa la API v1. Para modificar la muestra para la v2, reemplaza v1 por v2 y agrega /locations/LOCATION para el nombre del recurso

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

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

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

    client = securitycenter.SecurityCenterClient()

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

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

API de REST

En la API de Security Command Center, usa el método bulkMute para silenciar o restablecer el estado de silencio de varios hallazgos existentes. El cuerpo de la solicitud contiene las expresión usada para filtrar los resultados.

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

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

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

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

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

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

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

Reemplaza lo siguiente:

  • PARENT: Es el recurso superior. (organizations, folders o projects).
  • PARENT_ID: Es el ID de la organización superior. carpeta o proyecto.
  • LOCATION si la residencia de datos está habilitada, Security Command Center la ubicación para silenciar o restablecer los resultados de forma masiva Si la residencia de datos no está habilitada, usa el valor global
  • FILTER: Es la expresión que defines para filtrar. de los resultados de búsqueda.

    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.projectDisplayName=\"internal-test\"".

  • MUTE_STATE: Es el valor que indica si el elemento silencio o no el hallazgo. Los valores válidos son MUTED o UNDEFINED. El se establece en MUTED de forma predeterminada. Establece este valor únicamente en UNDEFINED si restableces el estado de silencio de varios hallazgos existentes.

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

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

Visualiza los resultados silenciados en la consola de Google Cloud

Puedes ver los resultados silenciados en la consola de Google Cloud editando el resultado 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 silenciadas:

state="ACTIVE"
AND mute="MUTED"

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

state="ACTIVE"

De forma predeterminada, la búsqueda en la consola de Google Cloud solo muestra hallazgos que no están silenciados.

Visualiza los resultados silenciados por tipo de regla de silencio

En las siguientes secciones, se describe cómo consultar los resultados activos por tipo de regla de silencio.

Para obtener más información sobre cómo enumerar resultados específicos, consulta Filtro de los resultados de búsqueda.

Resultados de la consulta silenciados por reglas estáticas de silencio

Para mostrar los resultados activos que se silenciaron con una regla de silencio estática después de una tiempo especificado, usa la siguiente consulta y, luego, inspecciona el muteInitiator para determinar si el hallazgo se silenció con una regla estática de silencio.

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

Reemplaza TIMESTAMP por la cadena de fecha/hora que indica el comienzo del período que deseas consultar. Información sobre los formatos de hora, consulta gcloud topic datetimes.

Resultados de la consulta silenciados por reglas de silencio dinámicas

Para mostrar los resultados activos que se silenciaron con una regla de silencio dinámica después de una tiempo especificado, usa la siguiente consulta:

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

Reemplaza lo siguiente:

  • TIMESTAMP: Es la cadena de fecha/hora que indica la inicio del período que deseas consultar. Para obtener información sobre la hora consulta gcloud topic datetimes.
  • PARENT_ID: Es el ID de la organización superior, la carpeta o proyecto, especificado con el formato organizations/123, folders/456, o projects/789
  • CONFIG_ID: Es el nombre de la regla de silencio. El ID debe usar caracteres alfanuméricos y guiones, y tener entre 1 y 63 caracteres.

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

Búsqueda de propiedades relacionadas con el silenciamiento

En esta sección, se enumeran las propiedades de los hallazgos relacionadas con el estado silenciado de un hallazgo y describe cómo se ven afectados 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.
  • muteUpdateTime: Es la hora en que se silencia o se deja de silenciar un resultado.
  • muteInitiator: El identificador de la principal o regla de silencio que silenció a una hallazgo.
  • muteInfo: Silencia información sobre el hallazgo, como el tipo de regla de silenciamiento. (estática o dinámica) y cuáles son las reglas de silencio con las que coincidió el hallazgo.
  • muteInfo.staticMute: Un estado de silencio estático anula cualquier silencio dinámico. reglas que se aplican a este resultado.
    • state: Un estado de silencio estático que se puede establecer silenciando el hallazgo directamente o una regla estática de silencio.
    • applyTime: Es el tiempo en el que se aplicó el estado de silencio estático al resultado.
  • muteInfo.dynamicMuteRecords: Es el registro de una regla de silencio dinámica que coincide con el hallazgo.
    • muteConfig:: Es el nombre del recurso relativo de la regla de silencio, representado por la configuración de silencio que creó el registro. Por ejemplo, organizations/123/muteConfigs/examplemuteconfig
    • matchTime: Tiempo en el que una regla de silencio dinámica coincidió con el hallazgo.

Detener las notificaciones y exportaciones de hallazgos silenciados

Si habilitas las notificaciones de resultados, haz lo siguiente: hallazgos silenciados nuevos o actualizados que coincidan con tus filtros de notificaciones aún se exportan a Pub/Sub.

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

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

¿Qué sigue?

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

Consulta más ejemplos de filtros que puedes usar.