이 문서에서는 Cloud Storage를 사용하여 Security Command Center 오류 로그를 내보내고 Google Security Operations로 수집하는 방법을 설명합니다. 파서는 원시 JSON 형식 로그를 통합 데이터 모델 (UDM)로 변환합니다. 원시 로그에서 관련 필드를 추출하고, 데이터 정리 및 정규화를 실행하고, 일관된 보안 분석을 위해 UDM 스키마에 따라 출력을 구조화합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
Google Cloud 환경에서 Security Command Center가 사용 설정되고 구성되어 있습니다.
Google SecOps 인스턴스
Security Command Center 및 Cloud Logging에 대한 권한 액세스 권한입니다.
소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
참고: Delete transferred files 또는 Delete transferred files and empty directories 옵션을 선택하는 경우 서비스 계정에 적절한 권한을 부여했는지 확인하세요.
최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다. 기본값은 180일입니다.
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
UDM 매핑 테이블
로그 필드
UDM 매핑
논리
access.principalEmail
about.user.email_addresses
access.principalEmail 필드에서 가져온 값입니다.
카테고리
metadata.product_event_type
로그 형식에 따라 category 또는 findings.category 필드에서 가져온 값입니다.
contacts.security.contacts.email
security_result.about.user.email_addresses
contacts.security.contacts.email 필드에서 가져온 값입니다. 역할이 Security으로 설정됩니다.
contacts.technical.contacts.email
security_result.about.user.email_addresses
contacts.technical.contacts.email 필드에서 가져온 값입니다. 역할이 Technical으로 설정됩니다.
생성 시간
security_result.detection_fields.value
로그 형식에 따라 createTime 또는 findings.createTime 필드에서 가져온 값입니다. 키가 createTime로 설정됩니다.
description
security_result.description
로그 형식에 따라 description 또는 findings.description 필드에서 가져온 값입니다.
eventTime
metadata.event_timestamp
로그 형식에 따라 eventTime 또는 findings.eventTime 필드에서 가져온 값으로, 타임스탬프로 변환됩니다.
externalUri
about.url
로그 형식에 따라 externalUri 또는 findings.externalUri 필드에서 가져온 값입니다.
findingClass
security_result.category_details
로그 형식에 따라 findingClass 또는 findings.findingClass 필드에서 가져온 값입니다.
findingProviderId
target.resource.attribute.labels.value
로그 형식에 따라 findingProviderId 또는 findings.findingProviderId 필드에서 가져온 값입니다. 키가 finding_provider_id로 설정됩니다.
mute
security_result.detection_fields.value
로그 형식에 따라 mute 또는 findings.mute 필드에서 가져온 값입니다. 키가 mute로 설정됩니다.
nextSteps
security_result.outcomes.value
로그 형식에 따라 nextSteps 또는 findings.nextSteps 필드에서 가져온 값입니다. 키가 nextSteps로 설정됩니다.
resourceName
target.resource.name
로그 형식에 따라 resourceName, findings.resourceName, resource_name 또는 findings.resource_name 필드에서 가져온 값입니다.
securityMarks.name
security_result.detection_fields.value
로그 형식에 따라 securityMarks.name 또는 findings.securityMarks.name 필드에서 가져온 값입니다. 키가 securityMarks_name로 설정됩니다.
줄이는 것을
security_result.severity
로그 형식에 따라 severity 또는 findings.severity 필드에서 가져온 값으로, 해당 UDM 심각도 수준에 매핑됩니다.
sourceDisplayName
target.resource.attribute.labels.value
로그 형식에 따라 sourceDisplayName 또는 findings.sourceDisplayName 필드에서 가져온 값입니다. 키가 source_display_name로 설정됩니다.
sourceProperties.ReactivationCount
target.resource.attribute.labels.value
로그 형식에 따라 sourceProperties.ReactivationCount 또는 findings.sourceProperties.ReactivationCount 필드에서 가져온 값입니다. 키가 sourceProperties_ReactivationCount로 설정됩니다.
state
security_result.detection_fields.value
로그 형식에 따라 state 또는 findings.state 필드에서 가져온 값입니다. 키가 state로 설정됩니다.
metadata.event_type
기본값으로 GENERIC_EVENT로 설정합니다.
metadata.log_type
하드 코딩된 값 GCP_SECURITYCENTER_ERROR
metadata.description
하드 코딩된 값 Security Command Center
metadata.product_name
하드 코딩된 값 Security Command Center
metadata.vendor_name
하드 코딩된 값 Google
target.resource.attribute.labels.key
하드 코딩된 값 finding_id
target.resource.attribute.labels.value
name 또는 findings.name 필드에서 추출되며 마지막 / 문자 뒤의 마지막 부분을 캡처합니다.
target.resource.product_object_id
parent 또는 findings.parent 필드에서 추출되며 마지막 / 문자 뒤의 값을 캡처합니다.
target.resource.ancestors.name
로그 형식에 따라 parent 또는 findings.parent 필드에서 가져온 값입니다.
target.resource_ancestors.name
resourceName 또는 findings.resourceName 필드에서 추출되며 //cloudresourcemanager.googleapis.com/projects/ 접두사 뒤의 값을 캡처합니다.
target.resource_ancestors.resource_type
하드 코딩된 값 CLOUD_PROJECT
target.resource.attribute.labels.key
하드 코딩된 값 source_id
target.resource.attribute.labels.value
parent 또는 findings.parent 필드에서 추출되며 두 번째 / 문자 뒤의 값을 캡처합니다.
security_result.alert_state
state 또는 findings.state 필드를 기반으로 매핑됩니다. 상태가 ACTIVE이면 alert_state가 ALERTING로 설정되고, 그렇지 않으면 NOT_ALERTING로 설정됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThis document guides you through exporting and ingesting Security Command Center Error logs into Google Security Operations using Cloud Storage.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating a Cloud Storage bucket, configuring Security Command Center logging, setting up a sink for Error logs, and defining a feed in Google SecOps.\u003c/p\u003e\n"],["\u003cp\u003eThe parser transforms raw JSON logs into a Unified Data Model (UDM), extracting relevant fields, performing normalization, and structuring the output for consistent security analysis.\u003c/p\u003e\n"],["\u003cp\u003eThe UDM mapping table provides details on how various log fields are mapped to the UDM schema, along with the logic applied during the transformation.\u003c/p\u003e\n"],["\u003cp\u003eYou must ensure you have enabled and configured Security Command Center, a Google SecOps instance and privileged access to both.\u003c/p\u003e\n"]]],[],null,["# Collect Security Command Center Error logs\n==========================================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nThis document explains how to export and ingest Security Command Center Error logs into Google Security Operations using Cloud Storage. The parser transforms raw JSON formatted logs into a unified data model (UDM). It extracts relevant fields from the raw log, performs data cleaning and normalization, and structures the output according to the UDM schema for consistent security analysis.\n\nBefore you begin\n----------------\n\nEnsure that you have the following prerequisites:\n\n- Security Command Center is enabled and configured in your Google Cloud environment.\n- Google SecOps instance.\n- Privileged access to Security Command Center and Cloud Logging.\n\nCreate a Cloud Storage bucket\n-----------------------------\n\n1. Sign in to the [Google Cloud console](https://console.cloud.google.com/).\n2. Go to the **Cloud Storage Buckets** page.\n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n3. Click **Create**.\n\n4. On the **Create a bucket** page, enter your bucket information. After each of the following steps, click **Continue** to proceed to the next step:\n\n 1. In the **Get started** section, do the following:\n\n 1. Enter a unique name that meets the bucket name requirements; for example, **gcp-scc-error-logs**.\n 2. To enable hierarchical namespace, click the expander arrow to expand the **Optimize for file oriented and data-intensive workloads** section, and then select **Enable Hierarchical namespace on this bucket**.\n\n | **Note:** You cannot enable hierarchical namespace on an existing bucket.\n 3. To add a bucket label, click the expander arrow to expand the **Labels** section.\n\n 4. Click **Add label**, and specify a key and a value for your label.\n\n 2. In the **Choose where to store your data** section, do the following:\n\n 1. Select a **Location type**.\n 2. Use the location type menu to select a **Location** where object data within your bucket will be permanently stored.\n\n | **Note:** If you select the **dual-region** location type, you can also choose to enable **turbo replication** by using the relevant checkbox.\n 3. To set up cross-bucket replication, expand the **Set up cross-bucket replication** section.\n\n 3. In the **Choose a storage class for your data** section, either select a **default storage class** for the bucket, or select **Autoclass** for automatic storage class management of your bucket's data.\n\n 4. In the **Choose how to control access to objects** section, select **not** to enforce **public access prevention** , and select an **access control model** for your bucket's objects.\n\n | **Note:** If public access prevention is already enforced by your project's organization policy, the **Prevent public access** checkbox is locked.\n 5. In the **Choose how to protect object data** section, do the following:\n\n 1. Select any of the options under **Data protection** that you want to set for your bucket.\n 2. To choose how your object data will be encrypted, click the expander arrow labeled **Data encryption** , and select a **Data encryption method**.\n5. Click **Create**.\n\n| **Note:** Be sure to provide your Google SecOps service account with permissions to Read or Read \\& Write to the newly created bucket.\n\nConfigure Security Command Center logging\n-----------------------------------------\n\n1. Sign in to the [Google Cloud console](https://console.cloud.google.com/).\n2. Go to the **Security Command Center** page.\n\n [Go to Security Command Center](https://console.cloud.google.com/security/command-center/config/services)\n3. Select your organization.\n\n4. Click **Settings**.\n\n5. Click the **Continuous Exports** tab.\n\n6. Under **Export name** , click **Logging Export**.\n\n7. Under **Sinks** , turn on **Log Findings to Logging**.\n\n8. Under **Logging project**, enter or search for the project where you want to log findings.\n\n9. Click **Save**.\n\nConfigure Security Command Center Error logs export\n---------------------------------------------------\n\n1. Sign in to the [Google Cloud console](https://console.cloud.google.com/).\n2. Go to **Logging \\\u003e Log Router**.\n3. Click **Create Sink**.\n4. Provide the following configuration parameters:\n\n - **Sink Name** : enter a meaningful name; for example, `scc-error-logs-sink`.\n - **Sink Destination** : select **Cloud Storage Storage** and enter the URI for your bucket; for example, `gs://gcp-scc-error-logs`.\n - **Log Filter**:\n\n logName=\"projects/\u003cyour-project-id\u003e/logs/cloudsecurityscanner.googleapis.com%2Ferror_logs\"\n resource.type=\"security_command_center_error\"\n\n - **Set Export Options**: include all log entries.\n\n5. Click **Create**.\n\nConfigure permissions for Cloud Storage\n---------------------------------------\n\n1. Go to **IAM \\& Admin \\\u003e IAM**.\n2. Locate the **Cloud Logging** service account.\n3. Grant the **roles/storage.admin** on the bucket.\n\nSet up feeds\n------------\n\nTo configure a feed, follow these steps:\n\n1. Go to **SIEM Settings** \\\u003e **Feeds**.\n2. Click **Add New Feed**.\n3. On the next page, click **Configure a single feed**.\n4. In the **Feed name** field, enter a name for the feed; for example, **Security Command Center Error Logs**.\n5. Select **Google Cloud Storage V2** as the **Source type**.\n6. Select **Security Command Center Error** as the **Log type**.\n7. Click **Get Service Account** next to the **Chronicle Service Account** field.\n8. Click **Next**.\n9. Specify values for the following input parameters:\n - **Storage Bucket URI** : Cloud Storage bucket URL; for example, `gs://gcp-scc-error-logs`.\n - **Source deletion options** : select the deletion option according to your preference. Note: If you select the `Delete transferred files` or `Delete transferred files and empty directories` option, make sure that you granted appropriate permissions to the service account.\n - **Maximum File Age**: Includes files modified in the last number of days. Default is 180 days.\n10. Click **Next**.\n11. Review your new feed configuration in the **Finalize** screen, and then click **Submit**.\n\nUDM Mapping Table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]