收集 AWS CloudWatch 日志
本文档介绍了如何使用 Amazon S3 将 AWS CloudWatch 日志注入到 Google Security Operations。
AWS CloudWatch 是一项监控和可观测性服务,可从 AWS 资源和应用中收集日志、指标和事件形式的运营数据。此集成使用 Amazon Data Firehose 将 CloudWatch 日志数据流式传输到 S3 存储桶,然后 Google SecOps 使用 Amazon S3 V2 Feed 提取这些数据。
准备工作
- Google SecOps 实例
- 对 AWS 管理控制台的特权访问权限,并拥有以下管理权限:
- Amazon CloudWatch Logs(日志组、订阅过滤器)
- Amazon Data Firehose(传送数据流)
- Amazon S3(存储分区)
- AWS IAM(角色、政策、用户)
配置 AWS S3 存储桶
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶。
- 保存存储桶名称和区域以供日后参考(例如
cwlogs-to-secops)。
为 Amazon Data Firehose 配置 IAM 角色
Amazon Data Firehose 需要 IAM 角色才能将日志写入您的 S3 存储桶。
创建 IAM 政策
- 在 AWS 控制台中,依次前往 IAM > 政策 > 创建政策。
- 选择 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:*" } ] }点击下一步。
在政策名称字段中,输入
FirehoseS3DeliveryPolicy。点击创建政策。
创建 IAM 角色
- 依次前往 IAM > 角色 > 创建角色。
- 选择自定义信任政策。
粘贴以下信任政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }点击下一步。
搜索并选择 FirehoseS3DeliveryPolicy。
点击下一步。
在角色名称字段中,输入
FirehoseToS3Role。点击 Create role。
创建 Amazon Data Firehose 流
- 访问 https://console.aws.amazon.com/kinesis,打开 Kinesis 控制台。
- 在导航窗格中,选择 Amazon Data Firehose。
- 点击创建 Firehose 数据流。
- 在选择来源和目标下,提供以下配置:
- 来源:选择 Direct PUT。
- 目标平台:选择 Amazon S3。
- 在 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 > 政策 > 创建政策。
- 选择 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" } ] }点击下一步。
在政策名称字段中,输入
CWLtoFirehoseWritePolicy。点击创建政策。
创建 IAM 角色
- 依次前往 IAM > 角色 > 创建角色。
- 选择自定义信任政策。
粘贴以下信任政策(将
<region>替换为您的 AWS 区域):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.<region>.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }点击下一步。
搜索并选择 CWLtoFirehoseWritePolicy。
点击下一步。
在角色名称字段中,输入
CWLtoFirehoseRole。点击 Create role。
创建 CloudWatch Logs 订阅过滤条件
- 在 AWS 控制台中,依次前往 CloudWatch > 日志 > 日志组。
- 选择要将日志流式传输到 Google SecOps 的目标日志组。
- 选择订阅过滤器标签页。
- 依次点击创建 > 创建 Amazon Data Firehose 订阅过滤器。
- 提供以下配置详细信息:
- 目标:选择 Firehose 流
cwlogs-to-secops。 - 授予权限:选择角色
CWLtoFirehoseRole。 - 订阅过滤条件名称:输入一个描述性名称(例如
secops-all-events)。 - 日志格式:选择其他。
- 订阅过滤模式:留空可发送所有事件,也可输入过滤模式以仅发送特定事件。
- 目标:选择 Firehose 流
点击开始直播。
为 Google SecOps 配置 IAM 用户
Google SecOps 需要具有 S3 存储桶访问权限的 IAM 用户来注入交付的日志。
- 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 .csv 文件以保存访问密钥和密钥,供日后参考。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索 AmazonS3FullAccess 政策。
- 选择相应政策。
- 点击下一步。
- 点击添加权限。
在 Google SecOps 中配置 Feed 以注入 AWS CloudWatch 日志
- 依次前往 SIEM 设置> Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 为Feed 名称输入一个唯一名称。
- 选择 Amazon S3 V2 作为来源类型。
- 选择 AWS CloudWatch 作为日志类型。
- 点击下一步,然后点击提交。
- 为以下字段指定值:
- S3 URI:
s3://cwlogs-to-secops/cloudwatch-logs/ - 来源删除选项:根据您的偏好选择删除选项。
- 文件存在时间上限:包含在过去指定天数内修改的文件(默认值为 180 天)。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥。
- 资产命名空间:资产命名空间。
- 注入标签:要应用于此 Feed 中事件的标签。
- 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 中,键为“Attempts Made”。 |
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 中,键为“Event Name”。 |
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 中,键为“Message Type”。 |
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 中,键为“Detail Request 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 对象:”前缀,并映射到 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 中,键为“Response body”。 |
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 中,键为“支持联系人”。 |
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 专业人士的解答。