收集 Akamai DataStream 2 日志
解析器版本:2.0
本文档介绍了如何使用 Amazon S3 将 Akamai DataStream 2 日志注入到 Google Security Operations。
Akamai DataStream 2 可从 Akamai Intelligent Edge Platform 捕获性能和安全日志,并近乎实时地将其传送到您选择的目标位置。您可以使用 DataStream 2 监控、调试和分析 Akamai 媒体资源中的 CDN 和安全事件。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- 对 Akamai Control Center 具有 DataStream 2 配置权限的特权访问权限。
- 对 AWS(S3、IAM)的特权访问权限。
为 Google SecOps 配置 AWS S3 存储桶和 IAM
- 按照以下用户指南创建 Amazon S3 存储桶:创建存储桶。
- 保存存储桶名称和区域以供日后参考(例如
akamai-datastream2-logs)。 - 按照以下用户指南创建用户:创建 IAM 用户。
- 选择创建的用户。
- 选择安全凭据标签页。
- 在访问密钥部分中,点击创建访问密钥。
- 选择第三方服务作为使用情形。
- 点击下一步。
- 可选:添加说明标记。
- 点击创建访问密钥。
- 点击下载 .csv 文件以保存访问密钥和密钥,供日后参考。
- 点击完成。
- 选择权限标签页。
- 在权限政策部分中,点击添加权限。
- 选择添加权限。
- 选择直接附加政策。
- 搜索 AmazonS3FullAccess 政策。
- 选择相应政策。
- 点击下一步。
- 点击添加权限。
为 Akamai S3 上传配置 IAM 政策
- 在 AWS 控制台中,依次前往 IAM > 政策 > 创建政策 > JSON 标签页。
- 复制并粘贴以下政策。
政策 JSON(如果您使用了其他存储桶名称,请替换
akamai-datastream2-logs):{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAkamaiDataStreamWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::akamai-datastream2-logs", "arn:aws:s3:::akamai-datastream2-logs/*" ] } ] }点击下一步。
输入政策名称(例如
AkamaiDataStreamS3Policy)。点击创建政策。
依次前往 IAM > 用户 > 创建用户。
输入用户名(例如
akamai-datastream-writer)。点击下一步。
选择直接附加政策。
搜索并选择上文中创建的政策。
依次点击下一步 > 创建用户。
选择创建的用户,然后依次前往安全凭据 > 创建访问密钥。
选择第三方服务作为用例,然后依次点击下一步 > 创建访问密钥。
点击下载 .csv 文件,以保存 Akamai DataStream 2 配置的访问密钥 ID 和私有访问密钥。
配置 Akamai DataStream 2 以将日志传送到 Amazon S3
- 登录 Akamai 控制中心。
- 前往 DataStream 2。
- 点击创建数据流。
- 选择适合您媒体资源的日志类型(例如投放、Edge DNS、GTM)。
- 在数据集中,选择所需的字段。除非有特殊需求,否则请保留默认值。
- 前往目标位置,然后选择 Amazon S3。
- 填写 S3 目标详细信息:
- 名称:为目的地输入一个描述性标签(例如
SIEM S3 Destination)。 - 存储桶:输入您的 S3 存储桶名称(例如
akamai-datastream2-logs)。 - 文件夹路径:输入文件夹路径(例如
datastream2/logs/)。支持时间戳等动态变量。 - 区域:选择与您的 S3 存储桶匹配的 AWS 区域。
- 访问密钥 ID:输入为 Akamai 创建的 IAM 用户的访问密钥 ID。
- 私有访问密钥:输入为 Akamai 创建的 IAM 用户的私有访问密钥。
- 名称:为目的地输入一个描述性标签(例如
点击验证并保存。
可选:在投放选项中,配置以下内容:
- 推送频次:选择 30 秒或 60 秒。
- 文件名前缀和后缀:根据需要自定义。避免在前缀中使用
.。
依次点击下一步 > 激活。
(可选)为 Google SecOps 创建只读 IAM 用户
如果您希望使用单独的拥有只读权限的用户供 Google SecOps 注入日志,请执行以下操作:
- 依次前往 AWS 控制台 > IAM > 政策 > 创建政策 > JSON 标签页。
复制并粘贴以下政策(如果您使用了其他存储桶名称,请替换
akamai-datastream2-logs):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::akamai-datastream2-logs/*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::akamai-datastream2-logs" } ] }点击下一步。
输入政策名称(例如
secops-reader-policy)。点击创建政策。
依次前往 IAM > 用户 > 创建用户。
输入用户名(例如
secops-reader)。点击下一步。
选择 Attach policies directly,然后选择上面创建的政策。
依次点击下一步 > 创建用户。
选择创建的用户,然后依次前往安全凭据 > 创建访问密钥。
选择第三方服务作为用例,然后依次点击下一步 > 创建访问密钥。
点击下载 .csv 文件,以保存 Google SecOps Feed 配置的访问密钥 ID 和私有访问密钥。
在 Google SecOps 中配置 Feed 以注入 Akamai DataStream 2 日志
- 依次前往 SIEM 设置 > Feed。
- 点击添加新 Feed。
- 在下一页上,点击配置单个 Feed。
- 为Feed 名称输入一个唯一名称(例如
Akamai DataStream 2 Logs)。 - 选择 Amazon S3 V2 作为来源类型。
- 选择 Akamai DataStream 2 作为日志类型。
- 点击下一步,然后点击提交。
为以下字段指定值:
- S3 URI:
s3://akamai-datastream2-logs/datastream2/logs/ - 源删除选项:根据您的偏好选择删除选项。
- 文件存在时间上限:包含在过去指定天数内修改的文件(默认值为 180 天)。
- 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。
- 私有访问密钥:有权访问 S3 存储桶的用户私有密钥。
- 资产命名空间:资产命名空间。
- 注入标签:要应用于此 Feed 中事件的标签。
- S3 URI:
点击下一步,然后点击提交。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
billingRegion_label |
additional.fields |
已合并 |
bytes_label |
additional.fields |
已合并 |
cache_status_label |
additional.fields |
已合并 |
customfield_label |
additional.fields |
已合并 |
errorCode_label |
additional.fields |
已合并 |
error_code_label |
additional.fields |
已合并 |
fileSizeBucket_label |
additional.fields |
已合并 |
jsonPayload_cookie_label |
additional.fields |
已合并 |
jsonPayload_cp_label |
additional.fields |
已合并 |
jsonPayload_overheadbytes_label |
additional.fields |
已合并 |
objSize_label |
additional.fields |
已合并 |
objsize_label |
additional.fields |
已合并 |
overheadBytes_label |
additional.fields |
已合并 |
rspContentLen_label |
additional.fields |
已合并 |
rspcontentlen_label |
additional.fields |
已合并 |
trace_label |
additional.fields |
已合并 |
transferTimeMSec_label |
additional.fields |
已合并 |
turnAroundTimeMSec_label |
additional.fields |
已合并 |
has_principal |
metadata.event_type |
已映射:true → NETWORK_HTTP、true → NETWORK_CONNECTION、true → STATUS_UPDATE |
has_user |
metadata.event_type |
已映射:true → USER_UNCATEGORIZED |
insertId |
metadata.product_log_id |
直接映射 |
proto_type |
network.application_protocol |
直接映射 |
jsonPayload.reqmethod |
network.http.method |
直接映射 |
reqMethod |
network.http.method |
直接映射 |
jsonPayload_referer |
network.http.referral_url |
直接映射 |
jsonPayload.statuscode |
network.http.response_code |
直接映射 |
statusCode |
network.http.response_code |
直接映射 |
UA |
network.http.user_agent |
直接映射 |
jsonPayload.ua |
network.http.user_agent |
直接映射 |
jsonPayload.reqid |
network.session_id |
直接映射 |
reqId |
network.session_id |
直接映射 |
jsonPayload.tlsversion |
network.tls.version |
直接映射 |
tlsVersion |
network.tls.version |
直接映射 |
version |
network.tls.version_protocol |
直接映射 |
cliIP |
principal.asset.ip |
已合并 |
jsonPayload.cliip |
principal.asset.ip |
已合并 |
cliIP |
principal.ip |
已合并 |
jsonPayload.cliip |
principal.ip |
已合并 |
jsonPayload.city |
principal.location.city |
直接映射 |
jsonPayload.country |
principal.location.country_or_region |
直接映射 |
jsonPayload.totalbytes |
principal.network.received_bytes |
已重命名/已映射 |
totalBytes |
principal.network.received_bytes |
直接映射 |
logName |
security_result.category_details |
已合并 |
asn_label |
security_result.detection_fields |
已合并 |
querystr_label |
security_result.detection_fields |
已合并 |
securityrules_label |
security_result.detection_fields |
已合并 |
service_name_label |
security_result.detection_fields |
已合并 |
jsonPayload.reqhost |
target.asset.hostname |
直接映射 |
jsonPayload.reqpath |
target.file.full_path |
直接映射 |
reqPath |
target.file.full_path |
直接映射 |
jsonPayload.rspcontenttype |
target.file.mime_type |
直接映射 |
rspContentType |
target.file.mime_type |
直接映射 |
jsonPayload.reqhost |
target.hostname |
直接映射 |
jsonPayload.reqport |
target.port |
已重命名/已映射 |
reqPort |
target.port |
已重命名/已映射 |
uncompressedsize |
target.process.file.size |
直接映射 |
resource.type |
target.resource.resource_subtype |
直接映射 |
| 不适用 | metadata.event_type |
常量:NETWORK_HTTP |
| 不适用 | metadata.product_name |
常量:Akamai Datastream |
| 不适用 | metadata.vendor_name |
常量:AkamaiDatastream |
更新日志
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。