收集 AWS Key Management Service 日志

支持的语言:

本文档介绍了如何将 AWS Key Management Service (KMS) 日志注入到 Google Security Operations。AWS KMS 是一项全代管式服务,可让您创建和控制用于加密数据的加密密钥。此集成有助于监控和审核加密密钥的使用情况。

准备工作

确保您满足以下前提条件:

  • Google SecOps 实例
  • 对 AWS 的特权访问权限

配置 Amazon S3 和 IAM

  1. 按照以下用户指南创建 Amazon S3 存储桶创建存储桶
  2. 保存相应存储桶的名称区域以备后用。
  3. 按照以下用户指南创建用户:创建 IAM 用户
  4. 选择创建的用户
  5. 选择安全凭据标签页。
  6. 访问密钥部分中,点击创建访问密钥
  7. 选择第三方服务作为使用情形
  8. 点击下一步
  9. 可选:添加说明标记。
  10. 点击创建访问密钥
  11. 点击 Download CSV file(下载 CSV 文件),保存访问密钥不公开的访问密钥以供日后使用。
  12. 点击完成
  13. 选择权限标签页。
  14. 权限政策部分中,点击添加权限
  15. 选择添加权限
  16. 选择直接附加政策
  17. 搜索并选择 AmazonS3FullAccess 政策。
  18. 点击下一步
  19. 点击添加权限

如何为 AWS KMS 配置 CloudTrail

  1. 登录 AWS Management Console
  2. 在搜索栏中,输入并从服务列表中选择 CloudTrail
  3. 点击创建试验
  4. 提供跟踪名称(例如 KMS-Activity-Trail)。
  5. 选中为组织中的所有账号启用复选框。
  6. 输入之前创建的 S3 存储桶 URI(格式应为:s3://your-log-bucket-name/),或创建一个新的 S3 存储桶。
  7. 如果启用了 SSE-KMS,请提供 AWS KMS 别名,或选择现有的 AWS KMS 密钥
  8. 您可以将其他设置保留为默认值。
  9. 点击下一步
  10. 事件类型下,选择管理事件数据事件
  11. 点击下一步
  12. 检查并创建中检查设置。
  13. 点击创建试验
  14. 可选:如果您创建了新存储桶,请继续执行以下流程:
    1. 前往 S3
    2. 找到并选择新创建的日志存储桶。
    3. 选择 AWSLogs 文件夹。
    4. 点击复制 S3 URI 并保存。

设置 Feed

您可以通过两种不同的入口点在 Google SecOps 平台中设置 Feed:

  • SIEM 设置 > Feed
  • 内容中心 > 内容包

通过“SIEM 设置”>“Feed”设置 Feed

如需为相应产品系列中的不同日志类型配置多个 Feed,请参阅按产品配置 Feed

如需配置单个 Feed,请按以下步骤操作:

  1. 依次前往 SIEM 设置> Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 AWS KMS 日志)。
  5. 选择 Amazon S3 作为来源类型
  6. 选择 AWS KMS 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:

    • 区域:Amazon S3 存储桶所在的区域。
    • S3 URI:存储桶 URI。
      • s3://your-log-bucket-name/
        • your-log-bucket-name 替换为您的 S3 存储桶的实际名称。
    • URI is a:根据您的存储桶结构,选择目录目录(包括子目录)
    • 源删除选项:根据您的提取偏好设置选择删除选项。

    • 访问密钥 ID:有权从 S3 存储桶读取数据的用户的访问密钥。

    • 私有访问密钥:具有从 S3 存储桶读取权限的用户的私有密钥。

    • 资源命名空间资源命名空间

    • 注入标签:要应用于此 Feed 中事件的标签。

  9. 点击下一步

  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

设置来自内容中心的 Feed

为以下字段指定值:

  • 区域:Amazon S3 存储桶所在的区域。
  • S3 URI:存储桶 URI。
    • s3://your-log-bucket-name/
      • your-log-bucket-name 替换为您的 S3 存储桶的实际名称。
  • URI is a:根据您的存储桶结构,选择目录目录(包括子目录)
  • 源删除选项:根据您的提取偏好设置选择删除选项。
  • 访问密钥 ID:有权从 S3 存储桶读取数据的用户的访问密钥。

  • 私有访问密钥:具有从 S3 存储桶读取权限的用户的私有密钥。

高级选项

  • Feed 名称:用于标识 Feed 的预填充值。
  • 来源类型:用于将日志收集到 Google SecOps 中的方法。
  • 资产命名空间与 Feed 关联的命名空间
  • 提取标签:应用于相应 Feed 中所有事件的标签。

UDM 映射表

日志字段 UDM 映射 逻辑
data.detail.awsRegion principal.location.country_or_region 直接从原始日志中的 data.detail.awsRegion 字段映射。
data.detail.eventCategory security_result.category_details 直接从原始日志中的 data.detail.eventCategory 字段映射。
data.detail.eventName metadata.product_event_type 直接从原始日志中的 data.detail.eventName 字段映射。此字段根据以下逻辑确定 metadata.event_type 值:如果 eventName 为“Decrypt”或“Encrypt”,则 event_type 为“USER_RESOURCE_ACCESS”;如果 eventName 为“GenerateDataKey”,则 event_type 为“USER_RESOURCE_CREATION”;否则,event_type 为“GENERIC_EVENT”。
data.detail.requestID additional.fields.key 在解析器代码中,该值硬编码为“requestID”。
data.detail.requestID additional.fields.value.string_value 直接从原始日志中的 data.detail.requestID 字段映射。
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.key 在解析器代码中,该值硬编码为“encryptionAlgorithm”。
data.detail.requestParameters.encryptionAlgorithm security_result.detection_fields.value 直接从原始日志中的 data.detail.requestParameters.encryptionAlgorithm 字段映射。
data.detail.resources.ARN target.resource.id 直接从原始日志中的 data.detail.resources.ARN 字段映射。
data.detail.resources.type target.resource.resource_subtype 直接从原始日志中的 data.detail.resources.type 字段映射。
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.key 在解析器代码中,该值硬编码为“mfaAuthenticated”。
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value 直接从原始日志中的 data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated 字段映射。
data.detail.userIdentity.sessionContext.sessionIssuer.principalId principal.user.userid 直接从原始日志中的 data.detail.userIdentity.sessionContext.sessionIssuer.principalId 字段映射。
data.detail.userIdentity.sessionContext.sessionIssuer.userName principal.user.user_display_name 直接从原始日志中的 data.detail.userIdentity.sessionContext.sessionIssuer.userName 字段映射。
data.detail.userIdentity.type principal.user.attribute.roles.name 直接从原始日志中的 data.detail.userIdentity.type 字段映射。
data.id metadata.product_log_id 直接从原始日志中的 data.id 字段映射。
data.time metadata.event_timestamp.seconds 从原始日志的 data.time 字段解析的时间戳的秒值。
不适用 metadata.event_type 此字段由解析器逻辑根据 data.detail.eventName 的值派生得出:如果 eventName 为“Decrypt”或“Encrypt”,则 event_type 为“USER_RESOURCE_ACCESS”;如果 eventName 为“GenerateDataKey”,则 event_type 为“USER_RESOURCE_CREATION”;否则,event_type 为“GENERIC_EVENT”。
不适用 metadata.log_type 在解析器代码中,该值硬编码为“AWS_KMS”。
不适用 metadata.product_name 在解析器代码中,该值硬编码为“AWS Key Management Service”。
不适用 metadata.vendor_name 在解析器代码中,该值硬编码为“AMAZON”。
不适用 principal.asset.attribute.cloud.environment 在解析器代码中,该值硬编码为“AMAZON_WEB_SERVICES”。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。