Silenciar as descobertas no Security Command Center

Nesta página, explicamos como reduzir o volume de descobertas recebidas no Security Command Center silenciando as descobertas.

A desativação de uma descoberta a oculta da visualização padrão das suas descobertas no Console do Google Cloud. É possível ignorar descobertas manual ou programaticamente e criar filtros para silenciar automaticamente as descobertas atuais e futuras com base nos critérios especificados por você.

Os serviços de detecção do Security Command Center oferecem amplas avaliações de segurança de para a implantação do Google Cloud, mas talvez você descubra que certas descobertas apropriados ou relevantes para sua organização ou projetos. Um grande volume de descobertas também pode dificultar a identificação e a correção dos riscos mais críticos pelos analistas de segurança. Silenciar as descobertas economiza tempo de analisar ou responder a descobertas de segurança para ativos isolados ou se enquadram em parâmetros de negócios aceitáveis.

Silenciar as descobertas tem várias vantagens em relação como desativar detectores:

  • É possível criar filtros personalizados para ajustar quais descobertas serão silenciadas.
  • É possível usar as regras de silenciamento para silenciar as descobertas de forma temporária ou indefinida.
  • Ignorar as descobertas não impede que os recursos subjacentes sejam verificados. As descobertas ainda serão geradas, mas permanecerão ocultas até que você decida visualizá-las.

Permissões

Para usar as descobertas de silenciamento, você precisa de um dos seguintes papéis de gerenciamento de identidade e acesso (IAM) na organização, pasta ou projeto } nível:

  • Ver regras de silenciamento:
    • Leitor administrador da Central de segurança (roles/securitycenter.adminViewer)
    • Leitor de configurações da Central de segurança (roles/securitycenter.settingsViewer)
    • Leitor de configurações de desativação de som da Central de segurança (roles/securitycenter.muteConfigsViewer)
  • Veja, crie, atualize e exclua regras de silenciamento:
    • Administrador da Central de segurança (roles/securitycenter.admin)
    • Editor administrador da Central de segurança (roles/securitycenter.adminEditor)
    • Editor de configurações da Central de segurança (roles/securitycenter.settingsEditor)
    • Editor de configurações de desativação de sons da Central de segurança (roles/securitycenter.muteConfigsEditor)
  • Silenciar descobertas manualmente:
    • Editor de descobertas da Central de segurança (roles/securitycenter.findingsEditor)

Também é possível criar e conceder papéis personalizados com algumas ou todas as seguintes permissões:

  • Permissões de leitura da regra de silenciamento
    • securitycenter.muteconfigs.get
    • securitycenter.muteconfigs.list
  • Permissões de gravação da regra de silenciamento
    • securitycenter.muteconfigs.create
    • securitycenter.muteconfigs.update
    • securitycenter.muteconfigs.delete
  • Como encontrar permissões de gravação
    • securitycenter.findings.setMute
    • securitycenter.findings.bulkMuteUpdate

O recurso de silenciar descobertas adere aos papéis concedidos no nível da organização, da pasta ou do projeto. É possível silenciar descobertas em pastas ou projetos específicos e restringir a capacidade de outras pessoas de ignorar descobertas com base no acesso concedido a elas. Por exemplo, se você tiver acesso a um único projeto, só será possível silenciar as descobertas nesse projeto. Se você tiver acesso a uma pasta, poderá ignorar as descobertas em qualquer subpasta ou projeto dentro dela.

Para saber mais sobre os papéis do Security Command Center, consulte Controle de acesso.

Criar e gerenciar regras de silenciamento

As regras de silenciamento são configurações do Security Command Center que usam filtros que você cria para silenciam automaticamente as descobertas futuras e existentes com base nos critérios especificados. É possível criar filtros com regras de silenciamento estáticas ou dinâmicas.

As regras de silenciamento estáticas silenciam as descobertas futuras indefinidamente. Desativar som dinâmico as regras silenciam as descobertas futuras e atuais temporariamente até uma data especificada ou indefinidamente, até que uma descoberta não corresponda mais à configuração.

Tipos de regras de silenciamento

O Security Command Center oferece suporte a configurações de regras de silenciamento estáticas e dinâmicas. Embora é possível usar regras de silenciamento estáticas e dinâmicas simultaneamente, mas isso não é recomendável. As regras de silenciamento estáticas substituem as dinâmicas quando são aplicadas à mesma descoberta. Por isso, as regras dinâmicas de silenciamento não vão funcionar como esperado, o que pode criar confusão ao gerenciar suas descobertas. Portanto, recomendamos que você use apenas um tipo de regra de silenciamento.

Recomendamos usar a desativação dinâmica, a menos que você já esteja usando regras estáticas de silenciamento. regras exclusivamente porque elas oferecem mais flexibilidade.

A tabela a seguir fornece uma comparação de alto nível dos dois tipos de regra de silenciamento. Para mais detalhes, consulte Regras de silenciamento estáticas e Regras de silenciamento dinâmicas regras de silenciamento.

Regras estáticas de silenciamento Regras dinâmicas de silenciamento
Aja indefinidamente com base nas descobertas. Pode realizar ações encontrando temporariamente com um prazo de validade ou indefinidamente nenhum prazo de validade é definido.
Não se aplica a descobertas existentes. Aplicar a descobertas atuais e novas.
têm precedência sobre as regras dinâmicas de silenciamento; está têm prioridade mais baixa e são substituídas por regras estáticas de silenciamento quando se aplicam a uma descoberta.

Regras estáticas de silenciamento

  • As regras de silenciamento estáticas funcionam indefinidamente. Quando uma descoberta corresponde à funcionalidade de silenciamento estática configuração, o Security Command Center define automaticamente a propriedade mute de a descoberta para MUTED até que você a altere manualmente.
  • As regras estáticas de silenciamento não afetam as descobertas atuais. Elas se aplicam apenas a descobertas recém-criadas ou atualizadas após a definição da regra. Se você também quiser silenciar descobertas existentes semelhantes, use os mesmos filtros para silenciar descobertas.
  • As regras de silenciamento estáticas têm precedência sobre as regras dinâmicas de silenciamento. Portanto, todas as novas descobertas que correspondam a uma regra estática de silenciamento definida são consideradas silenciadas mesmo se elas também correspondem a uma regra de silenciamento dinâmica definida.

Regras dinâmicas de silenciamento

  • As regras dinâmicas de silenciamento podem ser aplicadas a uma descoberta temporariamente com uma expiração. ou indefinidamente, se nenhum prazo de validade for definido. Quando uma conta de serviço a descoberta criada corresponde à configuração de silenciamento dinâmico, o Security Command Center define automaticamente a propriedade mute da descoberta como MUTED até que o ou até que haja alterações na descoberta ou configuração em si. Quando uma regra de silenciamento dinâmica expira, o Security Command Center remove a regra da descoberta. Se a descoberta não corresponder a nenhuma outra regras dinâmicas de silenciamento, a propriedade mute será redefinida automaticamente para UNDEFINED.
  • As regras dinâmicas de silenciamento são aplicadas automaticamente a descobertas que correspondam às suas da organização, bem como as descobertas recém-criadas ou atualizadas.
  • As regras dinâmicas de silenciamento têm prioridade mais baixa e são substituídas pelo silenciamento estático quando ambos os tipos se aplicam a uma descoberta.

Recomendamos o uso exclusivo das regras dinâmicas de silenciamento. A capacidade de temporariamente Ativar e desativar o som automaticamente torna as regras de silenciamento dinâmicas mais flexíveis do que as regras estáticas de silenciamento.

Se você estiver usando regras estáticas de silenciamento para reduzir o número de descobertas analisar manualmente e se quiser migrar para as regras dinâmicas de silenciamento, consulte Migrar do modo de silenciamento estático para o dinâmico regras.

Escopo das regras de silenciamento

Considere o escopo de uma regra de silenciamento ao criar filtros.

Por exemplo, se um filtro for gravado para silenciar as descobertas em Project A, mas o filtro em si é criado em Project B, ele pode não corresponder nenhuma descoberta.

Da mesma forma, se a residência de dados estiver ativado, o escopo de uma regra de silenciamento é limitado ao local do Security Command Center em que a regra de silenciamento está criados. Por exemplo, se você criar uma regra de silenciamento nos Estados Unidos (us), a regra de silenciamento não silencia as descobertas armazenadas em os locais da União Europeia (eu) ou Global (global). Para mais informações sobre residência de dados e regras de silenciamento, consulte Regras de silenciamento, exportações contínuas e residência de dados.

Para mais informações sobre a criação de filtros, consulte Filtrar notificações.

Restrições da regra de silenciamento

As regras de silenciamento não são compatíveis com todas as propriedades de descoberta. Para uma lista de propriedades que as regras de silenciamento não são compatíveis. Consulte As propriedades de descoberta não são compatíveis com as regras de silenciamento.

Você pode criar, ver, atualizar e excluir regras de silenciamento com base no escopo papéis do IAM. Com os papéis no nível da organização, você vê regras de silenciamento para todas as pastas e projetos dentro da organização. Se você tiver papéis no nível da pasta, poderá acessar e gerenciar regras de silenciamento para pastas específicas e todas as subpastas e projetos dentro dessas pastas. Os papéis no nível do projeto permitem gerenciar regras de silenciamento em projetos específicos.

O Security Command Center Premium é compatível com a concessão de papéis nos níveis da organização, pasta e projeto. O Security Command Center Standard aceita apenas papéis no nível da organização. Para mais informações, consulte Controle de acesso.

Regras de residência de dados e silenciamento

Se a residência dos dados estiver ativada, o configurações que definem regras de silenciamento (recursos muteConfig) são sujeitos ao controle de residência de dados e armazenados em Local do Security Command Center que você selecionar.

Para aplicar uma regra de silenciamento às descobertas em uma instância do Security Command Center local, é necessário criar a regra de silenciamento no mesmo local das descobertas a que se aplica.

Como os filtros usados nas regras de silenciamento podem conter dados sujeitos a controles de residência, especifique o local correto antes de criá-los. O Security Command Center não restringe o local que você cria regras de silenciamento ou exportações de streaming.

As regras de silenciamento são armazenadas apenas no local em que foram criadas e não podem ser visualizadas ou editadas em outros locais.

Depois de criar uma regra de silenciamento, não é possível mudar o local dela. Para mudar o local, exclua a regra de silenciamento e a recrie no novo local.

Para acessar as regras de silenciamento no console do Google Cloud, primeiro você precisa definir o do console do Google Cloud para o local em que foram criados.

As mesmas regras se aplicam à representação da API de uma regra de silenciamento, MuteConfig.

Para extrair um MuteConfig usando chamadas de API, faça o seguinte: você precisa especificar o local no nome completo do recurso o MuteConfig. Exemplo:

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

Da mesma forma, para extrair um muteConfig usando a CLI gcloud, é possível especificar o local usando a sinalização --locations. Exemplo:

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

Criar uma regra para ignorar

Sua organização pode criar no máximo 1.000 regras de silenciamento.

É possível criar regras de silenciamento estáticas ou dinâmicas usando o console do Google Cloud. a CLI gcloud ou o Security Command Center API. Recomendamos o uso exclusivo das regras dinâmicas de silenciamento na sua regra de silenciamento porque elas são mais flexíveis que as regras estáticas de silenciamento. Para um comparação dos tipos de regras de silenciamento, consulte Tipos de regras de silenciamento.

Para ver um exemplo de código que cria uma regra de silenciamento, consulte Criar uma regra de silenciamento.

Para criar uma regra para ignorar, clique na guia do procedimento que você 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 projeto ou a organização do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. Clique em Opções de silenciamento e selecione Gerenciar regras de silenciamento.

  5. Clique em Criar regra de silenciamento e selecione Regra de silenciamento dinâmica ou Regra estática de silenciamento: Para mais informações sobre os tipos de regra de silenciamento, consulte Tipos das regras de silenciamento.

  6. Digite um ID da regra de silenciamento. Esse valor é obrigatório.

  7. Insira uma descrição de regra de silenciamento que forneça contexto para explicar por que as descobertas são silenciadas. Esse valor é opcional, mas recomendado.

    Recurso pai indica o escopo em que a regra de silenciamento será criada e aplicada.

  8. Se você estiver criando uma regra de silenciamento estática ou uma regra dinâmica de silenciamento sem a expiração, continue para a próxima etapa. Se você estiver criando uma ativação de som dinâmico regra para silenciar temporariamente as descobertas, siga estas etapas:

    1. Marque a caixa de seleção Silenciar descobertas correspondentes temporariamente.
    2. Selecione ou digite a data de validade da regra de silenciamento dinâmica. Isso value indica por quanto tempo a regra silencia as descobertas correspondentes.
  9. No campo Consulta de descobertas, crie as instruções de consulta clicando em Adicionar filtro. Como alternativa, é possível digitar as instruções de consulta manualmente.

    A caixa de diálogo Selecionar filtro permite escolher os atributos e valores de descoberta suportados.

    Caixa de diálogo do filtro de consulta
    1. Selecione um atributo de descoberta ou digite um nome na caixa Pesquisar atributos de descoberta. Uma lista dos subatributos disponíveis será exibida.
    2. Selecione um subatributo. Um campo de seleção para as opções de avaliação é exibido acima de uma lista dos valores de subatributos encontrados nas descobertas do painel Resultados da consulta de descobertas.
    3. Selecione uma opção de avaliação para os valores do subatributo selecionado. Para mais informações sobre as opções de avaliação e os operadores e funções que eles usam, consulte Consulta no menu "Adicionar filtros".
    4. Selecione Aplicar.

      A caixa de diálogo será fechada, e a consulta será atualizada.

    5. Repita até que a consulta de descobertas contenha todos os atributos que você quer.
  10. Verifique a precisão do filtro. Para fazer alterações, exclua ou adicione propriedades e filtre os valores conforme necessário.

  11. Clique em Visualizar descobertas correspondentes.

    Uma tabela mostra descobertas que correspondem à sua consulta.

  12. Clique em Save.

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 criar regras de silenciamento, execute o 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
    

    Substitua:

    • CONFIG_ID: o nome da regra de silenciamento. O ID deve usar caracteres alfanuméricos e hifens e ter entre 1 e 63 caracteres.
    • PARENT: o escopo na hierarquia de recursos. a que a regra de silenciamento se aplica, organization, folder ou project.
    • PARENT_ID: o ID da organização pai. pasta ou projeto especificado no formato organizations/123, folders/456 ou projects/789.
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será criada. se a residência de dados não estiver ativada, use o valor global.
    • RULE_DESCRIPTION: uma descrição do item silenciado de no máximo 1.024 caracteres.
    • FILTER: a expressão que você define para filtrar. descobertas. Por exemplo, para silenciar OPEN_FIREWALL descobertas, seu filtro pode ser FILTER="category=\"OPEN_FIREWALL\"".
    • MUTE_TYPE: o tipo de regra de silenciamento que você quer criar. Os tipos de regra de silenciamento válidos são DYNAMIC e STATIC. O tipo de regra de silenciamento é definido como STATIC por padrão. Não é possível alterar o tipo de uma regra de silenciamento depois de criá-la.
    • TIMESTAMP: só se aplica se você estiver criando um regra dinâmica de silenciamento. A string de data/hora que indica quando o evento quando a regra de silenciamento expira. O valor deve ser definido para pelo menos um dia no no futuro, ou a solicitação será rejeitada. Para para mais informações sobre formatos de hora, consulte gcloud topic datetimes. Quando o som dinâmico for desativado quando a regra expira, ela é removida de todas as descobertas correspondentes. Se você quiser que regra de silenciamento dinâmica para agir indefinidamente em descobertas correspondentes, omita essa .

    A resposta inclui o ID da regra de silenciamento, que você pode usar para ver, atualizar e excluir regras de silenciamento, conforme descrito em Gerenciar regras de silenciamento.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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 = M"ute low-medium IAM grants excluding c'ompute '
"    # 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 = (
        s'everity=L"OW "OR severity=M"EDIUM "AND 
'        c'ategory=P"ersistence: IAM Anomalous Grant "AND 
'        -'resource.type:c"ompute
"'    )

    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(fM"ute rule created successfully: {mute_config.name})"

API REST

Na API Security Command Center, use o método muteConfigs create para criar uma regra de silenciamento. O corpo da solicitação é uma instância de MuteConfig.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como uma versão de pré-lançamento. Quando a residência de dados está ativada, A API v2 é a única API disponível.

Se você estiver usando a API Security Command Center v1, use o endpoint da versão 1 para chamar muteConfigs create. No corpo da solicitação, use a versão 1 MuteConfig. definição:

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

Caso esteja usando a API Security Command Center v2, use a versão 2 endpoint para chamar muteConfigs create No corpo da solicitação, use a versão 2 MuteConfig definição:

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

Substitua:

  • PARENT: o recurso pai da regra de silenciamento (organizations, folders ou projects);
  • PARENT_ID: o ID da organização pai. pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será criada. se a residência de dados não estiver ativada, use o valor global
  • MUTE_CONFIG_ID: o nome da regra de silenciamento. (entre 1 e 63 caracteres)
  • RULE_DESCRIPTION: uma descrição do item silenciado regra (máx.: 1.024 caracteres)
  • FILTER: a expressão que você define para filtrar. descobertas

    Por exemplo, para silenciar descobertas OPEN_FIREWALL, seu filtro pode ser "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: o tipo de regra de silenciamento que você quer criar. Os tipos de regra de silenciamento válidos são DYNAMIC e STATIC. Não é possível alterar o tipo de uma regra de silenciamento depois de que o criou.

  • TIMESTAMP: só se aplica se você estiver criando um regra dinâmica de silenciamento. A string de data/hora que indica quando o evento quando a regra de silenciamento expira. O valor deve ser definido para pelo menos um dia no no futuro, ou a solicitação será rejeitada. Para para mais informações sobre formatos de hora, consulte gcloud topic datetimes. Quando o som dinâmico for desativado quando a regra expira, ela é removida de todas as descobertas correspondentes. Se você quiser que regra de silenciamento dinâmica para agir indefinidamente em descobertas correspondentes, omita essa .

A resposta inclui o ID de configuração de desativação de som que pode ser usado para ver, atualizar e excluir regras de desativação de som, conforme descrito em Gerenciar regras de desativação de som.

Novas descobertas que correspondem exatamente ao filtro estão ocultas, e o atributo mute para as descobertas é definido como MUTED.

Não há suporte para as propriedades de descoberta nas regras de silenciamento

As regras de silenciamento não são compatíveis com todas as propriedades de descoberta em filtros. As propriedades a seguir não são compatíveis com filtros de regras de silenciamento.

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

Listar regras de silenciamento

Para listar as regras de silenciamento em uma organização, pasta ou projeto, usando o console do Google Cloud, a CLI gcloud ou a API Security Command Center.

Sua capacidade de listar regras de silenciamento para um determinado escopo depende do as permissões concedidas ao IAM, papéis de segurança na nuvem.

Se a residência de dados estiver ativada para o Security Command Center, o escopo do comando list também está limitado aos comandos Local do Security Command Center.

Para acessar um exemplo de código que lista as regras de silenciamento, consulte Listar regras de silenciamento.

Para listar as regras de silenciamento de uma organização, pasta ou projeto, clique na guia do procedimento que você usar:

Console

  1. No console do Google Cloud, acesse a guia Regras de desativação na página Configurações do Security Command Center.

    Acessar "Ignorar regras"

  2. Se necessário, selecione o projeto ou a organização do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. Na seção Regras de silenciamento, você encontra detalhes das regras ativas, incluindo o seguinte:

    • Nome: ID da regra de silenciamento
    • Recurso pai: o recurso no qual a regra para silenciar fica.
    • Descrição: a descrição da regra de silenciamento, se disponível
    • Última atualização feita por: o principal que atualizou a regra pela última vez.
    • Última atualização: a data e a hora em que a regra foi atualizada pela ú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 listar regras de silenciamento, execute o comando gcloud scc muteconfigs list:

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

    Substitua:

    • PARENT: o organization pai, folder. ou project para as quais as regras de silenciamento serão listadas.
    • PARENT_ID: o ID da organização pai. pasta ou projeto
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que as regras de silenciamento serão listadas. se a residência de dados não estiver ativada, use o valor global

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método muteConfigs list para listar regras de silenciamento. O corpo da solicitação está vazio.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, utilize o endpoint v1 para chamar muteConfigs list:

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

Se você estiver usando a API Security Command Center v2, use o endpoint v2 para chamar muteConfigs list:

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

Substitua:

  • PARENT: o recurso pai da regra de silenciamento (organizations, folders ou projects);
  • PARENT_ID: o ID da organização pai. pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que as regras de silenciamento serão listadas. se a residência de dados não estiver ativada, use o valor global

A resposta inclui os nomes, as descrições e os códigos de configuração de desativação de som das regras de silenciamento.

Ver a configuração de uma regra de silenciamento

É possível conferir a configuração da regra de silenciamento usando o console do Google Cloud. a CLI gcloud ou a API Security Command Center.

Para acessar um exemplo de código que recupera uma configuração de regra de silenciamento, consulte Veja uma regra de silenciamento.

Para visualizar a configuração de uma regra de silenciamento, clique na guia do procedimento que você usar:

Console

  1. No console do Google Cloud, acesse a guia Regras de desativação na página Configurações do Security Command Center.

    Acessar "Ignorar regras"

  2. Se necessário, selecione o projeto ou a organização do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. Na seção Ignorar regras, você vê uma lista das regras de silenciamento.

  5. Clique no nome da regra que você quer ver.

    Uma página é aberta com a configuração da regra de silenciamento.

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 a configuração de uma regra de silenciamento, execute o Comando gcloud scc muteconfigs get:

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

    Substitua:

    • MUTE_CONFIG_ID: o ID da regra de silenciamento
    • PARENT: o recurso pai da regra de silenciamento (organization, folder ou project);
    • PARENT_ID: o ID do organização, pasta ou projeto
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que é exibida a configuração da regra de silenciamento. se a residência de dados não estiver ativada, use o valor global

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método muteConfigs get para retornar a configuração de uma regra de silenciamento. O corpo da solicitação está vazio.

Para acessar o CONFIG_ID de uma regra de silenciamento, primeiro execute uma chamada de API para Listar regras de silenciamento. A resposta inclui IDs de configuração para regras de silenciamento retornadas.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, utilize o endpoint v1 para chamar muteConfigs get:

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

Se você estiver usando a API Security Command Center v2, use o endpoint v2 para chamar muteConfigs get:

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

Substitua:

  • PARENT: o recurso pai da regra de silenciamento (organizations, folders ou projects);
  • PARENT_ID: o ID do organização, pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que é exibida a configuração da regra de silenciamento. se a residência de dados não estiver ativada, use o valor global
  • CONFIG_ID: o ID numérico da regra de silenciamento

Atualizar regras de silenciamento

É possível atualizar a descrição ou o filtro de descoberta de uma regra de silenciamento usando console do Google Cloud, CLI gcloud ou a API Security Command Center.

Não é possível alterar o ID. a organização, pasta ou projeto pai; ou a localização de uma regra de silenciamento. Para alterar qualquer um desses valores, você deve criar uma nova regra de silenciamento.

Se você ativou as descobertas anteriormente, elas serão desativadas novamente se forem correspondidas por uma regra de desativação atualizada no console do Google Cloud. Para mais informações, consulte Ativar som de descobertas individuais.

Para acessar um exemplo de código que atualiza uma regra de silenciamento, consulte Atualizar uma regra de silenciamento.

Para atualizar uma regra de silenciamento, clique na guia do procedimento que você usar:

Console

  1. No console do Google Cloud, acesse a guia Regras de desativação na página Configurações do Security Command Center.

    Acessar "Ignorar regras"

  2. Selecione o projeto ou a organização do Google Cloud que é o recurso pai da regra de silenciamento que você quer modificar.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. Clique no nome da regra de silenciamento que você quer modificar.

    Se você não selecionou o projeto ou a organização apropriada, talvez veja uma observação informando que não tem permissão para modificar a regra de desativação de som.

  5. Insira uma nova descrição e clique em Salvar.

  6. No caso das regras dinâmicas de silenciamento, atualize ou mude o prazo de validade da regra.

  7. Atualize ou altere o filtro.

    Veja mais instruções em Criar regras de silenciamento.

  8. Para visualizar as descobertas que correspondem ao filtro atualizado, clique em Visualizar descobertas correspondentes.

    Uma tabela é carregada com descobertas que correspondem à nova consulta.

  9. Clique em Save.

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 atualizar as regras de silenciamento, execute o 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
    

    Substitua:

    • MUTE_CONFIG_ID: o ID da regra de silenciamento.
    • PARENT: o recurso pai da regra de silenciamento. (organization, folder ou project).
    • PARENT_ID: o ID do organização, pasta ou projeto.
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será atualizada. se a residência de dados não estiver ativada, use o valor global.
    • RULE_DESCRIPTION: uma descrição do item silenciado (máx.: 1.024 caracteres).
    • FILTER: a expressão que você define para filtrar. descobertas.

      Por exemplo, para silenciar OPEN_FIREWALL descobertas, seu filtro pode ser FILTER="category=\"OPEN_FIREWALL\"".

    • MUTE_TYPE: o tipo de regra de silenciamento que você está atualizando. Os tipos de regra de silenciamento válidos são DYNAMIC e STATIC. Não é possível alterar o tipo de uma regra de silenciamento uma vez após a criação.

    • TIMESTAMP: só se aplica se você estiver atualizando uma regra dinâmica de silenciamento. A string de data/hora que indica quando o evento quando a regra de silenciamento expira. O valor deve ser definido para pelo menos um dia no no futuro, ou a solicitação será rejeitada. Para informações sobre horário formatos, consulte gcloud topic datetimes. Quando o som dinâmico for desativado quando a regra expira, ela é removida de todas as descobertas correspondentes. Se você quiser que regra de silenciamento dinâmica para agir indefinidamente em descobertas correspondentes, omita essa .

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método muteConfigs patch para atualizar uma regra de silenciamento. O corpo da solicitação é uma instância de MuteConfig.

Para acessar o CONFIG_ID de uma regra de silenciamento, execute uma chamada de API para listar regras de silenciamento. A resposta inclui IDs de configuração para regras de silenciamento retornadas.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você usa a API Security Command Center v1, utilize o endpoint v1 para ligue para muteConfigs patch:

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

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

Se você usa a API Security Command Center v2, use o endpoint v2 para ligue para 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"
  }

Substitua:

  • PARENT: o recurso pai da regra de silenciamento (organizations, folders ou projects);
  • PARENT_ID: o ID do organização, pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será atualizada. se a residência de dados não estiver ativada, use o valor global
  • CONFIG_ID: o ID numérico da regra de silenciamento
  • RULE_DESCRIPTION: uma descrição da regra de silenciamento. (máx.: 1.024 caracteres)
  • FILTER: a expressão definida para filtrar descobertas

    Por exemplo, para silenciar descobertas OPEN_FIREWALL, seu filtro pode ser "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: o tipo de regra de silenciamento que você está atualizando. Os tipos de regra de silenciamento válidos são DYNAMIC e STATIC. Não é possível alterar o tipo de uma regra de silenciamento uma vez após a criação.

  • TIMESTAMP: só se aplica se você estiver atualizando uma regra dinâmica de silenciamento. A string de data/hora que indica quando o som dinâmico está desativado quando a regra expirar. O valor precisa ser definido como pelo menos um dia no futuro, ou o será rejeitada. Para informações sobre formatos de hora, consulte gcloud topic datetimes. Quando uma abordagem quando a regra de silenciamento expira, ela é removida de todas as descobertas correspondentes. Se você quiser que regra de silenciamento dinâmica para agir indefinidamente em descobertas correspondentes, omita esse campo.

Novas descobertas que correspondem exatamente ao filtro estão ocultas, e o atributo mute para as descobertas está definido como MUTED.

Excluir regras de silenciamento

É possível excluir uma regra de silenciamento usando o console do Google Cloud. a CLI gcloud ou a API Security Command Center.

Antes de excluir regras de silenciamento, entenda o seguinte:

  • Não é possível recuperar as regras de silenciamento excluídas.
  • A exclusão de regras de silenciamento estáticas não ativa automaticamente o som das descobertas que estão silenciados. É necessário ativar o som de forma manual ou programática descobertas.
  • A exclusão das regras de silenciamento dinâmicas as remove automaticamente de todos os descobertas que correspondem anteriormente e ativa o som delas se não corresponderem a nenhuma regras adicionais.
  • As descobertas futuras que corresponderem aos filtros nas regras de silenciamento excluídas não serão silenciadas.

Para acessar um exemplo de código que exclui uma regra de silenciamento, consulte Excluir uma regra de silenciamento.

Para excluir uma regra de silenciamento, clique na guia do procedimento que você usar:

Console

  1. No console do Google Cloud, acesse a guia Regras de desativação na página Configurações do Security Command Center.

    Acessar "Ignorar regras"

  2. Se necessário, selecione o projeto ou a organização do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. Clique no nome da regra de silenciamento que você quer excluir.

  5. Clique em Excluir

  6. Leia a caixa de diálogo e, se estiver tudo certo, clique em Excluir.

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 excluir regras de silenciamento, execute o comando gcloud scc muteconfigs delete:

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

    Substitua:

    • MUTE_CONFIG_ID: o ID da configuração de desativação de som
    • PARENT: o recurso pai da regra de silenciamento (organization, folder ou project);
    • PARENT_ID: o ID do organização, pasta ou projeto
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será excluída. se a residência de dados não estiver ativada, use o valor global
  3. Confirme sua solicitação para excluir a regra de silenciamento.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método muteConfigs delete para excluir uma regra de silenciamento. O corpo da solicitação está vazio.

Para acessar o CONFIG_ID de uma regra de silenciamento, execute uma chamada de API para Listar regras de silenciamento. A resposta inclui IDs de configuração para regras de silenciamento retornadas.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, utilize o endpoint v1 para chamar muteConfigs delete:

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

Se você estiver usando a API Security Command Center v2, use o endpoint v2 para chamar muteConfigs delete:

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

Substitua:

  • PARENT: o recurso pai da regra de silenciamento (organizations, folders ou projects);
  • PARENT_ID: o ID do organização, pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a regra de silenciamento será excluída. se a residência de dados não estiver ativada, use o valor global
  • CONFIG_ID: o ID numérico da regra de silenciamento

Desativar o som de uma descoberta específica

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

Desativar estaticamente uma descoberta não afeta se ela está ativa ou não. Se um uma descoberta ativa for silenciada, o atributo state permanece inalterado: state="ACTIVE". A descoberta está oculta, mas permanece ativa até que vulnerabilidades, configurações incorretas ou ameaças sejam resolvidas. Além disso, silenciando estaticamente uma descoberta, você está substituindo quaisquer regras dinâmicas de silenciamento que se aplicam à descoberta.

Silenciar uma descoberta de combinação tóxica fecha a combinação tóxica correspondente caso.

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

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

Para silenciar estaticamente uma descoberta individual, clique na guia do procedimento que 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 projeto ou a organização do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

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

  5. Marque a caixa de seleção ao lado da descoberta que você quer silenciar. É possível selecionar uma ou mais origens.

  6. 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 está 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:

  1. 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.
  2. Clique em Realizar ação.
  3. No menu Realizar ação, selecione Aplicar substituição de silenciamento.

    Se você selecionar Silenciar descobertas como esta, a opção Criar regra de silenciamento é aberta uma página onde é possível criar uma regra de silenciamento para as descobertas do mesmo ou que incluam os mesmos 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 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, para 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 pai. pasta ou projeto

    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a descoberta será silenciada; se a residência de dados não estiver ativada, 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 da origem.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método setMute para silenciar um descoberta. O corpo da solicitação é um tipo enumerado que indica o resultado sem som.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, chame setMute usando o endpoint v1:


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

{
  "mute": "MUTED"
}

Se você estiver usando a API Security Command Center v2, chame setMute usando o endpoint v2:

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 do pai. organização, pasta ou projeto.
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a descoberta será silenciada; se a residência de dados não estiver ativada, 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 da origem.

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

    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, para 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 ativar estaticamente o som de uma descoberta individual usando o console do Google Cloud, CLI gcloud ou a API Security Command Center.

Parar de ignorar uma descoberta é útil quando você precisa impedir que ela seja oculta por uma regra de silenciamento excessivamente ampla ou por uma regra que pode ser complexa demais para modificar para excluir descobertas que você considera importantes.

Para conferir um exemplo de código para ativar o som de uma descoberta, consulte Deixar de ignorar uma descoberta.

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

Para conferir um exemplo de código para ativar o som de uma descoberta, consulte Ativar o som de uma descoberta.

Console

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

    Acesse Descobertas

  2. Se necessário, selecione o projeto ou a organização do Google Cloud.

    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. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. À direita da seção Visualização da consulta, clique em Editar consulta para abrir o Editor de consultas.

  5. No campo Editor de consultas, substitua a instrução de silenciamento atual pelo seguinte:

    mute="MUTED"
  6. Clique em Aplicar. As descobertas no painel Resultados da consulta de descobertas são atualizadas para incluir apenas as descobertas silenciadas.

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

  8. Marque a caixa de seleção ao lado da descoberta que você quer parar de ignorar. É possível selecionar uma ou mais origens.

  9. Na barra de ações Resultados da consulta de descobertas, clique em Opções de silenciamento. e selecione Aplicar substituição de ativação do som.

    O atributo mute das descobertas selecionadas está 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:

  1. 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.
  2. Clique em Realizar ação.
  3. No menu Realizar ação, selecione Aplicar substituição de ativação do som.

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 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, para 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 pai. pasta ou projeto

    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que o som da descoberta será ativado. se a residência de dados não estiver ativada, 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 da origem.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método setMute para ativar o som de um descoberta. O corpo da solicitação é um tipo enumerado que indica o resultado sem som.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, chame setMute usando o endpoint v1:

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

{
  "mute": "UNMUTED"
}

Se você estiver usando a API Security Command Center v2, chame setMute usando o endpoint v2:

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 pai. pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que o som da descoberta será ativado. se a residência de dados não estiver ativada, 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 da origem.

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

    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, para 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 do estado de silenciamento de descobertas individuais

Você aplica uma substituição do estado de silenciamento quando modifica intencionalmente o silenciamento de uma descoberta. para desativar ou ativar o som da descoberta estaticamente. Por exemplo, talvez você queira aplicar uma substituição de estado de silenciamento para ocultar uma descoberta de baixa gravidade que não vale criando uma regra dinâmica de silenciamento.

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

Antes de remover a substituição do estado silenciado de uma descoberta, entenda seguintes:

  • Uma descoberta tem uma substituição de estado de silenciamento se estiver estaticamente silenciada ou com o som ativado. Você pode aplicar uma substituição do estado de silenciamento a qualquer descoberta manual ou automaticamente com o regras estáticas de silenciamento.
  • Uma substituição de estado silenciado se aplica a uma descoberta indefinidamente e tem prioridade sobre qualquer regra de silenciamento correspondente.
  • Remover a substituição do estado de silenciamento de uma descoberta redefine esse estado para que ele possa ser processado por regras estáticas ou dinâmicas de silenciamento.
  • Remover a substituição do estado de silenciamento de uma descoberta é diferente de ativar descoberta. Ao ativar o som de uma descoberta (aplicar uma substituição de ativação do som), as regras de silenciamento não pode desativar o som dessa descoberta até que você remova manualmente a substituição desse estado.

Para remover a substituição de silenciamento 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 a organização ou o projeto do Google Cloud.

  3. Opcional: se a residência de dados estiver ativada para o Security Command Center e altere o local dos dados conforme necessário.

    Para mudar o local dos dados, clique no seletor de local na barra de ações. Uma lista de locais aparece. Selecione o novo local.

  4. À direita da seção Visualização da consulta, clique em Editar consulta para abrir o Editor de consultas.

  5. No campo Editor de consultas, substitua a instrução de silenciamento atual pelo seguinte:

    mute="MUTED" OR mute="UNMUTED"
  6. Clique em Aplicar. As descobertas no painel Resultados da consulta de descobertas são atualizado para incluir descobertas com o som desativado e o som ativado.

  7. Se necessário, filtre outras descobertas. Por exemplo, na Painel Filtros rápidos em Categoria, selecione o nome da descobrir que você precisa redefinir para filtrar todas as outras categorias de descoberta.

  8. Marque a caixa de seleção ao lado da descoberta que você quer redefinir. É possível selecionar uma ou mais origens.

  9. 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 está 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:

  1. 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.
  2. Clique em Realizar ação.
  3. No menu Realizar ação, selecione Remover substituições de silenciamento.

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 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, para 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 pai. pasta ou projeto

    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a substituição do estado silenciado é removida de uma descoberta. se a residência de dados não estiver ativada, 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 da origem.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

Na API Security Command Center, use o método setMute para redefinir o som desativado. o estado atual de uma descoberta. O corpo da solicitação é um tipo enumerado que indica o resultado sem som.

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, chame setMute. usando o endpoint v1:

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

{
  "mute": "UNDEFINED"
}

Se você estiver usando a API Security Command Center v2, chame setMute. usando o endpoint v2:

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 pai. pasta ou projeto
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que a substituição do estado silenciado é removida de uma descoberta. se a residência de dados não estiver ativada, use o valor global
  • SOURCE_ID: o ID numérico da origem

Silenciar ou redefinir várias descobertas

Você pode executar as seguintes operações de silenciamento em massa para vários descobertas usando o método gcloud scc findings bulk-mute o comando CLI gcloud ou o método bulkMute da API Security Command Center:

  • Silenciar várias descobertas. Se as descobertas existentes forem silenciadas em massa, elas serão silenciadas estaticamente e substitui qualquer regra dinâmica de silenciamento que se aplica à descoberta. Se será necessário silenciar descobertas futuras semelhantes, criar um silenciamento específica.

  • Remover a substituição do estado de silenciamento em várias descobertas atuais. Ao remover o substituição do estado de silenciamento em uma descoberta, você está redefinindo o estado silenciado MUTED (silenciado estaticamente) ou UNMUTED (som ativado estaticamente) para UNDEFINED. Esse recurso pode ser útil se você estiver migrando de estático para dinâmico regras de silenciamento.

Especifique o conjunto de descobertas que você precisa silenciar definindo uma filtro de descoberta. 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 sem suporte, consulte As propriedades de descoberta não são compatíveis com as regras de silenciamento.

Se a residência de dados estiver ativada para o Security Command Center, as operações serão silenciadas em massa têm escopo limitado ao local do Security Command Center onde são executadas.

Para acessar um exemplo de código que silencia descobertas em massa, consulte Desativar o som em massa das descobertas.

Para silenciar ou redefinir as descobertas em massa, clique na guia do que você quer usar:

Console

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

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 ou redefinir várias descobertas em massa, execute o gcloud scc findings bulk-mute comando:

    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 da organização pai. pasta ou projeto especificado no formato organizations/123, folders/456 ou projects/789.
    • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que é possível silenciar ou redefinir as descobertas em massa. se a residência de dados não estiver ativada, use o valor global.

    • FILTER: a expressão que você define 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 o descoberta está estaticamente silenciada ou não. Os valores válidos são: MUTED e UNDEFINED. O valor é definido como MUTED por padrão. Definir apenas este valor como UNDEFINED se estiver redefinindo o estado silenciado de vários descobertas.

Go

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.


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

O exemplo a seguir usa a API v1. Para modificar exemplo da v2, substitua v1 por v2 e adicione /locations/LOCATION, que é o nome do recurso.

Para a maioria dos recursos, adicione /locations/LOCATION ao nome do recurso depois de /PARENT/PARENT_ID, em que PARENT é organizations, folders, ou projects.

Para descobertas, adicione /locations/LOCATION ao recurso depois de /sources/SOURCE_ID, em que SOURCE_ID é o ID do Serviço do Security Command Center que emitiu a descoberta.

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 REST

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

A menos que a residência de dados esteja ativada, você pode usar a v1 ou v2 do pela API Security Command Center. A API v2 está disponível como um de pré-lançamento. Quando a residência de dados estiver ativada, a API v2 será a única API disponível.

Se você estiver usando a API Security Command Center v1, chame bulkMute usando o endpoint v1:

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

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

Se você estiver usando a API Security Command Center v2, chame bulkMute usando o endpoint v2:

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

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

Substitua:

  • PARENT: o recurso pai. (organizations, folders ou projects).
  • PARENT_ID: o ID da organização pai. pasta ou projeto.
  • LOCATION: se a residência dos dados estiver ativada, o Security Command Center local em que é possível silenciar ou redefinir as descobertas em massa. se a residência de dados não estiver ativada, use o valor global.
  • FILTER: a expressão que você define 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 o descoberta está silenciada ou não. Os valores válidos são MUTED ou UNDEFINED. A é definido como MUTED por padrão. Definir este valor apenas como UNDEFINED se você estiver redefinindo o estado mudo 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 exibe apenas as descobertas que não estão silenciadas.

Mostrar descobertas silenciadas pelo 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.

Descobertas de consulta silenciadas por regras estáticas de silenciamento

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

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

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

Descobertas de consulta silenciadas por regras dinâmicas de silenciamento

Para mostrar descobertas ativas que foram silenciadas por uma regra dinâmica de silenciamento após uma 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/hora que indica o início do período que você quer consultar. Para informações sobre horário formatos, consulte gcloud topic datetimes.
  • PARENT_ID: o ID da organização pai, pasta, ou projeto, especificados no formato de organizations/123, folders/456 ou projects/789.
  • CONFIG_ID: o nome da regra de silenciamento. O ID deve usar caracteres alfanuméricos e hifens e ter entre 1 e 63 caracteres.

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

Como encontrar propriedades relacionadas ao silenciamento

Esta seção lista as propriedades de descoberta relacionadas ao estado mudo dos uma descoberta e descreve como elas são afetadas pelas operações de silenciamento:

  • mute: defina como UNDEFINED quando as descobertas forem criadas e as alterações nos seguintes cenários:
    • MUTED: uma descoberta foi silenciada manualmente ou por uma regra de silenciamento.
    • UNMUTED: um usuário ativa o som de uma descoberta.
  • muteUpdateTime: o tempo em que o som de uma descoberta é desativado ou ativado.
  • muteInitiator: o identificador da regra principal ou de silenciamento que desativou o som de uma descoberta.
  • muteInfo: silenciar informações sobre a descoberta, como o tipo de regra de silenciamento (estática ou dinâmica) e quais regras de silenciamento a descoberta corresponde.
  • muteInfo.staticMute: um estado de silenciamento estático substitui qualquer silenciamento dinâmico. que se aplicam a essa descoberta.
    • state: um estado de silenciamento estático que pode ser definido silenciando a descoberta. diretamente ou por uma regra de silenciamento estática.
    • applyTime: horário em que o estado de silenciamento estático foi aplicado à descoberta.
  • muteInfo.dynamicMuteRecords: o registro de uma regra dinâmica de silenciamento que corresponde à descoberta.
    • muteConfig: é o nome do recurso relativo da regra de silenciamento, representado por a configuração de silenciamento que criou o registro. Por exemplo, organizations/123/muteConfigs/examplemuteconfig.
    • matchTime: horário em que uma regra de silenciamento dinâmica correspondeu à descoberta.

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

Se você ativar as notificações de descoberta, faça o seguinte: descobertas silenciadas novas ou atualizadas que correspondem aos seus filtros de notificação ainda são exportados para o Pub/Sub.

Para interromper as exportações e notificações de descobertas silenciadas, use mute para excluir 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\""

A seguir

Saiba mais sobre filtrar notificações de descoberta.

Veja mais exemplos de filtros que você pode usar.