Silenciar descobertas individuais

Este documento explica como desativar o som de descobertas individuais, ativar o som delas ou desativar o som de descobertas em massa no Security Command Center.

Funções exigidas

Para receber as permissões necessárias para ativar ou desativar o som de descobertas, peça ao administrador para conceder a você os seguintes papéis do IAM na organização, pasta ou projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Desativar o som de uma descoberta específica

É possível silenciar estaticamente uma descoberta individual usando o console doGoogle Cloud , a CLI gcloud ou a API Security Command Center.

Silenciar uma descoberta de forma estática não afeta se ela está ativa ou não. Se o som de uma descoberta ativa for desativado, o atributo state não vai mudar: state="ACTIVE". A descoberta fica oculta, mas permanece ativa até que a vulnerabilidade, a configuração incorreta ou a ameaça seja resolvida. Além disso, ao silenciar uma descoberta de forma estática, você substitui todas as regras de silenciamento dinâmico aplicadas a ela.

Ao silenciar uma descoberta de combinação tóxica, o caso correspondente é encerrado.

Para silenciar todas as descobertas futuras que correspondam aos critérios especificados, consulte Gerenciar regras de silenciamento.

Para ver um exemplo de código para silenciar uma descoberta, consulte Silenciar uma descoberta.

Para desativar o som de uma descoberta individual, clique na guia do procedimento que você quer usar:

Console

  1. No console do Google Cloud , acesse a página Descobertas do Security Command Center.

    Acesse Descobertas

  2. Se necessário, selecione o Google Cloud projeto ou a organização.
  3. Se a descoberta que você precisa silenciar não estiver no painel Resultados da consulta de descobertas, selecione a categoria da descoberta na seção Categoria no painel Filtros rápidos.
  4. Selecione a descoberta que você quer silenciar. É possível selecionar uma ou mais origens.
  5. Na barra de ações Resultados da consulta de descobertas, clique em Opções de silenciamento e selecione Aplicar substituição de silenciamento.

    O atributo mute das descobertas selecionadas é definido como MUTED, e a descoberta é removida do painel Resultados da consulta de descobertas. Como alternativa, é possível silenciar uma descoberta no painel de detalhes:

  6. No painel Como encontrar resultados da consulta da página Descobertas, na coluna Categoria, clique no nome de uma descoberta individual. O painel de detalhes da descoberta será aberto.

  7. Clique em Realizar ação.

  8. No menu Realizar ação, selecione Aplicar substituição de silenciamento.

    Se você selecionar Ignorar descobertas como esta, a página Criar regra de silenciamento será aberta, em que você poderá criar uma regra de silenciamento para descobertas do mesmo tipo ou que incluem o mesmo atributo Indicator.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para definir o estado de silenciamento de uma descoberta como MUTED, use o comando set-mute na CLI gcloud:

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

    Substitua:

    • FINDING_ID: o ID da descoberta que você quer desativar

      Para recuperar os IDs de descoberta, use a API Security Command Center para listar descobertas. O ID de descoberta é a última parte do atributo canonicalName. Por exemplo, projects/123456789012/sources/1234567890123456789/findings`/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: o recurso pai (project, folder ou organization), diferencia maiúsculas de minúsculas

    • PARENT_ID: o ID da organização, pasta ou projeto principal

    • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.

    • SOURCE_ID: o ID da origem

      Para instruções sobre como recuperar um ID de origem, consulte Como conseguir o ID de origem.

Go

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java


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

public class SetMuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //
    String findingPath = "{path-to-the-finding}";

    setMute(findingPath);
  }

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

      SetMuteRequest setMuteRequest =
          SetMuteRequest.newBuilder()
              // Relative path for the finding.
              .setName(findingPath)
              .setMute(Mute.MUTED)
              .build();

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

Python

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

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

Na API Security Command Center, use o método findings.setMute para silenciar uma descoberta. O corpo da solicitação é uma enumeração que indica o estado de desativação de som resultante:

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

{
  "mute": "MUTED"
}

Substitua:

  • PARENT: o recurso pai (organizations, folders ou projects).
  • PARENT_ID: o ID da organização, pasta ou projeto principal.
  • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.
  • SOURCE_ID: o ID numérico da origem.

    Para instruções sobre como recuperar um ID de origem, consulte Como conseguir o ID de origem.

  • FINDING_ID: o ID da descoberta que você quer desativar.

    Para recuperar os IDs de descoberta, use a API Security Command Center para listar descobertas. O ID de descoberta é a última parte do atributo canonicalName. Por exemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Depois de desativar uma descoberta, o atributo mute é definido como MUTED.

Ativar som de descobertas individuais

É possível estaticamente remover o silenciamento de uma descoberta individual usando o console do Google Cloud , a CLI gcloud ou a API Security Command Center.

Cancelar o silenciamento de uma descoberta é útil quando você precisa evitar que ela seja ocultada por uma regra de silenciamento muito ampla ou por uma regra que pode ser muito complexa para modificar e excluir descobertas que você considera importantes.

As descobertas silenciadas são desativadas novamente somente se forem desativadas manualmente. As regras de silenciamento criadas com a CLI gcloud ou a API Security Command Center não afetam as descobertas não ignoradas pelos usuários.

Para ver um exemplo de código para reativar uma descoberta, consulte Reativar uma descoberta.

Console

Para ativar o som de uma descoberta individual usando o console do Google Cloud , clique na guia do seu nível de serviço:

  1. No console do Google Cloud , acesse a página Descobertas do Security Command Center.

    Acesse Descobertas

  2. Se necessário, selecione o Google Cloud projeto ou a organização. A página Descobertas é aberta com a consulta padrão exibida na seção Visualização da consulta. A consulta padrão filtra as descobertas silenciadas. Portanto, você precisa editar a consulta antes que as descobertas silenciadas sejam exibidas no painel Resultados da consulta de descobertas.
  3. À direita da seção Visualização da consulta, clique em Editar consulta para abrir o Editor de consultas.
  4. No campo Editor de consultas, substitua a instrução de silenciamento atual pelo seguinte:
    mute="MUTED"
  5. Clique em Aplicar. As descobertas no painel Resultados da consulta de descobertas são atualizadas para incluir apenas as descobertas silenciadas.
  6. Se necessário, filtre outras descobertas silenciadas. Por exemplo, na Filtros rápidos painel em Categoria selecione o nome da descoberta que precisa ser ativada para filtrar todas as outras categorias de descoberta.
  7. Selecione a descoberta que você quer parar de ignorar. É possível selecionar uma ou mais origens.
  8. Na barra de ações Resultados da consulta de descobertas, clique em Opções de silenciamento e selecione Aplicar substituição de ativação de som. O atributo mute das descobertas selecionadas é definido como UNMUTED, e a descoberta é removida do painel Resultados da consulta de descobertas. Também é possível desativar o som de uma descoberta no painel de detalhes:
  9. No painel Como encontrar resultados da consulta da página Descobertas, na coluna Categoria, clique no nome de uma descoberta individual. O painel de detalhes da descoberta será aberto.
  10. Clique em Realizar ação.
  11. No menu Entrar em ação, selecione Aplicar substituição de ativação do som.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para definir o estado de silenciamento de uma descoberta como UNMUTED, use o comando set-mute na CLI gcloud:

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

    Substitua:

    • FINDING_ID: o ID da descoberta que você quer desativar

      Para recuperar os IDs de descoberta, use a API Security Command Center para listar descobertas. O ID de descoberta é a última parte do atributo canonicalName. Por exemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: o recurso pai (project, folder ou organization), diferencia maiúsculas de minúsculas

    • PARENT_ID: o ID da organização, pasta ou projeto principal

    • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.

    • SOURCE_ID: o ID da origem

      Para instruções sobre como recuperar um ID de origem, consulte Como conseguir o ID de origem.

Go


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java


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

public class SetUnmuteFinding {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // findingPath: The relative resource name of the finding. See:
    // https://cloud.google.com/apis/design/resource_names#relative_resource_name
    // Use any one of the following formats:
    //  - organizations/{org_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - folders/{folder_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //  - projects/{project_id}/sources/{source_id}/locations/{location}/finding/{finding_id}
    //
    String findingPath = "{path-to-the-finding}";

    setUnmute(findingPath);
  }

  // Unmute an individual finding.
  // Unmuting a finding that isn't muted has no effect.
  // Various mute states are: MUTE_UNSPECIFIED/MUTE/UNMUTE.
  public static Finding setUnmute(String findingPath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (SecurityCenterClient client = SecurityCenterClient.create()) {

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

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

Python

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

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

Na API Security Command Center, use o método findings.setMute para remover o silenciamento de uma descoberta. O corpo da solicitação é uma enumeração que indica o estado de desativação de som resultante:

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

{
  "mute": "UNMUTED"
}

Substitua:

  • PARENT: o recurso pai (organizations, folders ou projects);
  • PARENT_ID: o ID da organização, pasta ou projeto principal
  • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.
  • SOURCE_ID: o ID numérico da origem

    Para instruções sobre como recuperar um ID de origem, consulte Como conseguir o ID de origem.

  • FINDING_ID: o ID da descoberta que você quer desativar.

    Para recuperar os IDs de descoberta, use a API Security Command Center para listar descobertas. O ID de descoberta é a última parte do atributo canonicalName. Por exemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

As descobertas selecionadas não estão mais ocultas, e o atributo mute para as descobertas está definido como UNMUTED.

Remover uma substituição de estado de silenciamento de descobertas individuais

Você aplica uma substituição de estado de ignorar quando modifica intencionalmente o estado de ignorar de uma descoberta para ignorar ou cancelar a ignorância dela de forma estática. Por exemplo, talvez você queira aplicar uma substituição de estado de silenciamento para ocultar uma descoberta de baixa gravidade que não vale a pena criar uma regra de silenciamento dinâmico.

É possível remover uma substituição de estado de silenciamento de uma descoberta individual usando o console Google Cloud , a CLI gcloud ou a API Security Command Center.

Antes de remover a substituição do estado de silenciamento de uma descoberta, entenda o seguinte:

  • Uma descoberta tem uma substituição de estado de silenciamento se for silenciada ou ativada de forma estática. É possível aplicar uma substituição de estado de silenciamento a qualquer descoberta de forma manual ou automática com regras de silenciamento estáticas.
  • Uma substituição de estado de silenciamento é aplicada a uma descoberta por tempo indeterminado e tem prioridade sobre qualquer regra de silenciamento correspondente.
  • A remoção da substituição do estado de silenciamento de uma descoberta redefine o estado de silenciamento dela para que possa ser processada por regras de silenciamento estáticas ou dinâmicas.
  • Remover a substituição do estado de silenciamento de uma descoberta é diferente de remover o silenciamento de uma descoberta. Quando você cancela o silenciamento de uma descoberta (aplica uma substituição de cancelamento), as regras de silenciamento não podem silenciar essa descoberta até que você remova manualmente a substituição do estado de silenciamento.

Para remover a substituição de desativação de uma descoberta individual, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página Descobertas do Security Command Center.

    Acesse Descobertas

  2. Selecione Google Cloud o projeto ou a organização.
  3. À direita da seção Visualização da consulta, clique em Editar consulta para abrir o Editor de consultas.
  4. No campo Editor de consultas, substitua a instrução de silenciamento atual pelo seguinte:
    mute="MUTED" OR mute="UNMUTED"
  5. Clique em Aplicar. As descobertas no painel Resultados da consulta de descobertas são atualizadas para incluir descobertas silenciadas e não silenciadas estaticamente.
  6. Se necessário, filtre outras descobertas. Por exemplo, no painel Filtros rápidos, em Categoria, selecione o nome da descoberta que precisa ser redefinida para filtrar todas as outras categorias de descoberta.
  7. Selecione a descoberta que você quer redefinir. É possível selecionar uma ou mais origens.
  8. Na barra de ações Resultados da consulta de descobertas, clique em Opções de silenciamento e selecione Remover substituições de silenciamento. O atributo mute das descobertas selecionadas é definido como UNDEFINED, e a descoberta é removida do painel Resultados da consulta de descobertas. Também é possível desativar o som de uma descoberta no painel de detalhes:
  9. No painel Como encontrar resultados da consulta da página Descobertas, na coluna Categoria, clique no nome de uma descoberta individual. O painel de detalhes da descoberta será aberto.
  10. Clique em Realizar ação.
  11. No menu Entrar em ação, selecione Remover substituições de silenciamento.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para definir o estado de silenciamento de uma descoberta como UNDEFINED, use o comando set-mute na CLI gcloud:

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

    Substitua:

    • FINDING_ID: o ID da descoberta que você quer redefinir

      Para recuperar os IDs de descoberta, use a API Security Command Center para listar descobertas. O ID de descoberta é a última parte do atributo canonicalName. Por exemplo, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: o recurso pai (project, folder ou organization), diferencia maiúsculas de minúsculas

    • PARENT_ID: o ID da organização, pasta ou projeto principal

    • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.

    • SOURCE_ID: o ID da origem

      Para instruções sobre como recuperar um ID de origem, consulte Como conseguir o ID de origem.

REST

Na API Security Command Center, use o método findings.setMute para redefinir o estado de silêncio de uma descoberta. O corpo da solicitação é uma enumeração que indica o estado de desativação de som resultante:

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

{
  "mute": "UNDEFINED"
}

Substitua:

  • PARENT: o recurso pai (organizations, folders ou projects);
  • PARENT_ID: o ID da organização, pasta ou projeto principal
  • LOCATION: o local do Security Command Center em que as descobertas serão ignoradas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.
  • SOURCE_ID: o ID numérico da origem

Java


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

public class SetMuteUndefinedFinding {

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

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

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

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

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

Silenciar ou redefinir várias descobertas

É possível realizar as seguintes operações de desativação em massa para várias descobertas usando o comando da CLI gcloud gcloud scc findings bulk-mute ou o método bulkMute da API Security Command Center:

  • Silenciar várias descobertas. Silenciar descobertas em massa as silencia estaticamente e substitui todas as regras de silenciamento dinâmico aplicadas a elas. Se você precisar silenciar descobertas futuras semelhantes, crie uma regra de silenciamento.

  • Remova a substituição do estado de silenciamento em várias descobertas atuais. Ao remover a substituição do estado de silenciamento em uma descoberta, você redefine o estado de MUTED (silenciada estaticamente) ou UNMUTED (sem silenciamento estático) para UNDEFINED. Isso pode ser útil se você estiver migrando de regras de silenciamento estáticas para dinâmicas.

Especifique o conjunto de descobertas que você precisa silenciar definindo um filtro de descobertas. Os filtros de desativação de som em massa não são compatíveis com todas as propriedades de descoberta. Para uma lista de propriedades não compatíveis, consulte Propriedades de descoberta não compatíveis com regras de silenciamento.

Se a residência de dados estiver ativada para o Security Command Center, as operações de silenciamento em massa serão limitadas ao local do Security Command Center em que forem executadas.

Para ver um exemplo de código que silencia descobertas em massa, consulte Silenciar descobertas em massa.

Para desativar o som ou redefinir descobertas em massa, clique na guia do procedimento que você quer usar:

Console

No console do Google Cloud , só é possível desativar em massa as descobertas criando regras de desativação. No consoleGoogle Cloud , a criação de regras de desativação silencia descobertas atuais e futuras.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para desativar ou redefinir várias descobertas em massa, execute o comando gcloud scc findings bulk-mute:

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

    Substitua:

    • PARENT: o escopo na hierarquia de recursos a que a regra de silenciamento se aplica, organization, folder ou project.
    • PARENT_ID: o ID numérico da organização, pasta ou projeto pai ou o ID alfanumérico do projeto pai.
    • LOCATION: o local do Security Command Center em que as descobertas serão silenciadas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.
    • FILTER: a expressão definida para filtrar descobertas.

      Por exemplo, para desativar todas as descobertas de OPEN_FIREWALL e PUBLIC_IP_ADDRESS de baixa gravidade no projeto internal-test, o filtro pode ser "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

    • MUTE_STATE: o valor que indica se a descoberta está silenciada estaticamente ou não. Os valores válidos são: MUTED e UNDEFINED. O valor padrão é MUTED. Defina esse valor como UNDEFINED apenas se você estiver redefinindo o estado de silenciamento de várias descobertas atuais.

REST

Na API Security Command Center, use o método findings.bulkMute para desativar ou redefinir o estado de desativação de várias descobertas. O corpo da solicitação contém a expressão usada para filtrar descobertas:

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

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

Substitua:

  • PARENT: o recurso pai (organizations, folders ou projects).
  • PARENT_ID: o ID da organização, pasta ou projeto principal.
  • LOCATION: o local do Security Command Center em que as descobertas serão silenciadas ou não. Se a residência de dados estiver ativada, use eu, sa ou us. Caso contrário, use o valor global.
  • FILTER: a expressão definida para filtrar descobertas.

    Por exemplo, para desativar todas as descobertas de OPEN_FIREWALL e PUBLIC_IP_ADDRESS de baixa gravidade no projeto internal-test, o filtro pode ser "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

  • MUTE_STATE: o valor que indica se a descoberta está silenciada ou não. Os valores válidos são MUTED ou UNDEFINED. O valor é definido como MUTED por padrão. Defina esse valor como UNDEFINED apenas se você estiver redefinindo o estado de silenciamento de várias descobertas.

Todas as descobertas existentes no recurso selecionado e que correspondem exatamente ao filtro estão ocultas. O atributo mute das descobertas está definido como MUTED.

A desativação de descobertas não muda o estado delas. Se as descobertas ativas forem silenciadas, elas ficarão ocultas, mas permanecerão ativas até que as vulnerabilidades, configurações incorretas ou ameaças sejam resolvidas.

Ver descobertas silenciadas no console do Google Cloud

É possível visualizar descobertas silenciadas no console do Google Cloud editando a consulta de descoberta para selecionar descobertas que incluam o valor de propriedade mute="MUTED".

Por exemplo, a consulta de descobertas a seguir exibe apenas descobertas ativas que estão com o som desativado:

state="ACTIVE"
AND mute="MUTED"

Para exibir todas as descobertas ativas, com e sem som, omita completamente o atributo mute da consulta:

state="ACTIVE"

Por padrão, a consulta de descoberta no console do Google Cloud mostra apenas descobertas que não estão silenciadas.

Ver descobertas silenciadas por tipo de regra de silenciamento

As seções a seguir descrevem como consultar descobertas ativas por tipo de regra de silenciamento.

Para mais informações sobre como listar descobertas específicas, consulte Filtrar descobertas.

Consultar descobertas silenciadas por regras de silenciamento estático

Para mostrar descobertas ativas que foram silenciadas por uma regra de silenciamento estática após um período especificado, use a consulta a seguir e inspecione o atributo muteInitiator para determinar se a descoberta foi silenciada por uma regra de silenciamento estática.

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

Substitua TIMESTAMP pela string de data e hora que indica o início do período que você quer consultar. Para informações sobre formatos de tempo, consulte gcloud topic datetimes.

Consultar descobertas silenciadas por regras de silenciamento dinâmico

Para mostrar descobertas ativas que foram silenciadas por uma regra de silenciamento dinâmica após um período especificado, use a seguinte consulta:

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

Substitua:

  • TIMESTAMP: a string de data e hora que indica o início do período que você quer consultar. Para informações sobre formatos de hora, consulte gcloud topic datetimes.
  • PARENT_ID: o ID da organização, pasta ou projeto principal, especificado no formato organizations/123, folders/456 ou projects/789.
  • CONFIG_ID: o nome da regra de silenciamento. O ID precisa usar caracteres alfanuméricos e hifens e ter entre 1 e 63 caracteres.

Para mais informações sobre como editar consultas de descoberta, consulte Criar ou editar uma consulta de descobertas no painel.

Interromper notificações e exportações de descobertas silenciadas

Se você ativar as notificações de descoberta, as descobertas silenciadas novas ou atualizadas que corresponderem aos filtros de notificação ainda serão exportadas para o Pub/Sub.

Para interromper as exportações e notificações de descobertas silenciadas, use o atributo mute para excluir as descobertas silenciadas no filtro NotificationConfig. Por exemplo, o filtro a seguir envia apenas notificações de descobertas ativas que não tenham o som desativado ou quando o atributo de silenciamento não tenha sido definido:

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