Menonaktifkan temuan di Security Command Center

Halaman ini menjelaskan cara mengurangi volume temuan yang Anda terima di Security Command Center dengan menonaktifkan temuan.

Membisukan temuan akan menyembunyikannya dari tampilan default temuan Anda di konsol Google Cloud. Anda dapat membisukan temuan secara manual atau terprogram dan membuat filter untuk otomatis membisukan temuan yang ada dan mendatang berdasarkan kriteria yang Anda tentukan.

Layanan deteksi Security Command Center memberikan penilaian keamanan yang luas terhadap deployment Google Cloud Anda, tetapi Anda mungkin mendapati bahwa temuan tertentu tidak sesuai atau relevan untuk organisasi atau project Anda. Volume penemuan yang tinggi juga dapat menyulitkan analis keamanan Anda untuk secara efektif mengidentifikasi dan memperbaiki risiko yang paling penting. Dengan membisukan temuan, Anda menghemat waktu dari meninjau atau merespons temuan keamanan untuk aset yang terisolasi atau berada dalam parameter bisnis yang dapat diterima.

Membisukan temuan memiliki beberapa keunggulan dibandingkan dengan menonaktifkan detektor:

  • Anda dapat membuat filter kustom untuk menyesuaikan temuan yang dibisukan.
  • Anda dapat menggunakan aturan bisukan untuk membisukan temuan untuk sementara atau tanpa batas waktu.
  • Membisukan temuan tidak akan menghentikan pemindaian aset yang mendasarinya. Temuan masih dibuat, tetapi tetap disembunyikan hingga Anda memutuskan untuk melihatnya.

Izin

Untuk membisukan temuan, Anda memerlukan salah satu peran Identity and Access Management (IAM) berikut di tingkat organisasi, folder, atau project:

  • Melihat aturan penonaktifan:
    • Security Center Admin Viewer (roles/securitycenter.adminViewer)
    • Security Center Settings Viewer (roles/securitycenter.settingsViewer)
    • Security Center Mute Configurations Viewer (roles/securitycenter.muteConfigsViewer)
  • Melihat, membuat, memperbarui, dan menghapus aturan penonaktifan:
    • Security Center Admin (roles/securitycenter.admin)
    • Security Center Admin Editor (roles/securitycenter.adminEditor)
    • Security Center Settings Editor (roles/securitycenter.settingsEditor)
    • Security Center Mute Configurations Editor (roles/securitycenter.muteConfigsEditor)
  • Menonaktifkan temuan secara manual:
    • Security Center Findings Editor (roles/securitycenter.findingsEditor)

Anda juga dapat membuat dan memberikan peran khusus dengan beberapa atau semua izin berikut:

  • Izin baca aturan bisukan
    • securitycenter.muteconfigs.get
    • securitycenter.muteconfigs.list
  • Izin tulis aturan bisukan
    • securitycenter.muteconfigs.create
    • securitycenter.muteconfigs.update
    • securitycenter.muteconfigs.delete
  • Menemukan izin tulis
    • securitycenter.findings.setMute
    • securitycenter.findings.bulkMuteUpdate

Kemampuan Anda untuk membisukan temuan mematuhi peran yang diberikan di tingkat organisasi, folder, atau project. Anda dapat membisukan temuan di folder atau project tertentu, dan membatasi kemampuan orang lain untuk membisukan temuan berdasarkan akses yang diberikan kepada mereka. Misalnya, jika Anda memiliki akses ke satu project, Anda hanya dapat membisukan temuan dalam project tersebut. Jika memiliki akses ke folder, Anda dapat membisukan temuan di subfolder atau project apa pun di dalam folder tersebut.

Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.

Membuat dan mengelola aturan bisukan

Aturan bisukan adalah konfigurasi Pusat Komando Keamanan yang menggunakan filter yang Anda buat untuk membisukan temuan mendatang dan yang sudah ada secara otomatis berdasarkan kriteria yang Anda tentukan. Anda dapat membuat filter dengan aturan bisukan statis atau dinamis.

Aturan bisukan statis akan membisukan temuan mendatang tanpa batas waktu. Aturan bisukan dinamis membisukan temuan mendatang dan yang sudah ada untuk sementara hingga tanggal yang ditentukan atau tanpa batas waktu hingga temuan tidak lagi cocok dengan konfigurasi.

Jenis aturan bisukan

Security Command Center mendukung konfigurasi aturan bisukan statis dan dinamis. Meskipun Anda dapat menggunakan aturan bisukan statis dan dinamis secara bersamaan, sebaiknya jangan lakukan hal ini. Aturan bisukan statis akan menggantikan aturan bisukan dinamis saat diterapkan ke penemuan yang sama. Akibatnya, aturan bisukan dinamis tidak akan berfungsi seperti yang diinginkan, yang dapat menyebabkan kebingungan saat mengelola temuan Anda. Oleh karena itu, sebaiknya Anda menggunakan satu jenis aturan bisukan secara eksklusif.

Kecuali jika Anda sudah menggunakan aturan bisukan statis, sebaiknya gunakan aturan bisukan dinamis secara eksklusif karena menawarkan fleksibilitas yang lebih besar.

Tabel berikut memberikan perbandingan umum antara dua jenis aturan bisukan. Untuk mengetahui detail selengkapnya, lihat Aturan bisukan statis dan Aturan bisukan dinamis.

Aturan penonaktifan statis Aturan penonaktifan dinamis
Menindaklanjuti temuan tanpa batas waktu. Dapat menindaklanjuti temuan secara sementara dengan waktu habis masa berlaku atau tanpa batas waktu jika tidak ada waktu habis masa berlaku yang ditetapkan.
Tidak berlaku untuk temuan yang ada. Berlaku untuk temuan yang sudah ada dan baru.
Lebih diutamakan daripada aturan bisukan dinamis. Memiliki prioritas lebih rendah dan diganti oleh aturan bisukan statis saat kedua jenis tersebut berlaku untuk temuan.

Aturan penonaktifan statis

  • Aturan bisukan statis berlaku tanpa batas waktu. Jika temuan cocok dengan konfigurasi bisukan statis Anda, Security Command Center akan otomatis menetapkan properti mute temuan ke MUTED hingga Anda mengubahnya secara manual.
  • Aturan penonaktifan statis tidak memengaruhi temuan yang ada. Aturan ini hanya berlaku untuk temuan yang baru dibuat atau diperbarui setelah aturan ditentukan. Jika Anda juga ingin membisukan temuan yang ada yang serupa, gunakan filter yang sama untuk membisukan temuan secara massal.
  • Aturan bisukan statis lebih diutamakan daripada aturan bisukan dinamis. Oleh karena itu, semua penemuan baru yang cocok dengan aturan bisukan statis yang ditentukan dianggap dibisukan meskipun penemuan tersebut juga cocok dengan aturan bisukan dinamis yang ditentukan.

Aturan penonaktifan dinamis

  • Aturan bisukan dinamis dapat menindaklanjuti temuan untuk sementara dengan waktu berakhir masa berlaku atau tanpa batas waktu jika tidak ada waktu berakhir masa berlaku yang ditetapkan. Jika temuan yang ada atau yang baru dibuat cocok dengan konfigurasi bisukan dinamis Anda, Security Command Center akan otomatis menetapkan properti mute temuan ke MUTED hingga tanggal habis masa berlaku yang ditentukan atau hingga ada perubahan pada temuan atau konfigurasi itu sendiri. Saat masa berlaku aturan bisukan dinamis berakhir, Security Command Center akan menghapus aturan dari temuan. Jika temuan tidak cocok dengan aturan bisukan dinamis lainnya, properti mute akan otomatis direset ke UNDEFINED.
  • Aturan bisukan dinamis otomatis diterapkan ke temuan yang ada yang cocok dengan konfigurasi Anda, serta ke temuan yang baru dibuat atau diperbarui.
  • Aturan bisukan dinamis memiliki prioritas yang lebih rendah dan diganti oleh aturan bisukan statis saat kedua jenis tersebut berlaku untuk temuan.

Sebaiknya gunakan aturan bisukan dinamis secara eksklusif. Kemampuan untuk sementara membisukan dan otomatis membunyikan temuan membuat aturan bisukan dinamis menjadi opsi yang lebih fleksibel daripada aturan bisukan statis.

Jika Anda menggunakan aturan bisukan statis untuk mengurangi jumlah temuan yang Anda tinjau secara manual, dan ingin bermigrasi ke aturan bisukan dinamis, lihat Bermigrasi dari aturan bisukan statis ke dinamis.

Cakupan aturan penonaktifan

Pertimbangkan cakupan aturan bisukan saat membuat filter.

Misalnya, jika filter ditulis untuk membisukan temuan di Project A, tetapi filter itu sendiri dibuat di bagian Project B, filter tersebut mungkin tidak cocok dengan temuan apa pun.

Demikian pula, jika aset data diaktifkan, cakupan aturan bisukan dibatasi ke lokasi Security Command Center tempat aturan bisukan dibuat. Misalnya, jika Anda membuat aturan penonaktifan di lokasi Amerika Serikat (us), aturan penonaktifan tidak akan menonaktifkan temuan yang disimpan di lokasi Uni Eropa (eu) atau Global (global). Untuk mengetahui informasi selengkapnya tentang residensi data dan aturan bisukan, lihat Aturan bisukan, ekspor berkelanjutan, dan residensi data.

Untuk informasi selengkapnya tentang cara membuat filter, lihat Memfilter notifikasi.

Pembatasan aturan bisukan

Aturan bisukan tidak mendukung semua properti penemuan. Untuk mengetahui daftar properti yang tidak didukung oleh aturan bisukan, lihat Properti penemuan yang tidak didukung untuk aturan bisukan.

Anda dapat membuat, melihat, memperbarui, dan menghapus aturan bisukan berdasarkan cakupan peran IAM Anda. Dengan peran tingkat organisasi, Anda akan melihat aturan bisukan untuk semua folder dan project dalam organisasi. Jika memiliki peran level folder, Anda dapat mengakses dan mengelola aturan bisukan untuk folder tertentu serta semua subfolder dan project dalam folder tersebut. Peran tingkat project memungkinkan Anda mengelola aturan bisukan di project tertentu.

Security Command Center Premium mendukung pemberian peran di tingkat organisasi, folder, dan project. Security Command Center Standar hanya mendukung pemberian peran di tingkat organisasi. Untuk informasi selengkapnya, lihat Kontrol akses.

Residensi data dan aturan bisukan

Jika aset data diaktifkan, konfigurasi yang menentukan aturan bisukan—resource muteConfig—tunduk pada kontrol aset data dan disimpan di lokasi Security Command Center yang Anda pilih.

Untuk menerapkan aturan bisukan ke temuan di lokasi Security Command Center, Anda harus membuat aturan bisukan di lokasi yang sama dengan temuan yang diterapkan.

Karena filter yang digunakan dalam aturan bisukan dapat berisi data yang tunduk pada kontrol tempat tinggal, pastikan Anda menentukan lokasi yang benar sebelum membuatnya. Security Command Center tidak membatasi lokasi tempat Anda membuat aturan bisukan atau ekspor streaming.

Aturan bisukan hanya disimpan di lokasi tempat aturan tersebut dibuat dan tidak dapat dilihat atau diedit di lokasi lain.

Setelah membuat aturan bisukan, Anda tidak dapat mengubah lokasinya. Untuk mengubah lokasi, Anda harus menghapus aturan bisukan dan membuatnya ulang di lokasi baru.

Untuk melihat aturan bisukan di konsol Google Cloud, Anda harus menetapkan tampilan konsol Google Cloud terlebih dahulu ke lokasi tempat aturan tersebut dibuat.

Aturan yang sama berlaku untuk representasi API aturan bisukan, MuteConfig.

Untuk mengambil MuteConfig menggunakan panggilan API, Anda harus menentukan lokasi dalam nama resource lengkap MuteConfig. Contoh:

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

Demikian pula, untuk mengambil muteConfig menggunakan gcloud CLI, Anda dapat menentukan lokasi menggunakan flag --location. Contoh:

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

Membuat aturan penonaktifan

Organisasi Anda dapat membuat maksimal 1.000 aturan bisukan.

Anda dapat membuat aturan bisukan statis atau dinamis menggunakan Konsol Google Cloud, gcloud CLI, atau Security Command Center API. Sebaiknya gunakan aturan bisukan dinamis secara eksklusif dalam konfigurasi aturan bisukan karena lebih fleksibel daripada aturan bisukan statis. Untuk perbandingan jenis aturan bisukan, lihat Jenis aturan bisukan.

Untuk kode contoh yang membuat aturan bisukan, lihat Membuat aturan bisukan.

Untuk membuat aturan penonaktifan, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka halaman Temuan Security Command Center.

    Buka Temuan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Klik Opsi bisukan, lalu pilih Kelola aturan bisukan.

  5. Klik Create mute rule, lalu pilih Dynamic mute rule atau Static mute rule. Untuk informasi selengkapnya tentang jenis aturan bisukan, lihat Jenis aturan bisukan.

  6. Masukkan ID aturan Penonaktifan. Nilai ini wajib diisi.

  7. Masukkan Mute rule description yang memberikan konteks tentang alasan penemuan dinonaktifkan. Nilai ini bersifat opsional, tetapi direkomendasikan.

    Resource induk menunjukkan cakupan tempat aturan bisukan akan dibuat dan diterapkan.

  8. Jika Anda membuat aturan bisukan statis atau aturan bisukan dinamis tanpa masa berlaku, lanjutkan ke langkah berikutnya. Jika Anda membuat aturan bisukan dinamis untuk membisukan temuan untuk sementara, selesaikan langkah-langkah berikut:

    1. Centang kotak Bisukan temuan yang cocok untuk sementara.
    2. Pilih atau masukkan tanggal habis masa berlaku untuk aturan bisukan dinamis. Nilai ini menunjukkan berapa lama aturan akan membisukan temuan yang cocok.
  9. Di kolom Kueri temuan, buat pernyataan kueri dengan mengklik Tambahkan filter. Atau, Anda dapat mengetik pernyataan kueri secara manual.

    Dialog Pilih filter memungkinkan Anda memilih atribut dan nilai penemuan yang didukung.

    1. Pilih atribut temuan atau ketik namanya di kotak Telusuri atribut temuan. Daftar sub-atribut yang tersedia akan ditampilkan.
    2. Pilih sub-atribut. Kolom pilihan akan ditampilkan tempat Anda dapat membuat pernyataan kueri menggunakan sub-atribut yang dipilih, operator kueri, dan satu atau beberapa nilai untuk sub-atribut.
    3. Pilih operator dan satu atau beberapa nilai untuk sub-atribut dari panel. Untuk mengetahui informasi selengkapnya tentang operator kueri dan fungsi yang digunakannya, lihat Operator kueri di menu Tambahkan filter.
    4. Klik Terapkan.

      Dialog akan ditutup dan kueri Anda akan diperbarui.

    5. Ulangi hingga kueri temuan berisi semua atribut yang Anda inginkan.
  10. Tinjau akurasi filter. Untuk membuat perubahan, hapus atau tambahkan properti dan nilai filter sesuai kebutuhan.

  11. Klik Pratinjau temuan yang cocok.

    Tabel menampilkan temuan yang cocok dengan kueri Anda.

  12. Klik Simpan.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk membuat aturan bisukan, jalankan perintah 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

    Ganti kode berikut:

    • CONFIG_ID: nama aturan bisukan. ID harus menggunakan karakter alfanumerik dan tanda hubung serta memiliki panjang antara 1 hingga 63 karakter.
    • PARENT: cakupan dalam hierarki resource yang menerapkan aturan bisukan, organization, folder, atau project.
    • PARENT_ID: ID numerik organisasi, folder, atau project induk, atau ID alfanumerik project induk.
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat membuat aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global.
    • RULE_DESCRIPTION: deskripsi aturan bisukan maksimal 1.024 karakter.
    • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan. Misalnya, untuk membisukan temuan OPEN_FIREWALL, filter Anda dapat berupa FILTER="category=\"OPEN_FIREWALL\"".
    • MUTE_TYPE: jenis aturan bisukan yang ingin Anda buat. Jenis aturan bisukan yang valid adalah DYNAMIC dan STATIC. Jenis aturan bisukan ditetapkan ke STATIC secara default. Anda tidak dapat mengubah jenis aturan bisukan setelah membuatnya.
    • TIMESTAMP: hanya berlaku jika Anda membuat aturan bisukan dinamis. String tanggal/waktu yang menunjukkan kapan masa berlaku aturan bisukan dinamis berakhir. Nilai harus ditetapkan setidaknya satu hari di masa mendatang atau permintaan akan ditolak. Untuk informasi tentang format waktu, lihat gcloud topic datetimes. Saat masa berlaku aturan bisukan dinamis berakhir, aturan tersebut akan dihapus dari semua temuan yang cocok. Jika Anda ingin aturan bisukan dinamis bertindak tanpa batas waktu pada temuan yang cocok, hapus kolom ini.

    Respons tersebut menyertakan ID aturan bisukan, yang dapat Anda gunakan untuk melihat, memperbarui, dan menghapus aturan bisukan, seperti yang dijelaskan dalam Mengelola aturan bisukan.

Go


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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\"",
		Type: securitycenterpb.MuteConfig_STATIC,
	}

	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


import com.google.cloud.securitycenter.v2.LocationName;
import com.google.cloud.securitycenter.v2.MuteConfig;
import com.google.cloud.securitycenter.v2.MuteConfig.MuteConfigType;
import com.google.cloud.securitycenter.v2.SecurityCenterClient;
import java.io.IOException;
import java.util.UUID;

public class CreateMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the following variables.
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config.
    String location = "global";

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

    createMuteRule(projectId, location, muteConfigId);
  }

  // Creates a mute configuration in a project under a given location.
  public static void createMuteRule(String projectId, String location, String muteConfigId)
      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()) {

      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\"")
              .setType(MuteConfigType.STATIC)
              .build();

      // You can also create mute rules in an organization/ folder.
      // Construct the parameters according to the parent resource.
      //  * Organization -> client.createMuteConfig(OrganizationLocationName.of(...
      //  * Folder -> client.createMuteConfig(FolderLocationName.of(...
      MuteConfig response = client.createMuteConfig(
          LocationName.of(projectId, location), muteConfig, muteConfigId);
      System.out.println("Mute rule created successfully: " + response.getName());
    }
  }
}

Python

def create_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    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}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
        Dict: returns the mute rule details
    """

    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

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

    request = securitycenter_v2.CreateMuteConfigRequest()
    request.parent = parent_path + "/locations/" + location_id
    request.mute_config_id = mute_config_id
    request.mute_config = mute_config

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

REST

Di Security Command Center API, gunakan metode muteConfigs.create untuk membuat aturan bisukan. Isi permintaan adalah instance MuteConfig:

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

Ganti kode berikut:

  • PARENT: resource induk untuk aturan bisukan Anda (organizations, folders, atau projects)
  • PARENT_ID: ID organisasi induk, folder, atau project
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat membuat aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global
  • MUTE_CONFIG_ID: nama aturan bisukan (antara 1 dan 63 karakter)
  • RULE_DESCRIPTION: deskripsi aturan bisukan (maks.: 1.024 karakter)
  • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan

    Misalnya, untuk membisukan temuan OPEN_FIREWALL, filter Anda dapat berupa "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: jenis aturan bisukan yang ingin Anda buat. Jenis aturan bisukan yang valid adalah DYNAMIC dan STATIC. Anda tidak dapat mengubah jenis aturan bisukan setelah membuatnya.

  • TIMESTAMP: hanya berlaku jika Anda membuat aturan bisukan dinamis. String tanggal/waktu yang menunjukkan kapan masa berlaku aturan bisukan dinamis berakhir. Nilai harus ditetapkan setidaknya satu hari di masa mendatang atau permintaan akan ditolak. Untuk informasi tentang format waktu, lihat gcloud topic datetimes. Saat masa berlaku aturan bisukan dinamis berakhir, aturan tersebut akan dihapus dari semua temuan yang cocok. Jika Anda ingin aturan bisukan dinamis bertindak tanpa batas waktu pada temuan yang cocok, hapus kolom ini.

Respons tersebut menyertakan ID konfigurasi bisukan, yang dapat Anda gunakan untuk melihat, memperbarui, dan menghapus aturan bisukan, seperti yang dijelaskan dalam Mengelola aturan bisukan.

Temuan baru yang sama persis dengan filter akan disembunyikan, dan atribut mute untuk temuan ditetapkan ke MUTED.

Properti temuan yang tidak didukung untuk aturan bisukan

Aturan bisukan tidak mendukung semua properti temuan dalam filter. Properti berikut tidak didukung di filter aturan bisukan.

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

Mencantumkan aturan penonaktifan

Anda dapat mencantumkan aturan bisukan di organisasi, folder, atau project menggunakan konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Kemampuan Anda untuk mencantumkan aturan bisukan untuk cakupan tertentu bergantung pada izin yang diberikan ke peran IAM Anda.

Jika aset data diaktifkan untuk Security Command Center, cakupan perintah daftar juga dibatasi untuk lokasi Security Command Center yang dipilih.

Untuk kode contoh yang mencantumkan aturan bisukan, lihat Mencantumkan aturan bisukan.

Untuk mencantumkan aturan bisukan untuk organisasi, folder, atau project, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka tab Mute rules di halaman Settings Security Command Center.

    Buka aturan Bisukan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Di bagian Aturan bisukan, Anda akan melihat detail untuk aturan bisukan yang aktif, termasuk hal berikut:

    • Nama: ID aturan bisukan
    • Resource induk: resource tempat aturan bisukan berada
    • Deskripsi: deskripsi aturan bisukan, jika tersedia
    • Terakhir diperbarui oleh: akun administrator yang terakhir memperbarui aturan
    • Terakhir diperbarui: tanggal dan waktu aturan terakhir diperbarui

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk mencantumkan aturan bisukan, jalankan perintah gcloud scc muteconfigs list:

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

    Ganti kode berikut:

    • PARENT: organization, folder, atau project induk yang akan mencantumkan aturan bisukan
    • PARENT_ID: ID organisasi, folder, atau project induk
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat mencantumkan aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global

Go

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class ListMuteRules {

  public static void main(String[] args) throws IOException {
    // TODO: Replace variables enclosed within {}
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location to list mute configs.
    String location = "global";

    listMuteRules(projectId, location);
  }

  // Lists all mute rules present under the resource type in the given location.
  public static void listMuteRules(String projectId, String location) 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()) {

      // Parent can also be one of:
      //  * "organizations/{org_id}/locations/{location}"
      //  * "folders/{folder_id}/locations/{location}"
      ListMuteConfigsRequest listMuteConfigsRequest = ListMuteConfigsRequest.newBuilder()
          .setParent(String.format("projects/%s/locations/%s", projectId, location))
          .build();

      // List all mute configs present in the resource.
      for (MuteConfig muteConfig : client.listMuteConfigs(listMuteConfigsRequest).iterateAll()) {
        System.out.println(muteConfig.getName());
      }
    }
  }
}

Python

def list_mute_rules(parent: str, location_id: str) -> Dict:
    """
    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}
        location_id: Gcp location id; example: 'global'
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.ListMuteConfigsRequest()
    request.parent = parent + "/locations/" + location_id
    response = client.list_mute_configs(request)
    # List all Mute Configs present in the resource.
    for mute_config in response:
        print(mute_config.name)
    return response

REST

Di Security Command Center API, gunakan metode muteConfigs.list untuk mencantumkan aturan bisukan:

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

Ganti kode berikut:

  • PARENT: resource induk untuk aturan bisukan Anda (organizations, folders, atau projects)
  • PARENT_ID: ID organisasi, folder, atau project induk
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat mencantumkan aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global

Responsnya mencakup nama, deskripsi, dan ID konfigurasi bisukan untuk aturan bisukan Anda.

Melihat konfigurasi aturan penonaktifan

Anda dapat melihat konfigurasi aturan bisukan menggunakan Konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Untuk kode contoh yang mengambil konfigurasi aturan bisukan, lihat Melihat aturan bisukan.

Untuk melihat konfigurasi aturan bisukan, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka tab Mute rules di halaman Settings Security Command Center.

    Buka aturan Bisukan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Di bagian Aturan bisukan, Anda akan melihat daftar aturan bisukan.

  5. Klik nama aturan yang ingin Anda lihat.

    Halaman akan terbuka dengan konfigurasi aturan bisukan.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk melihat konfigurasi aturan bisukan, jalankan perintah gcloud scc muteconfigs get:

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

    Ganti kode berikut:

    • MUTE_CONFIG_ID: ID untuk aturan bisukan
    • PARENT: resource induk untuk aturan bisukan Anda (organization, folder, atau project)
    • PARENT_ID: ID organisasi, folder, atau project
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat melihat konfigurasi aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global

Go

import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class GetMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO(Developer): Replace the following variables
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    getMuteRule(projectId, location, muteConfigId);
  }

  // Retrieves a mute configuration given its resource name.
  public static MuteConfig getMuteRule(String projectId, String location, String muteConfigId)
      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()) {
      // Use appropriate `MuteConfigName` methods depending on the parent type.
      //  * organization -> MuteConfigName.ofOrganizationLocationMuteConfigName()
      //  * folder -> MuteConfigName.ofFolderLocationMuteConfigName()

      MuteConfigName muteConfigName = MuteConfigName.ofProjectLocationMuteConfigName(projectId,
          location, muteConfigId);
      return client.getMuteConfig(muteConfigName);
    }
  }
}

Python

def get_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    Retrieves a mute configuration given its resource name.
    Args:
        parent_path: use any one of the following options:
                     - organizations/{organization_id}
                     - folders/{folder_id}
                     - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.GetMuteConfigRequest()
    request.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )

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

REST

Di Security Command Center API, gunakan metode muteConfigs.get untuk menampilkan konfigurasi aturan bisukan:

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

Ganti kode berikut:

  • PARENT: resource induk untuk aturan bisukan Anda (organizations, folders, atau projects)
  • PARENT_ID: ID untuk organisasi, folder, atau project
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat melihat konfigurasi aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global
  • CONFIG_ID: ID numerik aturan bisukan

Memperbarui aturan penonaktifan

Anda dapat memperbarui deskripsi atau filter penemuan aturan bisukan menggunakan konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Anda tidak dapat mengubah ID; organisasi, folder, atau project induk; atau lokasi aturan bisukan. Untuk mengubah salah satu nilai ini, Anda harus membuat aturan bisukan baru.

Jika sebelumnya Anda telah membunyikan temuan, temuan tersebut akan dibisukan lagi jika cocok dengan aturan bisukan yang diperbarui di konsol Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan suara setiap temuan.

Untuk kode contoh yang memperbarui aturan bisukan, lihat Memperbarui aturan bisukan.

Untuk memperbarui aturan bisukan, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka tab Mute rules di halaman Settings Security Command Center.

    Buka aturan Bisukan

  2. Pilih project atau organisasi Google Cloud yang merupakan resource induk untuk aturan bisukan yang ingin Anda ubah.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Klik nama aturan bisukan yang ingin diubah.

    Jika tidak memilih project atau organisasi yang sesuai, Anda mungkin melihat catatan yang memberi tahu bahwa Anda tidak memiliki izin untuk mengubah aturan bisukan.

  5. Masukkan deskripsi baru, lalu klik Simpan.

  6. Untuk aturan bisukan dinamis, perbarui atau ubah waktu habis masa berlaku aturan.

  7. Perbarui atau ubah filter.

    Untuk mengetahui petunjuknya, lihat Membuat aturan bisukan.

  8. Untuk melihat temuan yang cocok dengan filter yang diperbarui, klik Pratinjau Temuan yang Cocok.

    Tabel akan dimuat dengan temuan yang cocok dengan kueri baru.

  9. Klik Simpan.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk memperbarui aturan bisukan, jalankan perintah 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
    

    Ganti kode berikut:

    • MUTE_CONFIG_ID: ID untuk aturan bisukan.
    • PARENT: resource induk untuk aturan bisukan Anda (organization, folder, atau project).
    • PARENT_ID: ID untuk organisasi, folder, atau project.
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat memperbarui aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global.
    • RULE_DESCRIPTION: deskripsi aturan bisukan (maks.: 1.024 karakter).
    • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan.

      Misalnya, untuk membisukan temuan OPEN_FIREWALL, filter Anda dapat berupa FILTER="category=\"OPEN_FIREWALL\"".

    • MUTE_TYPE: jenis aturan bisukan yang Anda perbarui. Jenis aturan bisukan yang valid adalah DYNAMIC dan STATIC. Anda tidak dapat mengubah jenis aturan bisukan setelah membuatnya.

    • TIMESTAMP: hanya berlaku jika Anda memperbarui aturan bisukan dinamis. String tanggal/waktu yang menunjukkan kapan masa berlaku aturan bisukan dinamis berakhir. Nilai harus ditetapkan setidaknya satu hari di masa mendatang atau permintaan akan ditolak. Untuk informasi tentang format waktu, lihat gcloud topic datetimes. Saat masa berlaku aturan bisukan dinamis berakhir, aturan tersebut akan dihapus dari semua temuan yang cocok. Jika Anda ingin aturan bisukan dinamis bertindak tanpa batas waktu pada temuan yang cocok, hapus kolom ini.

Go


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class UpdateMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO: Replace the variables within {}
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config to update. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    updateMuteRule(projectId, location, muteConfigId);
  }

  // Updates an existing mute configuration.
  // The following can be updated in a mute config: description and filter.
  public static void updateMuteRule(String projectId, String location, String muteConfigId)
      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 securityCenterClient = SecurityCenterClient.create()) {

      MuteConfig updateMuteConfig =
          MuteConfig.newBuilder()
              // Construct the name according to the parent type of the mute rule.
              // Parent can also be one of:
              //  * "organizations/{org_id}/locations/{location}/muteConfigs/{muteConfig_id}"
              //  * "folders/{folder_id}/locations/{location}/muteConfigs/{muteConfig_id}"
              .setName(String.format("projects/%s/locations/%s/muteConfigs/%s", projectId, location,
                  muteConfigId))
              .setDescription("Updated mute config description")
              .build();

      UpdateMuteConfigRequest updateMuteConfigRequest =
          UpdateMuteConfigRequest.newBuilder()
              .setMuteConfig(updateMuteConfig)
              // Make sure that the mask fields match the properties changed in
              // 'updateMuteConfig' object.
              // For more info on constructing update mask path, see the proto or:
              // https://cloud.google.com/security-command-center/docs/reference/rest/v2/folders.muteConfigs/patch?hl=en#query-parameters
              .setUpdateMask(FieldMask.newBuilder().addPaths("description").build())
              .build();

      MuteConfig response = securityCenterClient.updateMuteConfig(updateMuteConfigRequest);
      System.out.println(response);
    }
  }
}

Python

def update_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> Dict:
    """
    Updates an existing mute configuration.
    The following can be updated in a mute config: description, and filter/ mute rule.
    Args:
        parent: Use any one of the following resource paths to list mute configurations:
                - organizations/{organization_id}
                - folders/{folder_id}
                - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         Dict: returns the mute rule details
    """
    from google.cloud import securitycenter_v2
    from google.protobuf import field_mask_pb2

    client = securitycenter_v2.SecurityCenterClient()

    update_mute_config = securitycenter_v2.MuteConfig()
    update_mute_config.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )
    update_mute_config.description = "Updated mute config description"

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

    request = securitycenter_v2.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}")
    return mute_config

REST

Di Security Command Center API, gunakan metode muteConfigs.patch untuk memperbarui aturan bisukan. Isi permintaan adalah instance MuteConfig:

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

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

Ganti kode berikut:

  • PARENT: resource induk untuk aturan bisukan Anda (organizations, folders, atau projects)
  • PARENT_ID: ID untuk organisasi, folder, atau project
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat memperbarui aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global
  • CONFIG_ID: ID numerik aturan bisukan
  • RULE_DESCRIPTION: deskripsi aturan bisukan (maks.: 1.024 karakter)
  • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan

    Misalnya, untuk membisukan temuan OPEN_FIREWALL, filter Anda dapat berupa "category=\"OPEN_FIREWALL\"".

  • MUTE_TYPE: jenis aturan bisukan yang Anda perbarui. Jenis aturan bisukan yang valid adalah DYNAMIC dan STATIC. Anda tidak dapat mengubah jenis aturan bisukan setelah membuatnya.

  • TIMESTAMP: hanya berlaku jika Anda memperbarui aturan bisukan dinamis. String tanggal/waktu yang menunjukkan kapan masa berlaku aturan bisukan dinamis berakhir. Nilainya harus ditetapkan ke setidaknya satu hari ke depan atau permintaan akan ditolak. Untuk informasi tentang format waktu, lihat gcloud topic datetimes. Saat masa berlakunya berakhir, aturan bisukan dinamis akan dihapus dari semua temuan yang cocok. Jika Anda ingin aturan bisukan dinamis berlaku tanpa batas waktu pada temuan yang cocok, hapus kolom ini.

Temuan baru yang sama persis dengan filter akan disembunyikan, dan atribut mute untuk temuan ditetapkan ke MUTED.

Menghapus aturan penonaktifan

Anda dapat menghapus aturan bisukan menggunakan Konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Sebelum menghapus aturan bisukan, pahami hal berikut:

  • Anda tidak dapat memulihkan aturan bisukan yang dihapus.
  • Menghapus aturan bisukan statis tidak akan otomatis membunyikan temuan yang dibisukan. Anda harus mengaktifkan kembali temuan secara manual atau terprogram.
  • Menghapus aturan bisukan dinamis akan otomatis menghapus aturan dari semua temuan yang sebelumnya cocok dan membatalkan bisukan jika tidak cocok dengan aturan tambahan apa pun.
  • Penemuan mendatang yang cocok dengan filter dalam aturan bisukan yang dihapus tidak akan dibisukan.

Untuk kode contoh yang menghapus aturan bisukan, lihat Menghapus aturan bisukan.

Untuk menghapus aturan bisukan, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka tab Mute rules di halaman Settings Security Command Center.

    Buka aturan Bisukan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Klik nama aturan bisukan yang ingin Anda hapus.

  5. Klik Delete.

  6. Baca dialog dan, jika puas, klik Hapus.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk menghapus aturan bisukan, jalankan perintah gcloud scc muteconfigs delete:

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

    Ganti kode berikut:

    • MUTE_CONFIG_ID: ID untuk konfigurasi bisukan
    • PARENT: resource induk untuk aturan bisukan Anda (organization, folder, atau project)
    • PARENT_ID: ID untuk organisasi, folder, atau project
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat menghapus aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global
  3. Konfirmasi permintaan Anda untuk menghapus aturan bisukan.

Go


import (
	"context"
	"fmt"
	"io"

	securitycenter "cloud.google.com/go/securitycenter/apiv2"
	"cloud.google.com/go/securitycenter/apiv2/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


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

public class DeleteMuteRule {

  public static void main(String[] args) throws IOException {
    // TODO(Developer): Replace the following variables
    // projectId: Google Cloud Project id.
    String projectId = "google-cloud-project-id";

    // Specify the location of the mute config. If the mute config was
    // created with v1 API, it can be accessed with "global".
    String location = "global";

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

    deleteMuteRule(projectId, location, 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 location, String muteConfigId)
      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()) {
      // Use appropriate `MuteConfigName` methods depending on the parent type.
      // folder -> MuteConfigName.ofFolderLocationMuteConfigName()
      // organization -> MuteConfigName.ofOrganizationLocationMuteConfigName()
      client.deleteMuteConfig(
          MuteConfigName.ofProjectLocationMuteConfigName(projectId, location, muteConfigId));

      System.out.println("Mute rule deleted successfully: " + muteConfigId);
    }
  }
}

Python

def delete_mute_rule(parent_path: str, location_id: str, mute_config_id: str) -> None:
    """
    Deletes a mute configuration given its resource name.
    Note: Previously muted findings are not affected when a mute config is deleted.
    Args:
         parent_path: use any one of the following options:
                     - organizations/{organization_id}
                     - folders/{folder_id}
                     - projects/{project_id}
        location_id: Gcp location id; example: 'global'
        mute_config_id: Set a unique id; max of 63 chars.
    Returns:
         None: returns none mute rule is deleted
    """
    from google.cloud import securitycenter_v2

    client = securitycenter_v2.SecurityCenterClient()

    request = securitycenter_v2.DeleteMuteConfigRequest()
    request.name = (
        parent_path + "/locations/" + location_id + "/muteConfigs/" + mute_config_id
    )

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

REST

Di Security Command Center API, gunakan metode muteConfigs.delete untuk menghapus aturan bisukan:

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

Ganti kode berikut:

  • PARENT: resource induk untuk aturan bisukan Anda (organizations, folders, atau projects)
  • PARENT_ID: ID untuk organisasi, folder, atau project
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat menghapus aturan bisukan; jika aset data tidak diaktifkan, gunakan nilai global
  • CONFIG_ID: ID numerik aturan bisukan

Membisukan temuan tertentu

Anda dapat membisukan setiap temuan secara statis menggunakan konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Membisukan temuan secara statis tidak memengaruhi apakah temuan tersebut aktif atau tidak. Jika temuan aktif dibisukan, atribut state tetap tidak berubah: state="ACTIVE". Temuan disembunyikan, tetapi tetap aktif hingga kerentanan, konfigurasi salah, atau ancaman yang mendasarinya diselesaikan. Selain itu, dengan menyunyikan temuan secara statis, Anda akan mengganti aturan bisukan dinamis apa pun yang berlaku untuk temuan tersebut.

Membisukan temuan kombinasi toksik akan menutup kasus kombinasi toksik yang sesuai.

Untuk membisukan semua temuan mendatang yang cocok dengan kriteria yang Anda tentukan, lihat Membuat aturan bisukan.

Untuk kode contoh guna menonaktifkan temuan, lihat Menonaktifkan temuan.

Untuk membisukan setiap temuan secara statis, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

  1. Di konsol Google Cloud, buka halaman Temuan Security Command Center.

    Buka Temuan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Jika Anda tidak melihat temuan yang perlu dibisukan di panel Hasil kueri temuan, pilih kategori temuan di bagian Kategori pada panel Filter cepat.

  5. Centang kotak di samping temuan yang perlu dibisukan. Anda dapat memilih satu atau beberapa temuan.

  6. Di panel tindakan Hasil kueri temuan, klik Opsi bisukan, lalu pilih Terapkan penggantian bisukan.

    Atribut mute untuk temuan yang dipilih ditetapkan ke MUTED dan temuan dihapus dari panel Hasil kueri temuan.

Atau, Anda dapat menonaktifkan temuan dari panel detailnya:

  1. Di panel Finding query results di halaman Findings, di kolom Category, klik nama setiap temuan. Panel detail temuan akan terbuka.
  2. Klik Ambil tindakan.
  3. Dari menu Tindakan, pilih Terapkan penggantian bisukan.

    Jika Anda memilih Bisukan temuan seperti ini, halaman Buat aturan bisukan akan terbuka tempat Anda dapat membuat aturan bisukan untuk temuan dari jenis yang sama atau yang menyertakan atribut Indicator yang sama.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk menetapkan status bisukan temuan ke MUTED, gunakan perintah set-mute di gcloud CLI:

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

    Ganti kode berikut:

    • FINDING_ID: ID untuk temuan yang ingin Anda bisukan

      Untuk mengambil ID temuan, gunakan Security Command Center API untuk mencantumkan temuan. ID temuan adalah bagian terakhir dari atribut canonicalName, misalnya, projects/123456789012/sources/1234567890123456789/findings`/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: resource induk (project, folder, atau organization), peka huruf besar/kecil

    • PARENT_ID: ID organisasi induk, folder, atau project

    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat untuk membisukan temuan; jika aset data tidak diaktifkan, gunakan nilai global

    • SOURCE_ID: ID sumber

      Untuk petunjuk tentang cara mengambil ID sumber, lihat Mendapatkan ID sumber.

Go

import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java


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

public class SetMuteFinding {

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

    setMute(findingPath);
  }

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

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

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

Python

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

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

Di Security Command Center API, gunakan metode findings.setMute untuk membisukan temuan. Isi permintaan adalah enum yang menunjukkan status bisu yang dihasilkan:

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

{
  "mute": "MUTED"
}

Ganti kode berikut:

  • PARENT: resource induk (organizations, folders, atau projects).
  • PARENT_ID: ID organisasi, folder, atau project induk.
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat untuk membisukan temuan; jika aset data tidak diaktifkan, gunakan nilai global
  • SOURCE_ID: ID numerik untuk sumber.

    Untuk petunjuk tentang cara mengambil ID sumber, lihat Mendapatkan ID sumber.

  • FINDING_ID: ID untuk temuan yang ingin Anda bisukan.

    Untuk mengambil ID temuan, gunakan Security Command Center API untuk mencantumkan temuan. ID temuan adalah bagian terakhir dari atribut canonicalName, misalnya, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Setelah Anda membisukan temuan, atribut mute-nya ditetapkan ke MUTED.

Mengaktifkan temuan satu per satu

Anda dapat secara statis membunyikan setiap temuan menggunakan konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Membatalkan bisukan temuan berguna saat Anda perlu mencegah temuan disembunyikan oleh aturan bisukan yang terlalu luas, atau oleh aturan yang mungkin terlalu kompleks untuk diubah guna mengecualikan temuan yang Anda anggap penting.

Untuk kode contoh guna mengaktifkan suara temuan, lihat Mengaktifkan suara temuan.

Temuan yang dibisukan akan dibisukan lagi hanya jika temuan dibisukan secara manual. Aturan bisukan yang dibuat dengan gcloud CLI atau Security Command Center API tidak akan memengaruhi temuan yang diaktifkan kembali oleh pengguna.

Untuk kode contoh guna membunyikan temuan, lihat Membatalkan bisukan temuan.

Konsol

  1. Di konsol Google Cloud, buka halaman Temuan Security Command Center.

    Buka Temuan

  2. Jika perlu, pilih project atau organisasi Google Cloud Anda.

    Halaman Temuan akan terbuka dengan kueri default yang ditampilkan di bagian Pratinjau kueri. Kueri default memfilter temuan yang dibisukan, jadi Anda perlu mengedit kueri sebelum temuan yang dibisukan muncul di panel Hasil kueri temuan.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Di sebelah kanan bagian Pratinjau kueri, klik Edit kueri untuk membuka Editor kueri.

  5. Di kolom Query editor, ganti pernyataan bisukan yang ada dengan hal berikut:

    mute="MUTED"
  6. Klik Terapkan. Temuan di panel Findings query results diperbarui untuk hanya menyertakan temuan yang dibisukan.

  7. Jika perlu, filter temuan lain yang dibisukan. Misalnya, di panel Filter cepat pada bagian Kategori, pilih nama temuan yang perlu Anda aktifkan untuk memfilter semua kategori temuan lainnya.

  8. Centang kotak di samping temuan yang ingin Anda aktifkan suaranya. Anda dapat memilih satu atau beberapa temuan.

  9. Di panel tindakan Hasil kueri temuan, klik Opsi Bisukan, lalu pilih Terapkan penggantian bisukan.

    Atribut mute untuk temuan yang dipilih ditetapkan ke UNMUTED dan temuan dihapus dari panel Hasil kueri temuan.

Atau, Anda dapat mengaktifkan temuan dari panel detailnya:

  1. Di panel Finding query results di halaman Findings, di kolom Category, klik nama setiap temuan. Panel detail temuan akan terbuka.
  2. Klik Ambil tindakan.
  3. Dari menu Tindakan, pilih Terapkan penggantian bisukan.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk menetapkan status bisukan temuan ke UNMUTED, gunakan perintah set-mute di gcloud CLI:

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

    Ganti kode berikut:

    • FINDING_ID: ID untuk temuan yang ingin Anda bisukan

      Untuk mengambil ID temuan, gunakan Security Command Center API untuk mencantumkan temuan. ID temuan adalah bagian terakhir dari atribut canonicalName, misalnya, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: resource induk (project, folder, atau organization ), peka huruf besar/kecil

    • PARENT_ID: ID organisasi, folder, atau project induk

    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat untuk menonaktifkan bisukan temuan; jika aset data tidak diaktifkan, gunakan nilai global

    • SOURCE_ID: ID sumber

      Untuk petunjuk tentang cara mengambil ID sumber, lihat Mendapatkan ID sumber.

Go


import (
	"context"
	"fmt"
	"io"

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

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

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

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

Java


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

public class SetUnmuteFinding {

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

    setUnmute(findingPath);
  }

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

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

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

Python

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

    client = securitycenter_v2.SecurityCenterClient()

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

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

REST

Di Security Command Center API, gunakan metode findings.setMute untuk mengaktifkan suara temuan. Isi permintaan adalah enum yang menunjukkan status bisu yang dihasilkan:

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

{
  "mute": "UNMUTED"
}

Ganti kode berikut:

  • PARENT: resource induk (organizations, folders, atau projects)
  • PARENT_ID: ID organisasi, folder, atau project induk
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat untuk menonaktifkan bisukan temuan; jika aset data tidak diaktifkan, gunakan nilai global
  • SOURCE_ID: ID numerik untuk sumber

    Untuk petunjuk tentang cara mengambil ID sumber, lihat Mendapatkan ID sumber.

  • FINDING_ID: ID untuk temuan yang ingin Anda bisukan.

    Untuk mengambil ID temuan, gunakan Security Command Center API untuk mencantumkan temuan. ID temuan adalah bagian terakhir dari atribut canonicalName, misalnya, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

Temuan yang dipilih tidak lagi disembunyikan, dan atribut mute untuk temuan ditetapkan ke UNMUTED.

Menghapus penggantian status bisukan dari setiap temuan

Anda menerapkan penggantian status bisu saat sengaja mengubah status bisu temuan untuk membisukan atau membunyikan temuan secara statis. Misalnya, Anda mungkin ingin menerapkan penggantian status bisukan untuk menyembunyikan temuan dengan tingkat keparahan rendah yang tidak perlu membuat aturan bisukan dinamis.

Anda dapat menghapus penggantian status bisukan dari setiap temuan menggunakan Konsol Google Cloud, gcloud CLI, atau Security Command Center API.

Sebelum menghapus penggantian status bisukan dari temuan, pahami hal berikut:

  • Temuan memiliki penggantian status bisu jika dibisukan atau diaktifkan secara statis. Anda dapat menerapkan penggantian status bisukan ke temuan apa pun secara manual atau otomatis dengan aturan bisukan statis.
  • Penggantian status bisu berlaku untuk temuan tanpa batas waktu dan lebih diutamakan daripada aturan bisu yang cocok.
  • Menghapus penggantian status bisukan dari temuan akan mereset status bisukan temuan sehingga dapat diproses oleh aturan bisukan statis atau dinamis.
  • Menghapus penggantian status bisu dari temuan berbeda dengan membatalkan bisu temuan. Saat Anda membatalkan bisukan temuan (menerapkan penggantian pembatalan bisukan), aturan bisukan tidak dapat membisukan temuan tersebut hingga Anda menghapus penggantian status bisukan secara manual.

Untuk menghapus penggantian bisukan dari setiap temuan, lakukan tindakan berikut:

Konsol

  1. Di konsol Google Cloud, buka halaman Temuan Security Command Center.

    Buka Temuan

  2. Pilih project atau organisasi Google Cloud Anda.

  3. Opsional: Jika aset data diaktifkan untuk Security Command Center, ubah lokasi data sesuai kebutuhan.

    Untuk mengubah lokasi data, klik pemilih lokasi di panel tindakan.

    Daftar lokasi akan muncul. Pilih lokasi baru.

  4. Di sebelah kanan bagian Pratinjau kueri, klik Edit kueri untuk membuka Editor kueri.

  5. Di kolom Query editor, ganti pernyataan bisukan yang ada dengan hal berikut:

    mute="MUTED" OR mute="UNMUTED"
  6. Klik Terapkan. Temuan di panel Hasil kueri temuan diperbarui untuk menyertakan temuan yang dibisukan dan diaktifkan secara statis.

  7. Jika perlu, filter temuan lainnya. Misalnya, di panel Filter cepat pada bagian Kategori, pilih nama temuan yang perlu direset untuk memfilter semua kategori temuan lainnya.

  8. Centang kotak di samping temuan yang ingin Anda reset. Anda dapat memilih satu atau beberapa temuan.

  9. Di panel tindakan Hasil kueri temuan, klik Opsi Bisukan, lalu pilih Hapus penggantian bisukan.

    Atribut mute untuk temuan yang dipilih ditetapkan ke UNDEFINED dan temuan dihapus dari panel Hasil kueri temuan.

Atau, Anda dapat mengaktifkan temuan dari panel detailnya:

  1. Di panel Finding query results di halaman Findings, di kolom Category, klik nama setiap temuan. Panel detail temuan akan terbuka.
  2. Klik Ambil tindakan.
  3. Dari menu Tindakan, pilih Hapus penggantian bisukan.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk menetapkan status bisukan temuan ke UNDEFINED, gunakan perintah set-mute di gcloud CLI:

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

    Ganti kode berikut:

    • FINDING_ID: ID untuk temuan yang ingin Anda reset

      Untuk mengambil ID temuan, gunakan Security Command Center API untuk mencantumkan temuan. ID temuan adalah bagian terakhir dari atribut canonicalName, misalnya, projects/123456789012/sources/1234567890123456789/findings/5ee30aa342e799e4e1700826de053aa9.

    • PARENT: resource induk (project, folder, atau organization ), peka huruf besar/kecil

    • PARENT_ID: ID organisasi, folder, atau project induk

    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat penghapusan penggantian status bisukan dari temuan; jika aset data tidak diaktifkan, gunakan nilai global

    • SOURCE_ID: ID sumber

      Untuk petunjuk tentang cara mengambil ID sumber, lihat Mendapatkan ID sumber.

REST

Di Security Command Center API, gunakan metode findings.setMute untuk mereset status bisukan temuan. Isi permintaan adalah enum yang menunjukkan status bisu yang dihasilkan:

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

{
  "mute": "UNDEFINED"
}

Ganti kode berikut:

  • PARENT: resource induk (organizations, folders, atau projects)
  • PARENT_ID: ID organisasi, folder, atau project induk
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat penghapusan penggantian status bisukan dari temuan; jika aset data tidak diaktifkan, gunakan nilai global
  • SOURCE_ID: ID numerik untuk sumber

Menonaktifkan atau mereset beberapa temuan yang ada

Anda dapat melakukan operasi bisukan massal berikut untuk beberapa penemuan yang ada dengan menggunakan perintah gcloud CLI gcloud scc findings bulk-mute, atau metode bulkMute dari Security Command Center API:

  • Menonaktifkan beberapa temuan yang ada. Menonaktifkan temuan yang ada secara massal akan menonaktifkannya secara statis dan mengganti aturan penonaktifan dinamis yang berlaku untuk temuan tersebut. Jika Anda perlu membisukan temuan serupa di masa mendatang, buat aturan pembisuan.

  • Menghapus penggantian status bisukan pada beberapa temuan yang ada. Dengan menghapus penggantian status bisu pada temuan, Anda mereset status bisu dari MUTED (bisu secara statis) atau UNMUTED (tidak bisu secara statis) menjadi UNDEFINED. Kemampuan ini dapat berguna jika Anda bermigrasi dari aturan bisukan statis ke dinamis.

Tentukan kumpulan temuan yang perlu dibisukan dengan menentukan filter temuan. Filter bisukan massal tidak mendukung semua properti penemuan. Untuk mengetahui daftar properti yang tidak didukung, lihat Properti temuan yang tidak didukung untuk aturan bisukan.

Jika aset data diaktifkan untuk Security Command Center, cakupan operasi bisukan massal akan dibatasi ke lokasi Security Command Center tempat operasi tersebut dijalankan.

Untuk kode contoh yang menonaktifkan temuan secara massal, lihat Menonaktifkan temuan secara massal.

Untuk membisukan atau mereset temuan secara massal, klik tab untuk prosedur yang ingin Anda gunakan:

Konsol

Di konsol Google Cloud, Anda hanya dapat membisukan temuan secara massal dengan membuat aturan bisukan. Di konsol Google Cloud, membuat aturan bisukan akan membisukan temuan yang ada dan yang akan datang.

gcloud

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Untuk membisukan atau mereset beberapa temuan secara massal, jalankan perintah gcloud scc findings bulk-mute:

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

    Ganti kode berikut:

    • PARENT: cakupan dalam hierarki resource yang menerapkan aturan bisukan, organization, folder, atau project.
    • PARENT_ID: ID numerik organisasi, folder, atau project induk, atau ID alfanumerik project induk.
    • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat membisukan atau mereset temuan secara massal; jika aset data tidak diaktifkan, gunakan nilai global.
    • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan.

      Misalnya, untuk membisukan semua temuan OPEN_FIREWALL dan PUBLIC_IP_ADDRESS dengan tingkat keparahan rendah yang ada di project internal-test, filter Anda dapat berupa "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

    • MUTE_STATE: nilai yang menunjukkan apakah temuan dibisukan secara statis atau tidak. Nilai yang valid adalah MUTED dan UNDEFINED. Nilai ini ditetapkan ke MUTED secara default. Hanya tetapkan nilai ini ke UNDEFINED jika Anda mereset status bisukan beberapa penemuan yang ada.

REST

Di Security Command Center API, gunakan metode findings.bulkMute untuk membisukan atau mereset status bisukan beberapa temuan yang ada. Isi permintaan berisi ekspresi yang digunakan untuk memfilter temuan:

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

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

Ganti kode berikut:

  • PARENT: resource induk (organizations, folders, atau projects).
  • PARENT_ID: ID organisasi induk, folder, atau project.
  • LOCATION: jika aset data diaktifkan, lokasi Security Command Center tempat untuk membisukan atau mereset temuan secara massal; jika aset data tidak diaktifkan, gunakan nilai global.
  • FILTER: ekspresi yang Anda tentukan untuk memfilter temuan.

    Misalnya, untuk membisukan semua temuan OPEN_FIREWALL dan PUBLIC_IP_ADDRESS dengan tingkat keparahan rendah yang ada di project internal-test, filter Anda dapat berupa "category=\"OPEN_FIREWALL\" OR category=\"PUBLIC_IP_ADDRESS\" AND severity=\"LOW\" AND resource.projectDisplayName=\"internal-test\"".

  • MUTE_STATE: nilai yang menunjukkan apakah temuan dibisukan atau tidak. Nilai yang valid adalah MUTED atau UNDEFINED. Nilai ini ditetapkan ke MUTED secara default. Hanya tetapkan nilai ini ke UNDEFINED jika Anda mereset status bisukan beberapa temuan yang ada.

Semua temuan yang ada di resource yang Anda pilih, dan yang sama persis dengan filter, akan disembunyikan. Atribut mute untuk temuan ditetapkan ke MUTED.

Membisukan temuan tidak akan mengubah statusnya. Jika dibisukan, temuan aktif akan disembunyikan, tetapi tetap aktif hingga kerentanan, konfigurasi yang salah, atau ancaman yang mendasarinya diselesaikan.

Melihat temuan yang dibisukan di konsol Google Cloud

Anda dapat melihat temuan yang dibisukan di konsol Google Cloud dengan mengedit kueri temuan untuk memilih temuan yang menyertakan nilai properti mute="MUTED".

Misalnya, kueri temuan berikut hanya menampilkan temuan aktif yang dibisukan:

state="ACTIVE"
AND mute="MUTED"

Untuk menampilkan semua temuan aktif, baik yang dibisukan maupun tidak dibisukan, hapus atribut mute dari kueri sepenuhnya:

state="ACTIVE"

Secara default, kueri temuan di konsol Google Cloud hanya menampilkan temuan yang tidak dibisukan.

Melihat temuan yang dibisukan berdasarkan jenis aturan bisukan

Bagian berikut menjelaskan cara membuat kueri temuan aktif menurut jenis aturan bisukan.

Untuk mengetahui informasi selengkapnya tentang mencantumkan temuan tertentu, lihat Memfilter temuan.

Temuan kueri dibisukan oleh aturan bisukan statis

Untuk menampilkan temuan aktif yang dibisukan oleh aturan bisukan statis setelah waktu yang ditentukan, gunakan kueri berikut dan periksa atribut muteInitiator untuk menentukan apakah temuan dibisukan oleh aturan bisukan statis.

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

Ganti TIMESTAMP dengan string tanggal/waktu yang menunjukkan awal jangka waktu yang ingin Anda buat kueri. Untuk informasi tentang format waktu, lihat gcloud topic datetimes.

Temuan kueri dibisukan oleh aturan bisukan dinamis

Untuk menampilkan temuan aktif yang dibisukan oleh aturan bisukan dinamis setelah waktu yang ditentukan, gunakan kueri berikut:

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

Ganti kode berikut:

  • TIMESTAMP: String tanggal/waktu yang menunjukkan awal jangka waktu yang ingin Anda buat kuerinya. Untuk informasi tentang format waktu, lihat gcloud topic datetimes.
  • PARENT_ID: ID organisasi induk, folder, atau project, yang ditentukan dalam format organizations/123, folders/456, atau projects/789.
  • CONFIG_ID: nama aturan bisukan. ID harus menggunakan karakter alfanumerik dan tanda hubung serta terdiri dari 1 hingga 63 karakter.

Untuk mengetahui informasi selengkapnya tentang cara mengedit kueri temuan, lihat Membuat atau mengedit kueri temuan di dasbor.

Menemukan properti yang terkait dengan bisukan

Bagian ini mencantumkan properti temuan yang terkait dengan status bisukan temuan, dan menjelaskan pengaruhnya terhadap operasi bisukan:

  • mute: ditetapkan ke UNDEFINED saat temuan dibuat dan berubah dalam skenario berikut:
    • MUTED: temuan dibisukan secara manual atau oleh aturan bisukan.
    • UNMUTED: pengguna mengaktifkan suara temuan.
  • muteUpdateTime: waktu saat temuan dibisukan atau diaktifkan.
  • muteInitiator: ID untuk akun utama atau aturan bisukan yang membisukan temuan.
  • muteInfo: informasi bisukan tentang temuan, seperti jenis aturan bisukan (statis atau dinamis) dan aturan bisukan yang cocok dengan temuan.
  • muteInfo.staticMute: status bisu statis akan menggantikan aturan bisu dinamis yang berlaku untuk temuan ini.
    • state: status bisukan statis yang dapat ditetapkan dengan membisukan penemuan secara langsung atau aturan bisukan statis.
    • applyTime: waktu saat status bisu statis diterapkan ke temuan.
  • muteInfo.dynamicMuteRecords: Data aturan bisukan dinamis yang cocok dengan temuan.
    • muteConfig: nama resource relatif dari aturan bisukan, yang diwakili oleh konfigurasi bisukan yang membuat data. Contoh, organizations/123/muteConfigs/examplemuteconfig.
    • matchTime: waktu saat aturan bisukan dinamis cocok dengan temuan.

Menghentikan notifikasi dan ekspor temuan yang dibisukan

Jika Anda mengaktifkan notifikasi temuan, temuan baru atau yang dibisukan dan diperbarui yang cocok dengan filter notifikasi Anda masih diekspor ke Pub/Sub.

Untuk menghentikan ekspor dan notifikasi untuk temuan yang dibisukan, gunakan atribut mute untuk mengecualikan temuan yang dibisukan di filter NotificationConfig Anda. Misalnya, filter berikut hanya mengirim notifikasi untuk temuan aktif yang tidak dibisukan atau jika atribut bisukan belum ditetapkan:

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

Langkah selanjutnya

Pelajari lebih lanjut cara memfilter notifikasi penemuan.

Lihat contoh filter lainnya yang dapat Anda gunakan.