收集 AWS CloudWatch 記錄
本文說明如何使用 Amazon S3,將 AWS CloudWatch 記錄檔擷取至 Google Security Operations。
AWS CloudWatch 是一項監控和可觀測性服務,可從 AWS 資源和應用程式收集記錄、指標和事件等作業資料。這項整合功能會使用 Amazon Data Firehose,將 CloudWatch 記錄資料串流至 S3 值區,然後 Google SecOps 會使用 Amazon S3 V2 來源擷取資料。
事前準備
- Google SecOps 執行個體
- 有權管理下列項目的 AWS 管理主控台專屬存取權:
- Amazon CloudWatch Logs (記錄群組、訂閱篩選器)
- Amazon Data Firehose (傳送串流)
- Amazon S3 (儲存桶)
- AWS IAM (角色、政策、使用者)
設定 AWS S3 儲存貯體
- 請按照這份使用者指南建立 Amazon S3 bucket:建立 bucket。
- 請儲存 bucket 的「Name」(名稱) 和「Region」(地區),以供日後參考 (例如
cwlogs-to-secops)。
設定 Amazon Data Firehose 的 IAM 角色
Amazon Data Firehose 需要 IAM 角色,才能將記錄寫入 S3 bucket。
建立 IAM 政策
- 在 AWS 控制台中,依序前往「IAM」>「Policies」>「Create policy」。
- 選取「JSON」分頁標籤。
貼上下列政策 (將
cwlogs-to-secops替換為實際值區名稱):{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3Delivery", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::cwlogs-to-secops", "arn:aws:s3:::cwlogs-to-secops/*" ] }, { "Sid": "CloudWatchLogging", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/kinesisfirehose/cwlogs-to-secops:log-stream:*" } ] }點選「下一步」。
在「Policy name」(政策名稱) 欄位中輸入
FirehoseS3DeliveryPolicy。點選「建立政策」。
建立 IAM 角色
- 依序前往「IAM」>「角色」>「建立角色」。
- 選取「自訂信任政策」。
貼上下列信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }點選「下一步」。
搜尋並選取「FirehoseS3DeliveryPolicy」FirehoseS3DeliveryPolicy。
點選「下一步」。
在「角色名稱」欄位中輸入
FirehoseToS3Role。按一下「建立角色」。
建立 Amazon Data Firehose 串流
- 前往 https://console.aws.amazon.com/kinesis 開啟 Kinesis 控制台。
- 在導覽窗格中,選取「Amazon Data Firehose」。
- 按一下「建立 Firehose 串流」。
- 在「選擇來源和目的地」下方,提供下列設定:
- 來源:選取「直接 PUT」。
- 目的地:選取「Amazon S3」。
- 在「Firehose stream name」(Firehose 串流名稱) 欄位中輸入
cwlogs-to-secops。 在「轉換記錄」下方的「從 Amazon CloudWatch Logs 解壓縮來源記錄」部分中:
- 選取「開啟解壓縮功能」。
- 請勿選取「開啟訊息擷取功能」。
在「目的地設定」下方:
- S3 儲存貯體:選取 S3 儲存貯體
cwlogs-to-secops。 - S3 值區前置字元 (選用):輸入
cloudwatch-logs/。 - S3 值區錯誤輸出前置字串 (選用):輸入
firehose-errors/。
- S3 儲存貯體:選取 S3 儲存貯體
在「緩衝區提示」下方:
- 緩衝區大小:
5MiB (預設)。 - 緩衝區間隔:
300秒 (預設)。
- 緩衝區大小:
在「進階設定」下方,完成下列操作:
- 伺服器端加密:選用。如需加密,請啟用這項設定。
- 錯誤記錄:選取「已啟用」 (建議)。
- 權限:選取「選擇現有 IAM 角色」,然後選取
FirehoseToS3Role。
按一下「建立 Firehose 串流」。
等待串流「狀態」顯示為「有效」。
設定 CloudWatch Logs 的 IAM 角色
CloudWatch Logs 需要 IAM 角色,才能將記錄資料傳送至 Firehose 串流。
建立 IAM 政策
- 依序前往「IAM」>「Policies」>「Create policy」。
- 選取「JSON」分頁標籤。
貼上下列政策 (將
<region>和<account-id>替換為您的 AWS 區域和帳戶 ID):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": "arn:aws:firehose:<region>:<account-id>:deliverystream/cwlogs-to-secops" } ] }點選「下一步」。
在「Policy name」(政策名稱) 欄位中輸入
CWLtoFirehoseWritePolicy。點選「建立政策」。
建立 IAM 角色
- 依序前往「IAM」>「角色」>「建立角色」。
- 選取「自訂信任政策」。
貼上下列信任政策 (將
<region>替換成您的 AWS 區域):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.<region>.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }點選「下一步」。
搜尋並選取「CWLtoFirehoseWritePolicy」CWLtoFirehoseWritePolicy。
點選「下一步」。
在「角色名稱」欄位中輸入
CWLtoFirehoseRole。按一下「建立角色」。
建立 CloudWatch Logs 訂閱篩選器
- 在 AWS 控制台中,依序前往「CloudWatch」>「Logs」>「Log groups」。
- 選取要串流至 Google SecOps 的目標記錄群組。
- 選取「訂閱篩選條件」分頁標籤。
- 依序點選「建立」> 建立 Amazon Data Firehose 訂閱篩選器。
- 請提供下列設定詳細資料:
- 目的地:選取 Firehose 串流
cwlogs-to-secops。 - 授予權限:選取
CWLtoFirehoseRole角色。 - 訂閱篩選器名稱:輸入描述性名稱 (例如
secops-all-events)。 - 記錄格式:選取「其他」。
- 訂閱篩選器模式:如要傳送所有事件,請留空;如要只傳送特定事件,請輸入篩選器模式。
- 目的地:選取 Firehose 串流
按一下「開始串流播放」。
為 Google SecOps 設定 IAM 使用者
Google SecOps 需要具備 S3 值區存取權的 IAM 使用者,才能擷取傳送的記錄。
- 按照這份使用者指南建立使用者:建立 IAM 使用者。
- 選取建立的「使用者」。
- 選取「安全憑證」分頁標籤。
- 在「Access Keys」部分中,按一下「Create Access Key」。
- 選取「第三方服務」做為「用途」。
- 點選「下一步」。
- 選用:新增說明標記。
- 按一下「建立存取金鑰」。
- 按一下「Download .csv file」(下載 .csv 檔案),儲存「Access Key」(存取金鑰) 和「Secret Access Key」(私密存取金鑰),以供日後參考。
- 按一下 [完成]。
- 選取「權限」分頁標籤。
- 在「權限政策」部分中,按一下「新增權限」。
- 選取「新增權限」。
- 選取「直接附加政策」。
- 搜尋「AmazonS3FullAccess」AmazonS3FullAccess政策。
- 選取政策。
- 點選「下一步」。
- 按一下「Add permissions」。
在 Google SecOps 中設定資訊提供,擷取 AWS CloudWatch 記錄
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 輸入動態饋給名稱的專屬名稱。
- 選取「Amazon S3 V2」做為「來源類型」。
- 選取「AWS CloudWatch」做為「記錄類型」。
- 依序點按「繼續」和「提交」。
- 為下列欄位指定值:
- S3 URI:
s3://cwlogs-to-secops/cloudwatch-logs/ - 來源刪除選項:根據偏好設定選取刪除選項。
- 檔案存在時間上限:包含在過去天數內修改的檔案 (預設為 180 天)。
- 存取金鑰 ID:具有 S3 值區存取權的使用者存取金鑰。
- 存取密鑰:具有 S3 bucket 存取權的使用者私密金鑰。
- 資產命名空間:資產命名空間。
- 擷取標籤:要套用至這個動態饋給事件的標籤。
- S3 URI:
- 依序點按「繼續」和「提交」。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
account |
principal.user.userid |
原始記錄中的 account 值會對應至 principal.user.userid 欄位。 |
account_id |
principal.user.userid |
原始記錄中的 account_id 值會對應至 principal.user.userid 欄位。 |
AlertId |
metadata.product_log_id |
原始記錄中的 AlertId 值會對應至 metadata.product_log_id 欄位。 |
arrivalTimestamp |
metadata.event_timestamp |
原始記錄中的 arrivalTimestamp 值會轉換為時間戳記,並對應至 metadata.event_timestamp 欄位。 |
attemptsMade |
additional.fields |
原始記錄中的 attemptsMade 值會轉換為字串,並以鍵/值組合的形式新增至 additional.fields,鍵為「嘗試次數」。 |
awsAccountId |
principal.asset_id |
原始記錄中的 awsAccountId 值會加上「AWS 帳戶 ID:」,並對應至 principal.asset_id 欄位。 |
billed_duration |
additional.fields |
原始記錄中的 billed_duration 值會以鍵/值組合的形式,新增至 additional.fields,並以「billed_duration」做為鍵。 |
BytesIn |
network.received_bytes |
原始記錄中的 BytesIn 值會轉換為無正負號整數,並對應至 network.received_bytes 欄位。 |
cipher |
network.tls.cipher |
原始記錄中的 cipher 值會對應至 network.tls.cipher 欄位。 |
Ciphers |
network.tls.client.supported_ciphers |
原始記錄中的 Ciphers 值會以逗號分隔,並將每個值新增至 network.tls.client.supported_ciphers 陣列。 |
cloudwatchLog |
security_result.description |
原始記錄中的 cloudwatchLog 值會對應至 security_result.description 欄位。 |
CloudAccountId |
metadata.product_deployment_id |
原始記錄中的 CloudAccountId 值會對應至 metadata.product_deployment_id 欄位。 |
CloudType |
target.resource.attribute.cloud.environment |
原始記錄中的 CloudType 值會決定 target.resource.attribute.cloud.environment 的值。如果 CloudType 為「gcp」,值為「GOOGLE_CLOUD_PLATFORM」。如果 CloudType 為「aws」,值為「AMAZON_WEB_SERVICES」。如果 CloudType 是「azure」,值為「MICROSOFT_AZURE」。 |
Context.Execution.Id |
target.resource.attribute.labels |
原始記錄中的 Context.Execution.Id 值會以鍵/值組合的形式,新增至 target.resource.attribute.labels,並以「Context Id」做為鍵。 |
Context.Execution.Name |
target.resource.attribute.labels |
原始記錄中的 Context.Execution.Name 值會以鍵/值組合的形式新增至 target.resource.attribute.labels,並以「Context Name」做為鍵。 |
Context.Execution.RoleArn |
target.resource.product_object_id |
原始記錄中的 Context.Execution.RoleArn 值會對應至 target.resource.product_object_id 欄位。 |
descr |
metadata.description |
從原始記錄檔中移除多餘的空白字元後,descr 的值會對應至 metadata.description 欄位 (除非該值為「-」)。如果 descr 為空,系統會改用 log 的值。 |
destination.name |
target.location.country_or_region |
原始記錄中的 destination.name 值會對應至 target.location.country_or_region 欄位。 |
destination.properties.prefix |
target.resource.attribute.labels |
原始記錄中的 destination.properties.prefix 值會以鍵/值組合的形式,新增至 target.resource.attribute.labels,並以「目的地資源前置字元」做為鍵。 |
detail.additionalEventData.configRuleArn |
security_result.rule_id |
原始記錄中的 detail.additionalEventData.configRuleArn 值會對應至 security_result.rule_id 欄位。 |
detail.additionalEventData.configRuleName |
security_result.rule_name |
原始記錄中的 detail.additionalEventData.configRuleName 值會對應至 security_result.rule_name 欄位。 |
detail.additionalEventData.managedRuleIdentifier |
additional.fields |
原始記錄中的 detail.additionalEventData.managedRuleIdentifier 值會以鍵/值組合的形式,新增至 additional.fields,並以「managedRuleIdentifier」做為鍵。 |
detail.additionalEventData.notificationJobType |
additional.fields |
原始記錄中的 detail.additionalEventData.notificationJobType 值會以鍵/值組合的形式新增至 additional.fields,並以「notificationJobType」做為鍵。 |
detail.awsAccountId |
principal.asset_id |
原始記錄中的 detail.awsAccountId 值會加上「AWS 帳戶 ID:」,並對應至 principal.asset_id 欄位。 |
detail.awsRegion |
principal.location.name |
原始記錄中的 detail.awsRegion 值會對應至 principal.location.name 欄位。 |
detail.configRuleArn |
security_result.rule_id |
原始記錄中的 detail.configRuleArn 值會對應至 security_result.rule_id 欄位。 |
detail.configRuleName |
security_result.rule_name |
原始記錄中的 detail.configRuleName 值會對應至 security_result.rule_name 欄位。 |
detail.configurationItem.awsAccountId |
principal.user.userid |
原始記錄中的 detail.configurationItem.awsAccountId 值會對應至 principal.user.userid 欄位。 |
detail.configurationItem.awsRegion |
target.location.country_or_region |
原始記錄中的 detail.configurationItem.awsRegion 值會對應至 target.location.country_or_region 欄位。 |
detail.configurationItem.configuration.complianceType |
security_result.summary |
原始記錄中的 detail.configurationItem.configuration.complianceType 值會對應至 security_result.summary 欄位。 |
detail.configurationItem.configuration.targetResourceId |
target.resource.attribute.labels |
原始記錄中的 detail.configurationItem.configuration.targetResourceId 值會以鍵/值組合的形式,加入 target.resource.attribute.labels 中,並以「configurationItem configuration targetResourceId」做為鍵。 |
detail.configurationItem.configuration.targetResourceType |
target.resource.attribute.labels |
原始記錄中的 detail.configurationItem.configuration.targetResourceType 值會以鍵/值組合的形式新增至 target.resource.attribute.labels,並以「configurationItem configuration targetResourceType」做為鍵。 |
detail.configurationItem.configurationItemCaptureTime |
_target.asset.attribute.creation_time |
原始記錄中的 detail.configurationItem.configurationItemCaptureTime 值會轉換為時間戳記,並對應至 _target.asset.attribute.creation_time 欄位。 |
detail.configurationItem.configurationItemStatus |
target.resource.attribute.labels |
原始記錄中的 detail.configurationItem.configurationItemStatus 值會以鍵/值組合的形式新增至 target.resource.attribute.labels,並以「configurationItem configurationItemStatus」做為鍵。 |
detail.configurationItem.configurationStateId |
target.resource.attribute.labels |
原始記錄中的 detail.configurationItem.configurationStateId 值會轉換為字串,並以鍵/值組合的形式新增至 target.resource.attribute.labels,鍵為「configurationItem configurationStateId」。 |
detail.configurationItem.resourceId |
target.resource.id |
原始記錄中的 detail.configurationItem.resourceId 值會對應至 target.resource.id 欄位。 |
detail.configurationItem.resourceType |
target.resource.resource_subtype |
原始記錄中的 detail.configurationItem.resourceType 值會對應至 target.resource.resource_subtype 欄位。 |
detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn |
security_result.rule_id |
原始記錄中的 detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn 值會對應至 security_result.rule_id 欄位。 |
detail.eventCategory |
security_result.category_details |
原始記錄中的 detail.eventCategory 值會對應至 security_result.category_details 欄位。 |
detail.eventID |
metadata.product_log_id |
原始記錄中的 detail.eventID 值會對應至 metadata.product_log_id 欄位。 |
detail.eventName |
additional.fields |
原始記錄中的 detail.eventName 值會以鍵/值組合的形式新增至 additional.fields,並以「事件名稱」做為鍵。 |
detail.eventSource |
target.application |
原始記錄中的 detail.eventSource 值會對應至 target.application 欄位。 |
detail.eventType |
additional.fields |
原始記錄中的 detail.eventType 值會以鍵/值組合的形式,加入 additional.fields 中,並以「Event Type」做為鍵。 |
detail.eventVersion |
metadata.product_version |
原始記錄中的 detail.eventVersion 值會對應至 metadata.product_version 欄位。 |
detail.managementEvent |
additional.fields |
原始記錄中的 detail.managementEvent 值會轉換為字串,並以鍵/值組合的形式新增至 additional.fields,鍵為「detail managementEvent」。 |
detail.messageType |
target.resource.attribute.labels |
原始記錄中的 detail.messageType 值會以鍵/值組合的形式,加入 target.resource.attribute.labels 中,並以「訊息類型」做為鍵。 |
detail.newEvaluationResult.complianceType |
security_result.summary |
原始記錄中的 detail.newEvaluationResult.complianceType 值會對應至 security_result.summary 欄位。 |
detail.newEvaluationResult.configRuleInvokedTime |
additional.fields |
原始記錄中的 detail.newEvaluationResult.configRuleInvokedTime 值會以鍵/值組合的形式新增至 additional.fields,並以「newEvaluationResult_configRuleInvokedTime」做為鍵。 |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName |
additional.fields |
原始記錄中的 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName 值會以鍵/值組合的形式新增至 additional.fields,並以「newEvaluationResult_configRuleName」做為鍵。 |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId |
additional.fields |
原始記錄中的 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId 值會以鍵/值組合的形式新增至 additional.fields,並以「newEvaluationResult_resourceId」做為鍵。 |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType |
additional.fields |
原始記錄中的 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType 值會以鍵/值組合的形式新增至 additional.fields,並以「newEvaluationResult_resourceType」做為鍵。 |
detail.newEvaluationResult.resultRecordedTime |
additional.fields |
原始記錄中的 detail.newEvaluationResult.resultRecordedTime 值會以鍵/值組合的形式新增至 additional.fields,並以「newEvaluationResult_resultRecordedTime」做為鍵。 |
detail.oldEvaluationResult.configRuleInvokedTime |
additional.fields |
原始記錄中的 detail.oldEvaluationResult.configRuleInvokedTime 值會以鍵/值組合的形式新增至 additional.fields,並以「oldEvaluationResult_configRuleInvokedTime」做為鍵。 |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName |
additional.fields |
原始記錄中的 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName 值會以鍵/值組合的形式新增至 additional.fields,並以「oldEvaluationResult_configRuleName」做為鍵。 |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId |
additional.fields |
原始記錄中的 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId 值會以鍵/值組合的形式,新增至 additional.fields,並以「oldEvaluationResult_resourceId」做為鍵。 |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType |
additional.fields |
原始記錄中的 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType 值會以鍵/值組合的形式新增至 additional.fields,並以「oldEvaluationResult_resourceType」做為鍵。 |
detail.oldEvaluationResult.resultRecordedTime |
additional.fields |
原始記錄中的 detail.oldEvaluationResult.resultRecordedTime 值會以鍵/值組合的形式新增至 additional.fields,並以「oldEvaluationResult_resultRecordedTime」做為鍵。 |
detail.readOnly |
additional.fields |
原始記錄中的 detail.readOnly 值會轉換為字串,並以鍵/值組合的形式新增至 additional.fields,鍵為「detail readOnly」。 |
detail.recipientAccountId |
target.resource.attribute.labels |
原始記錄中的 detail.recipientAccountId 值會以鍵/值組合的形式,新增至 target.resource.attribute.labels,並以「Recipient Account Id」做為鍵。 |
detail.recordVersion |
metadata.product_version |
原始記錄中的 detail.recordVersion 值會對應至 metadata.product_version 欄位。 |
detail.requestID |
target.resource.attribute.labels |
原始記錄中的 detail.requestID 值會以鍵/值組合的形式加入 target.resource.attribute.labels,並以「詳細資料要求 ID」做為鍵。 |
detail.resourceType |
target.resource.resource_subtype |
原始記錄中的 detail.resourceType 值會對應至 target.resource.resource_subtype 欄位。 |
detail.s3Bucket |
about.resource.name |
原始記錄中的 detail.s3Bucket 值會對應至 about.resource.name 欄位。 |
detail.s3ObjectKey |
target.resource.attribute.labels |
原始記錄中的 detail.s3ObjectKey 值會以鍵/值組合的形式,新增至 target.resource.attribute.labels,並以「s3ObjectKey」做為鍵。 |
detail.userAgent |
network.http.user_agent |
原始記錄中的 detail.userAgent 值會對應至 network.http.user_agent 欄位。 |
detail.userIdentity.accessKeyId |
target.user.userid |
原始記錄中的 detail.userIdentity.accessKeyId 值會對應至 target.user.userid 欄位。 |
detail.userIdentity.accountId |
metadata.product_deployment_id |
原始記錄中的 detail.userIdentity.accountId 值會對應至 metadata.product_deployment_id 欄位。 |
detail.userIdentity.arn |
target.user.userid |
原始記錄中的 detail.userIdentity.arn 值會對應至 target.user.userid 欄位。 |
detail.userIdentity.principalId |
principal.user.product_object_id |
原始記錄中的 detail.userIdentity.principalId 值會對應至 principal.user.product_object_id 欄位。 |
detail.userIdentity.sessionContext.attributes.mfaAuthenticated |
principal.user.attribute.labels |
原始記錄中的 detail.userIdentity.sessionContext.attributes.mfaAuthenticated 值會以鍵/值組合的形式,加入 principal.user.attribute.labels 中,並以「mfaAuthenticated」做為鍵。 |
detail.userIdentity.sessionContext.sessionIssuer.userName |
target.user.user_display_name |
原始記錄中的 detail.userIdentity.sessionContext.sessionIssuer.userName 值會對應至 target.user.user_display_name 欄位。 |
detail.userIdentity.type |
principal.resource.type |
原始記錄中的 detail.userIdentity.type 值會對應至 principal.resource.type 欄位。 |
detail-type |
metadata.product_event_type |
原始記錄中的 detail-type 值會對應至 metadata.product_event_type 欄位。 |
device |
principal.asset.product_object_id |
原始記錄中的 device 值會對應至 principal.asset.product_object_id 欄位。 |
digestPublicKeyFingerprint |
target.file.sha1 |
原始記錄中的 digestPublicKeyFingerprint 值會對應至 target.file.sha1 欄位。 |
digestS3Bucket |
principal.resource.name |
原始記錄中的 digestS3Bucket 值會對應至 principal.resource.name 欄位。 |
digestS3Object |
principal.asset.asset_id |
原始記錄中的 digestS3Object 值會加上「S3 Object: 」前置字串,並對應至 principal.asset.asset_id 欄位。 |
digestSignatureAlgorithm |
network.tls.cipher |
原始記錄中的 digestSignatureAlgorithm 值會對應至 network.tls.cipher 欄位。 |
digestStartTime |
metadata.event_timestamp |
原始記錄中的 digestStartTime 值會轉換為時間戳記,並對應至 metadata.event_timestamp 欄位。 |
dimensions.VolumeId |
additional.fields |
原始記錄中的 dimensions.VolumeId 值會以鍵/值組合的形式新增至 additional.fields,並以「VolumeId」做為鍵。 |
duration |
additional.fields |
原始記錄中的 duration 值會以鍵/值組合的形式,新增至 additional.fields,並以「duration」做為鍵。 |
errorCode |
security_result.rule_name |
原始記錄中的 errorCode 值會對應至 security_result.rule_name 欄位。 |
errorMessage |
security_result.summary |
原始記錄中的 errorMessage 值會對應至 security_result.summary 欄位。 |
executionId |
principal.process.pid |
原始記錄中的 executionId 值會對應至 principal.process.pid 欄位。 |
host |
principal.hostname、principal.ip |
原始記錄中的 host 值 (連字號已替換為點) 會剖析為 IP 位址,並在成功時對應至 principal.ip 欄位。否則會對應至 principal.hostname 欄位。 |
http_verb |
network.http.method |
原始記錄中的 http_verb 值會轉換為大寫,並對應至 network.http.method 欄位。 |
kubernetes.container_hash |
additional.fields |
原始記錄中的 kubernetes.container_hash 值會以鍵/值組合的形式加入 additional.fields,並以「container_hash」做為鍵。 |
kubernetes.container_image |
additional.fields |
原始記錄中的 kubernetes.container_image 值會以鍵/值組合的形式新增至 additional.fields,並以「container_image」做為鍵。 |
kubernetes.container_name |
additional.fields |
原始記錄中的 kubernetes.container_name 值會以鍵/值組合的形式,加入 additional.fields 中,並以「container_name」做為鍵。 |
kubernetes.docker_id |
principal.asset_id |
原始記錄中的 kubernetes.docker_id 值會加上「id: 」前置字元,並對應至 principal.asset_id 欄位。 |
kubernetes.host |
principal.hostname、principal.ip |
原始記錄中的 kubernetes.host 值 (連字號已替換為點) 會剖析為 IP 位址,並在成功時對應至 principal.ip 欄位。否則會對應至 principal.hostname 欄位。 |
kubernetes.namespace |
principal.namespace |
原始記錄中的 kubernetes.namespace 值會對應至 principal.namespace 欄位。 |
kubernetes.namespace_name |
principal.namespace |
原始記錄中的 kubernetes.namespace_name 值會對應至 principal.namespace 欄位。 |
kubernetes.pod_id |
principal.asset.asset_id |
原始記錄中的 kubernetes.pod_id 值會加上「pod_id: 」前置字串,並對應至 principal.asset.asset_id 欄位。 |
kubernetes.pod_name |
additional.fields |
原始記錄中的 kubernetes.pod_name 值會以鍵/值組合的形式新增至 additional.fields,並以「pod name」做為鍵。 |
lambdaArn |
principal.hostname |
原始記錄中的 lambdaArn 值會對應至 principal.hostname 欄位。 |
level |
security_result.severity |
原始記錄中的 level 值會決定 security_result.severity 的值。如果 level 是「Info」,值就是「INFORMATIONAL」。如果 level 為「Error」,則值為「ERROR」。如果 level 為「Warning」,則值為「MEDIUM」。 |
log |
metadata.description |
如果 descr 為空,則原始記錄中的 log 值會對應至 metadata.description 欄位。 |
logFiles |
about |
針對原始記錄中 logFiles 陣列的每個元素,系統會建立 about 物件,並將 file.full_path 設為 s3Object、asset.hostname 設為 s3Bucket,以及 file.sha256 設為 hashValue。 |
log_processed.cause |
security_result.summary |
原始記錄中的 log_processed.cause 值會對應至 security_result.summary 欄位。 |
log_processed.ids |
intermediary.hostname |
針對原始記錄中的 log_processed.ids 陣列中的每個元素,系統會建立 intermediary 物件,並將 hostname 設為元素的值。 |
log_processed.level |
security_result.severity |
原始記錄中的 log_processed.level 值會對應至 security_result.severity 欄位。 |
log_processed.msg |
metadata.description |
原始記錄中的 log_processed.msg 值會對應至 metadata.description 欄位。 |
log_processed.ts |
metadata.event_timestamp |
原始記錄中的 log_processed.ts 值會轉換為時間戳記,並對應至 metadata.event_timestamp 欄位。 |
log_type |
metadata.log_type |
原始記錄中的 log_type 值會對應至 metadata.log_type 欄位。這是為提供背景資訊而新增的自訂欄位。 |
logevent.message |
security_result.description |
原始記錄中的 logevent.message 值會對應至 security_result.description 欄位。系統也會使用 grok 剖析這項資料,以擷取其他欄位。 |
logGroup |
security_result.about.resource.name |
原始記錄中的 logGroup 值會對應至 security_result.about.resource.name 欄位。 |
logStream |
security_result.about.resource.attribute.labels |
原始記錄中的 logStream 值會以鍵/值組合的形式,新增至 security_result.about.resource.attribute.labels,並以「logStream」做為鍵。 |
memory_used |
additional.fields |
原始記錄中的 memory_used 值會以鍵/值組合的形式,加入 additional.fields 中,並以「memory_used」做為鍵。 |
metric_name |
additional.fields |
原始記錄中的 metric_name 值會以鍵/值組合的形式,加入 additional.fields 中,並以「metric_name」做為鍵。 |
metric_stream_name |
additional.fields |
原始記錄中的 metric_stream_name 值會以鍵/值組合的形式,加入 additional.fields 中,並以「metric_stream_name」做為鍵。 |
namespace |
principal.namespace |
原始記錄中的 namespace 值會對應至 principal.namespace 欄位。 |
owner |
principal.user.userid |
原始記錄中的 owner 值會對應至 principal.user.userid 欄位。 |
parameters |
additional.fields |
原始記錄中的 parameters 值會以鍵/值組合的形式,新增至 additional.fields,並以「Parameters」做為鍵。 |
Path |
principal.process.file.full_path |
原始記錄中的 Path 值會對應至 principal.process.file.full_path 欄位。 |
pid |
principal.process.pid |
原始記錄中的 pid 值會對應至 principal.process.pid 欄位。 |
PolicyName |
security_result.rule_name |
原始記錄中的 PolicyName 值會對應至 security_result.rule_name 欄位。 |
prin_host |
principal.hostname |
原始記錄中的 prin_host 值會對應至 principal.hostname 欄位。 |
principal_hostname |
principal.hostname |
原始記錄中的 principal_hostname 值會對應至 principal.hostname 欄位。 |
process |
principal.application |
原始記錄中的 process 值會對應至 principal.application 欄位。 |
rawData |
additional.fields |
原始記錄中的 rawData 值會以鍵/值組合的形式新增至 additional.fields,並以「原始資料」做為鍵。 |
Recommendation |
security_result.detection_fields |
原始記錄中的 Recommendation 值會以鍵/值組合的形式加入 security_result.detection_fields,並以「Recommendation」做為鍵。 |
referral_url |
network.http.referral_url |
原始記錄中的 referral_url 值會對應至 network.http.referral_url 欄位。 |
region |
principal.location.name |
原始記錄中的 region 值會對應至 principal.location.name 欄位。 |
resp_code |
network.http.response_code |
原始記錄中的 resp_code 值會轉換為整數,並對應至 network.http.response_code 欄位。 |
resource_url |
network.http.referral_url |
原始記錄中的 resource_url 值會對應至 network.http.referral_url 欄位。 |
ResourceType |
target.resource.resource_subtype |
原始記錄中的 ResourceType 值會對應至 target.resource.resource_subtype 欄位。 |
response_body |
additional.fields |
原始記錄中的 response_body 值會以鍵/值組合的形式,加入 additional.fields 中,並以「回應內文」做為鍵。 |
Role |
target.resource.product_object_id |
原始記錄中的 Role 值會對應至 target.resource.product_object_id 欄位。 |
s3_bucket_path |
target.file.full_path |
原始記錄中的 s3_bucket_path 值會對應至 target.file.full_path 欄位。 |
sec_result.category |
security_result.category |
sec_result.category 的值是從剖析器邏輯衍生而來。如果 descr 包含「需要驗證」,則值為「AUTH_VIOLATION」。 |
sec_result.description |
security_result.description |
sec_result.description 的值是從剖析器邏輯衍生而來。如果存在,則會設為 cloudwatchLog 的值。 |
sec_result.severity |
security_result.severity |
sec_result.severity 的值是從剖析器邏輯衍生而來。系統會根據 severity 或 level 的值設定這項屬性。 |
sec_result.summary |
security_result.summary |
sec_result.summary 的值是從剖析器邏輯衍生而來。如果存在,則會設為 log_processed.cause 或 errorMessage 的值。 |
security_result |
security_result |
security_result 物件是由各種欄位和剖析器邏輯建構而成。 |
serverId |
additional.fields |
原始記錄中的 serverId 值會以鍵/值組合的形式加入 additional.fields,並以「server_id」做為鍵。 |
severity |
security_result.severity |
原始記錄中的 severity 值會轉換為大寫並經過正規化處理,然後對應至 security_result.severity 欄位。 |
Source |
principal.hostname |
原始記錄中的 Source 值會對應至 principal.hostname 欄位。 |
source |
principal.hostname |
原始記錄中的 source 值會對應至 principal.hostname 欄位。 |
SourceIP |
principal.ip |
原始記錄中的 SourceIP 值會對應至 principal.ip 欄位。 |
src_port |
principal.port |
如果 src_port 為「80」,系統會將其轉換為整數並對應至 principal.port 欄位,且 network.application_protocol 會設為「HTTP」。 |
stream |
additional.fields |
原始記錄中的 stream 值會以鍵/值組合的形式,新增至 additional.fields,並以「stream」做為鍵。 |
subscriptionFilters |
security_result.about.resource.attribute.labels |
對於原始記錄中的 subscriptionFilters 陣列,系統會將鍵/值組合新增至 security_result.about.resource.attribute.labels,並將鍵設為「subscriptionFilter」,值則設為陣列中的值。 |
support_contact |
target.resource.attribute.labels |
原始記錄中的 support_contact 值會以鍵/值組合的形式新增至 target.resource.attribute.labels,並以「Support Contact」做為鍵。 |
t_ip |
target.ip |
從原始記錄中移除連字號後,t_ip 的值會剖析為 IP 位址,並對應至 target.ip 欄位 (如果成功的話)。 |
time |
metadata.event_timestamp |
原始記錄中的 time 值會轉換為時間戳記,並對應至 metadata.event_timestamp 欄位。 |
timestamp |
metadata.event_timestamp |
原始記錄中的 timestamp 值會轉換為各種格式的時間戳記,並對應至 metadata.event_timestamp 欄位。 |
tls |
network.tls.version |
原始記錄中的 tls 值會對應至 network.tls.version 欄位。 |
transferDetails.serverId |
additional.fields |
原始記錄中的 transferDetails.serverId 值會以鍵/值組合的形式加入 additional.fields,並以「server_id」做為鍵。 |
transferDetails.sessionId |
network.session_id |
原始記錄中的 transferDetails.sessionId 值會對應至 network.session_id 欄位。 |
transferDetails.username |
principal.user.user_display_name |
原始記錄中的 transferDetails.username 值會對應至 principal.user.user_display_name 欄位。 |
ts |
metadata.event_timestamp |
系統會將原始記錄中的 ts 值 (如有時區) 轉換為時間戳記,並對應至 metadata.event_timestamp 欄位。 |
type |
metadata.product_event_type |
原始記錄中的 type 值會對應至 metadata.product_event_type 欄位。 |
unit |
additional.fields |
原始記錄中的 unit 值會以鍵/值組合的形式,新增至 additional.fields,並以「unit」做為鍵。 |
url |
target.url |
原始記錄中的 url 值會對應至 target.url 欄位。 |
url_back_to_product |
metadata.url_back_to_product |
原始記錄中的 url_back_to_product 值會對應至 metadata.url_back_to_product 欄位。 |
User |
principal.user.userid |
原始記錄中的 User 值會對應至 principal.user.userid 欄位。 |
user |
target.user.userid、metadata.event_type、extensions.auth.mechanism |
如果存在 user,metadata.event_type 會設為「USER_LOGIN」,extensions.auth.mechanism 會設為「NETWORK」,且 user 的值會對應至 target.user.userid。 |
value.count |
additional.fields |
原始記錄中的 value.count 值會轉換為字串,並以鍵/值組合的形式加入 additional.fields,鍵為「count」。 |
value.max |
additional.fields |
原始記錄中的 value.max 值會轉換為字串,並以鍵/值組合的形式加入 additional.fields,鍵為「max」。 |
value.min |
additional.fields |
原始記錄中的 value.min 值會轉換為字串,並以鍵/值組合的形式加入 additional.fields,鍵為「min」。 |
value.sum |
additional.fields |
原始記錄中的 value.sum 值會轉換為字串,並以鍵/值組合的形式新增至 additional.fields,鍵為「sum」。 |
workflowId |
additional.fields |
原始記錄中的 workflowId 值會以鍵/值組合的形式,加入 additional.fields 中,並以「workflowId」做為鍵。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。