숨기기 규칙 관리

이 문서에서는 Security Command Center에서 발견 항목을 자동으로 음소거하기 위해 음소거 규칙을 만들고 관리하는 방법을 설명합니다.

필요한 역할

숨김 규칙을 관리하는 데 필요한 권한을 얻으려면 관리자에게 조직, 폴더 또는 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

제외 규칙 만들기

조직은 최대 1,000개까지 숨기기 규칙을 만들 수 있습니다.

숨기기 규칙 구성에서는 정적 숨기기 규칙보다 유연하므로 동적 숨기기 규칙만 사용하는 것이 좋습니다. 제외 규칙 유형을 비교하려면 제외 규칙 유형을 참고하세요.

제외 규칙을 만들려면 사용하려는 절차의 탭을 클릭합니다.

콘솔

제외 규칙 정의

  1. Google Cloud 콘솔에서 발견 항목 페이지로 이동합니다.

    발견 항목으로 이동

  2. 조직 또는 프로젝트를 선택합니다.

  3. 숨기기 옵션을 클릭한 후 숨기기 규칙 관리를 선택합니다.

  4. 제외 규칙 만들기를 클릭합니다.

  5. 제외 규칙 ID를 입력합니다.

  6. 권장사항: 발견 항목이 숨겨진 이유에 대한 컨텍스트를 제공하는 설명을 입력합니다.

  7. 제외 규칙의 범위를 확인하려면 상위 리소스 값을 확인합니다.

선택사항: 만료일 추가

동적 숨기기 규칙에 만료 날짜를 추가할 수 있습니다.

  1. 일치하는 발견 항목 일시적으로 숨기기를 선택합니다.
  2. 동적 제외 규칙의 만료일을 구성하려면 캘린더를 선택하고 24시간 이후의 날짜와 시간을 선택합니다.

    만료일이 지나면 음소거 규칙이 적용되지 않습니다.

선택사항: 쿼리로 무음 규칙 제한하기

쿼리를 추가하면 제외 규칙이 쿼리와 일치하는 발견 항목에만 적용됩니다.

쿼리를 사용하여 제외 규칙을 제한하려면 발견 항목 쿼리 섹션에서 필터 추가를 클릭합니다.

필터 추가 메뉴에서는 지원되는 발견 항목 속성 및 값을 선택할 수 있습니다.

  1. 필터 선택 메뉴에서 발견 사항 속성을 선택하거나 발견 사항 속성 검색 상자에 해당 이름을 입력합니다. 사용 가능한 하위 속성 목록이 표시됩니다.
  2. 하위 속성을 선택합니다. 선택한 하위 속성, 쿼리 연산자, 하나 이상의 하위 속성 값을 사용하여 쿼리 문을 작성할 수 있는 선택 필드가 표시됩니다.
  3. 패널에서 연산자와 하나 이상의 하위 속성 값을 선택합니다. 쿼리 연산자와 연산자가 사용하는 함수에 대한 자세한 내용은 필터 추가 메뉴의 쿼리 연산자를 참고하세요.

    다시 시작하려면 재설정을 클릭합니다.

  4. 적용을 클릭합니다.

    메뉴가 닫히고 쿼리가 업데이트됩니다.

  5. 발견 사항 쿼리에 원하는 모든 속성이 포함될 때까지 반복합니다.
쿼리 결과를 확인하려면 일치하는 발견 항목 미리보기를 클릭합니다. 표에 쿼리와 일치하는 발견 항목이 나열됩니다.

쿼리가 올바른 결과와 일치하지 않으면 필요에 따라 쿼리를 수정하고 결과를 다시 미리 봅니다. 결과가 만족스러울 때까지 이 단계를 반복합니다.

제외 규칙 저장

저장을 클릭합니다. Google Cloud 콘솔에 숨기기 규칙 목록이 표시됩니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 숨기기 규칙을 만들려면 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

    다음을 바꿉니다.

    • CONFIG_ID: 제외 규칙 이름입니다. ID는 영숫자 문자와 하이픈을 사용해야 하며 1~63자(영문 기준) 사이여야 합니다.
    • PARENT: 제외 규칙이 적용되는 리소스 계층 구조의 범위입니다(organization, folder, project).
    • PARENT_ID: 상위 조직, 폴더, 프로젝트의 숫자 ID 또는 상위 프로젝트의 영숫자 ID입니다.
    • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
    • RULE_DESCRIPTION: 숨기기 규칙에 대한 설명입니다(1,024자(영문 기준) 이내).
    • FILTER: 발견 사항을 필터링하기 위해 정의하는 표현식입니다. 예를 들어 OPEN_FIREWALL 발견 사항을 숨기려면 FILTER="category=\"OPEN_FIREWALL\"" 필터를 사용할 수 있습니다.
    • MUTE_TYPE: 만들려는 제외 규칙의 유형입니다. 유효한 제외 규칙 유형은 DYNAMICSTATIC입니다. 제외 규칙 유형은 기본적으로 STATIC으로 설정됩니다. 숨기기 규칙을 만든 후에는 유형을 변경할 수 없습니다.
    • TIMESTAMP: 동적 제외 규칙을 만드는 경우에만 적용됩니다. 동적 제외 규칙이 만료되는 시점을 나타내는 날짜/시간 문자열입니다. 값은 최소 1일 후로 설정해야 하며 그렇지 않으면 요청이 거부됩니다. 시간 형식에 관한 자세한 내용은 gcloud topic datetimes를 참고하세요. 동적 숨기기 규칙이 만료되면 일치하는 모든 발견 사항에서 규칙이 삭제됩니다. 동적 제외 규칙이 일치하는 발견 사항에 무기한으로 작동하도록 하려면 이 필드를 생략합니다.

    응답에는 제외 규칙 관리에 설명된 대로 제외 규칙을 확인, 업데이트, 삭제하기 위해 사용할 수 있는 제외 규칙 ID가 포함되어 있습니다.

Terraform

조직에 대한 제외 규칙을 만듭니다.

resource "google_scc_v2_organization_mute_config" "default" {
  mute_config_id    = "my-config"
  organization = "123456789"
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Organization mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

폴더에 대한 제외 규칙을 만듭니다.

resource "google_folder" "folder" {
  parent       = "organizations/123456789"
  display_name = "folder-name"
}

resource "google_scc_v2_folder_mute_config" "default" {
  mute_config_id    = "my-config"
  folder = google_folder.folder.folder_id
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Folder mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

프로젝트에 대한 제외 규칙을 만듭니다.

resource "google_scc_v2_project_mute_config" "default" {
  mute_config_id    = "my-config"
  project = "my-project-name"
  location     = "global"
  description  = "My custom Cloud Security Command Center Finding Project mute Configuration"
  filter = "severity = \"HIGH\""
  type = "STATIC"
}

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

Security Command Center API에서 muteConfigs.create 메서드를 사용하여 제외 규칙을 만듭니다. 요청 본문은 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"
  }

다음을 바꿉니다.

  • PARENT: 제외 규칙의 상위 리소스(organizations, folders, projects)
  • PARENT_ID: 상위 조직, 폴더 또는 프로젝트의 ID
  • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
  • MUTE_CONFIG_ID: 제외 규칙의 이름입니다(1~63자).
  • RULE_DESCRIPTION: 숨기기 규칙에 대한 설명입니다(최대 1,024자).
  • FILTER: 발견 사항을 필터링하기 위해 정의하는 표현식입니다.

    예를 들어 OPEN_FIREWALL 발견 사항을 숨기려면 "category=\"OPEN_FIREWALL\"" 필터를 사용할 수 있습니다.

  • MUTE_TYPE: 만들려는 제외 규칙의 유형입니다. 유효한 제외 규칙 유형은 DYNAMICSTATIC입니다. 제외 규칙을 만든 후에는 규칙의 유형을 변경할 수 없습니다.

  • TIMESTAMP: 동적 제외 규칙을 만드는 경우에만 적용됩니다. 동적 제외 규칙이 만료되는 시점을 나타내는 날짜/시간 문자열입니다. 값은 최소 1일 후로 설정해야 하며 그렇지 않으면 요청이 거부됩니다. 시간 형식에 관한 자세한 내용은 gcloud topic datetimes를 참고하세요. 동적 숨기기 규칙이 만료되면 일치하는 모든 발견 사항에서 규칙이 삭제됩니다. 동적 제외 규칙이 일치하는 발견 사항에 무기한으로 작동하도록 하려면 이 필드를 생략합니다.

응답에는 숨기기 규칙 관리에 설명된 대로 숨기기 규칙을 확인, 업데이트, 삭제하기 위해 사용할 수 있는 숨기기 구성 ID가 포함되어 있습니다.

필터와 정확하게 일치하는 새 발견 사항이 숨겨지고 이 발견 사항의 mute 속성이 MUTED로 설정됩니다.

숨기기 규칙에 지원되지 않는 발견 사항 속성

숨기기 규칙에서는 필터의 모든 발견 사항 속성이 지원되지 않습니다. 다음 섹션을 펼쳐 숨기기 규칙 필터에서 지원되지 않는 속성 목록을 확인합니다.

지원되지 않는 발견 사항 속성

  • caiResource
  • canonicalName
  • createTime
  • description
  • eventTime
  • externalUri
  • gcpMetadata.folders1
  • libraryPaths
  • mute
  • muteAnnotation
  • muteInfo
  • muteInitiator
  • muteUpdateTime
  • name
  • nextSteps
  • originalProviderId
  • parent
  • processes.binaryPath
  • processes.libraryPaths
  • propertyDataTypes
  • resource.tags
  • resourceName
  • securityMarks
  • sourceProperties
  • state
  • workflowState
  • 1gcpMetadata.folders 속성에는 숨기기 필터에서 지원되는 하위 필드가 포함되어 있습니다.

숨기기 규칙 나열

Google Cloud 콘솔, gcloud CLI 또는 Security Command Center API를 사용하여 조직, 폴더 또는 프로젝트의 숨기기 규칙을 나열할 수 있습니다.

지정된 범위의 숨기기 규칙을 나열하는 기능은 IAM 역할에 부여된 권한에 따라 다릅니다.

데이터 레지던시가 Security Command Center에 사용 설정되면 list 명령어 범위도 선택한 Security Command Center 위치로 제한됩니다.

숨기기 규칙을 나열하는 샘플 코드는 숨기기 규칙 나열을 참조하세요.

조직, 폴더 또는 프로젝트의 숨기기 규칙을 나열하려면 사용하려는 절차의 탭을 클릭합니다.

콘솔

  1. Google Cloud 콘솔에서 Security Command Center 설정 페이지의 숨기기 규칙 탭으로 이동합니다.

    숨기기 규칙으로 이동

  2. 필요한 경우 Google Cloud 프로젝트 또는 조직을 선택합니다.

  3. 숨기기 규칙 섹션에 다음을 포함한 활성 숨기기 규칙의 세부정보가 표시됩니다.

    • 이름: 제외 규칙 ID
    • 상위 리소스: 제외 규칙이 있는 리소스입니다.
    • 설명: 사용 가능한 경우 제외 규칙에 대한 설명입니다.
    • 최종 업데이트 수행자: 규칙을 마지막으로 업데이트한 주 구성원입니다.
    • 최종 업데이트 시간: 규칙이 마지막으로 업데이트된 날짜 및 시간입니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 숨기기 규칙을 나열하려면 gcloud scc muteconfigs list 명령어를 실행합니다.

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

    다음을 바꿉니다.

    • PARENT: 숨기기 규칙을 나열할 상위 organization, folder 또는 project
    • PARENT_ID: 상위 조직, 폴더 또는 프로젝트의 ID
    • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 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

Security Command Center API에서 muteConfigs.list 메서드를 사용하여 숨기기 규칙을 나열합니다.

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

다음을 바꿉니다.

  • PARENT: 제외 규칙의 상위 리소스(organizations, folders, projects)
  • PARENT_ID: 상위 조직, 폴더 또는 프로젝트의 ID
  • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.

응답에는 숨기기 규칙에 대한 이름, 설명, 숨기기 구성 ID가 포함됩니다.

제외 규칙 구성 보기

Google Cloud 콘솔, gcloud CLI 또는 Security Command Center API를 사용하여 제외 규칙 구성을 볼 수 있습니다.

제외 규칙 구성을 검색하는 샘플 코드는 제외 규칙 보기를 참고하세요.

제외 규칙 구성을 보려면 사용하려는 절차의 탭을 클릭합니다.

콘솔

  1. Google Cloud 콘솔에서 Security Command Center 설정 페이지의 숨기기 규칙 탭으로 이동합니다.

    숨기기 규칙으로 이동

  2. 필요한 경우 Google Cloud 프로젝트 또는 조직을 선택합니다.

  3. 숨기기 규칙 섹션에서 숨기기 규칙 목록을 확인합니다.

  4. 보려는 규칙의 이름을 클릭합니다.

    숨기기 규칙 구성이 포함된 페이지가 열립니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 제외 규칙 구성을 보려면 gcloud scc muteconfigs get 명령어를 실행합니다.

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

    다음을 바꿉니다.

    • MUTE_CONFIG_ID: 제외 규칙 ID
    • PARENT: 제외 규칙의 상위 리소스(organization, folder, project)
    • PARENT_ID: 조직, 폴더 또는 프로젝트의 ID
    • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 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

Security Command Center API에서 muteConfigs.get 메서드를 사용하여 제외 규칙 구성을 반환합니다.

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

다음을 바꿉니다.

  • PARENT: 제외 규칙의 상위 리소스(organizations, folders, projects)
  • PARENT_ID: 조직, 폴더, 프로젝트의 ID
  • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
  • CONFIG_ID: 제외 규칙의 숫자 ID

숨기기 규칙 업데이트

Google Cloud 콘솔, gcloud CLI 또는 Security Command Center API를 사용하여 숨기기 규칙의 설명이나 발견 항목 필터를 업데이트할 수 있습니다.

제외 규칙의 ID, 상위 조직, 폴더, 프로젝트, 위치를 변경할 수 없습니다. 이러한 값을 변경하려면 새 제외 규칙을 만들어야 합니다.

이전에 발견 사항을 숨기기 취소했지만 Google Cloud 콘솔에서 업데이트된 제외 규칙과 일치할 경우에는 다시 숨겨집니다. 자세한 내용은 개별 발견 사항 숨기기 취소를 참고하세요.

제외 규칙을 업데이트하는 샘플 코드는 제외 규칙 업데이트를 참고하세요.

제외 규칙을 업데이트하려면 사용하려는 절차의 탭을 클릭합니다.

콘솔

  1. Google Cloud 콘솔에서 Security Command Center 설정 페이지의 숨기기 규칙 탭으로 이동합니다.

    숨기기 규칙으로 이동

  2. 수정하려는 숨기기 규칙의 상위 리소스인 Google Cloud 프로젝트 또는 조직을 선택합니다.

  3. 수정하려는 제외 규칙의 이름을 클릭합니다.

    적절한 프로젝트 또는 조직을 선택하지 않았으면 숨기기 규칙을 수정할 수 있는 권한이 없다는 메시지가 표시될 수 있습니다.

  4. 제외 규칙을 변경합니다.

  5. 선택사항: 필터를 업데이트한 후 일치하는 발견 사항 미리보기를 클릭하여 업데이트된 필터와 일치하는 발견 사항을 확인합니다. 새 쿼리와 일치하는 발견 사항이 포함된 테이블이 로드됩니다.

  6. 저장을 클릭합니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 숨기기 규칙을 업데이트하려면 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
    

    다음을 바꿉니다.

    • MUTE_CONFIG_ID: 제외 규칙 ID
    • PARENT: 제외 규칙의 상위 리소스입니다(organization, folder, project).
    • PARENT_ID: 조직, 폴더 또는 프로젝트의 ID
    • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
    • RULE_DESCRIPTION: 숨기기 규칙에 대한 설명입니다(최대 1,024자).
    • FILTER: 발견 사항을 필터링하기 위해 정의하는 표현식입니다.

      예를 들어 OPEN_FIREWALL 발견 사항을 숨기려면 FILTER="category=\"OPEN_FIREWALL\"" 필터를 사용할 수 있습니다.

    • MUTE_TYPE: 업데이트할 제외 규칙의 유형입니다. 유효한 제외 규칙 유형은 DYNAMICSTATIC입니다. 제외 규칙을 만든 후에는 유형을 변경할 수 없습니다.

    • TIMESTAMP: 동적 제외 규칙을 업데이트하는 경우에만 적용됩니다. 동적 제외 규칙이 만료되는 시점을 나타내는 날짜/시간 문자열입니다. 값은 최소 1일 후로 설정해야 하며 그렇지 않으면 요청이 거부됩니다. 시간 형식에 관한 자세한 내용은 gcloud topic datetimes을 참고하세요. 동적 숨기기 규칙이 만료되면 일치하는 모든 발견 사항에서 규칙이 삭제됩니다. 동적 제외 규칙이 일치하는 발견 사항에 무기한으로 작동하도록 하려면 이 필드를 생략합니다.

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

Security Command Center API에서 muteConfigs.patch 메서드를 사용하여 제외 규칙을 업데이트합니다. 요청 본문은 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"
  }

다음을 바꿉니다.

  • PARENT: 제외 규칙의 상위 리소스(organizations, folders, projects)
  • PARENT_ID: 조직, 폴더, 프로젝트의 ID
  • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
  • CONFIG_ID: 제외 규칙의 숫자 ID
  • RULE_DESCRIPTION: 숨기기 규칙에 대한 설명입니다(최대 1,024자).
  • FILTER: 발견 사항을 필터링하기 위해 정의하는 표현식입니다.
  • MUTE_TYPE: 업데이트할 제외 규칙의 유형입니다. 유효한 제외 규칙 유형은 DYNAMICSTATIC입니다. 제외 규칙을 만든 후에는 유형을 변경할 수 없습니다.
  • TIMESTAMP: 동적 제외 규칙을 업데이트하는 경우에만 적용됩니다. 동적 제외 규칙이 만료되는 시점을 나타내는 날짜/시간 문자열입니다. 값은 최소 1일 후로 설정해야 하며 그렇지 않으면 요청이 거부됩니다. 시간 형식에 관한 자세한 내용은 gcloud topic datetimes을 참고하세요. 동적 숨기기 규칙이 만료되면 일치하는 모든 발견 사항에서 규칙이 삭제됩니다. 동적 제외 규칙이 일치하는 발견 사항에 무기한으로 작동하도록 하려면 이 필드를 생략합니다.

숨기기 규칙 삭제

Google Cloud 콘솔, gcloud CLI 또는 Security Command Center API를 사용하여 제외 규칙을 삭제할 수 있습니다.

숨기기 규칙을 삭제하려면 먼저 다음을 확인해야 합니다.

  • 삭제된 숨기기 규칙은 복구할 수 없습니다.
  • 정적숨기기 규칙을 삭제해도 숨겨진 발견 사항이 자동으로 숨기기 취소되지는 않습니다. 수동 또는 프로그래매틱 방식으로 발견 사항을 숨기기 취소해야 합니다.
  • 동적 숨기기 규칙을 삭제하면 이전에 일치한 모든 발견 사항에서 규칙이 자동으로 삭제되고 추가 규칙과 일치하지 않는 경우 숨기기 취소됩니다.
  • 삭제된 숨기기 규칙의 필터와 일치하는 이후의 발견 사항은 숨겨지지 않습니다.

제외 규칙을 삭제하는 샘플 코드는 제외 규칙 삭제를 참고하세요.

제외 규칙을 삭제하려면 사용하려는 절차의 탭을 클릭합니다.

콘솔

  1. Google Cloud 콘솔에서 Security Command Center 설정 페이지의 숨기기 규칙 탭으로 이동합니다.

    숨기기 규칙으로 이동

  2. 필요한 경우 Google Cloud 프로젝트 또는 조직을 선택합니다.

  3. 삭제하려는 제외 규칙의 이름을 클릭합니다.

  4. 삭제를 클릭합니다.

  5. 대화상자를 읽고 맞으면 삭제를 클릭합니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. 숨기기 규칙을 삭제하려면 gcloud scc muteconfigs delete 명령어를 실행합니다.

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

    다음을 바꿉니다.

    • MUTE_CONFIG_ID: 숨기기 구성의 ID입니다.
    • PARENT: 제외 규칙의 상위 리소스(organization, folder, project)
    • PARENT_ID: 조직, 폴더, 프로젝트의 ID
    • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
  3. 제외 규칙 삭제 요청을 확인합니다.

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

Security Command Center API에서 muteConfigs.delete 메서드를 사용하여 제외 규칙을 삭제합니다.

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

다음을 바꿉니다.

  • PARENT: 제외 규칙의 상위 리소스(organizations, folders, projects)
  • PARENT_ID: 조직, 폴더, 프로젝트의 ID
  • LOCATION: 숨기기 규칙을 관리할 Security Command Center 위치입니다. 데이터 레지던시가 사용 설정된 경우 eu, sa, us를 사용하고, 그렇지 않으면 global 값을 사용합니다.
  • CONFIG_ID: 제외 규칙의 숫자 ID