跳转至

CloudTrail 日志

AWS CloudTrail 监控和记录您的 AWS 基础设施中的账户活动。它将所有数据输出到指定的 S3 存储桶或者 CloudWatch 日志组中。

创建日志摄取

您可以使用日志通控制台或通过部署独立的 CloudFormation 堆栈来将日志摄取到 Amazon OpenSearch Service 中。

重要

  • CloudTrail 必须与日志通位于同一区域。
  • 默认情况下,该解决方案将每天轮换索引。您可以在额外设置中进行调整。

使用日志通控制台

  1. 登录日志通控制台。
  2. 在导航窗格中的 日志分析管道 下,选择 AWS 服务日志
  3. 单击 创建日志摄取 按钮。
  4. AWS 服务 部分,选择 AWS CloudTrail
  5. 选择下一步
  6. 指定设置,对于 Trail,从下拉列表中选择一项。(可选步骤)如果需要跨账户摄取日志,需要先在 账户 的下拉列表中选择一个链接的 AWS 账户
  7. 日志来源,选择 S3 或者 CloudWatch 作为日志源。
  8. 选择下一步
  9. 指定 OpenSearch 域 部分,为 Amazon OpenSearch 域 选择一个导入的域。
  10. 如果要摄取关联的内置 Amazon OpenSearch Service 仪表板,请为 示例仪表板 选择
  11. 如果需要,您可以更改目标 Amazon OpenSearch Service 索引的 索引前缀。默认前缀是您的跟踪名称。
  12. 日志生命周期 部分,输入管理 Amazon OpenSearch Service 索引生命周期的天数。日志通 将为此管道自动创建关联的 索引状态管理 (ISM) 策略。
  13. 选择日志处理器 部分,请选择日志处理器。
    • (可选)这些区域现在支持 OSI 作为日志处理器。 当选择 OSI 时,请输入 OCU 的最小和最大数量。 请参阅此处 的更多信息。
  14. 选择下一步
  15. 如果需要,添加标签。
  16. 选择创建

使用独立的 CloudFormation 堆栈

此自动化 AWS CloudFormation 模板在 AWS 云中部署 日志通- CloudTrail Log Ingestion 解决方案。

在 AWS 控制台中启动 下载模板
AWS 海外区域 启动堆栈 模板
AWS 中国区域 启动堆栈 模板
  1. 登录 AWS 管理控制台并选择以上按钮以启动 AWS CloudFormation 模板。您还可以下载模板开始部署。

  2. 要在不同的 AWS 区域中启动堆栈,请使用控制台导航栏中的区域选择器。

  3. 创建堆栈 页面上,验证正确的模板 URL 显示在 Amazon S3 URL 文本框中,然后选择 下一步

  4. 指定堆栈详细信息 页面上,为您的解决方案堆栈分配一个名称。

  5. 参数 下,查看模板的参数并根据需要进行修改。此解决方案使用以下默认值。

    参数 默认 描述
    Log Bucket Name <需要输入> 存储日志的 S3 存储桶名称。
    Log Bucket Prefix <需要输入> 存储日志的 S3 存储桶路径前缀。
    Log Source Account ID <可选输入> 存储日志的 S3 存储桶所在账户 ID. 对于跨账户日志摄取是必填 (需要先 添加一个成员账户)。 默认情况下,会使用您在 步骤 1 中登录的账户 ID。
    Log Source Region <可选输入> 存储日志的 S3 存储桶所在的区域。 默认情况下,会使用您在 步骤 2 中指定的区域。
    Log Source Account Assume Role <可选输入> 跨账户日志摄取所需要使用的 IAM Role。 对于跨账户日志摄取是必填 (需要先 添加一个成员账户)。
    Engine Type OpenSearch OpenSearch 的引擎类型。选择 OpenSearch 或 Elasticsearch。
    OpenSearch Domain Name <需要输入> Amazon OpenSearch 集群的域名。
    OpenSearch Endpoint <需要输入> OpenSearch 端点 URL。例如,vpc-your_opensearch_domain_name-xcvgw6uu2o6zafsiefxubwuohe.us-east-1.es.amazonaws.com
    Index Prefix <需要输入> 日志的 OpenSearch 索引的公共前缀。索引名称将为 <Index Prefix>-<Log Type>-<Other Suffix>
    Create Sample Dashboard Yes 是否创建示例 OpenSearch 仪表板。
    VPC ID <需要输入> 选择可以访问 OpenSearch 域的 VPC。日志处理 Lambda 将驻留在选定的 VPC 中。
    Subnet IDs <需要输入> 选择至少两个可以访问 OpenSearch 域的子网。日志处理 Lambda 将驻留在子网中。确保子网可以访问 Amazon S3 服务。
    Security Group ID <需要输入> 选择将与日志处理 Lambda 关联的安全组。确保安全组有权访问 OpenSearch 域。
    S3 Backup Bucket <需要输入> 用于存储失败提取日志的 S3 备份存储桶名称。
    KMS-CMK ARN <可选输入> 用于加密的 KMS-CMK ARN。 留空以创建新的 KMS CMK。
    Number Of Shards 5 将索引均匀分布在所有数据节点上的分片数。将每个分片的大小保持在 10-50 GiB 之间。
    Number of Replicas 1 OpenSearch 索引的副本数。每个副本都是索引的完整副本。
    Age to Warm Storage <可选输入> 将索引移至温存储所需的时间(例如 7d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当OpenSearch 中启用了温存储时才生效。
    Age to Cold Storage <可选输入> 将索引移入冷存储所需的时间(例如 30d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当 OpenSearch 中启用了冷存储时才生效。
    Age to Retain <可选输入> 保留索引的时间(例如 180d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。如果值为空,则不会删除该索引。
    Rollover Index Size <可选输入> 索引滚动所需的分片大小(例如 30GB)。
    Index Suffix yyyy-MM-dd 索引后缀格式(例如:yyyy-MM-dd、yyyy-MM-dd-HH)。索引名称将为 <Index Prefix>-<Log Type>-<Index Suffix>-000001
    Compression type best_compression 用于压缩存储数据的压缩类型。 可用值为 best_compression 和 default。
    Refresh Interval 1s 索引多久刷新,即刷新索引最近的更改数据并使它们可用于搜索。 可以设置为 -1 以禁用刷新。 默认为 1秒。
    EnableS3Notification True 一个二进制选项,用于启用或禁用针对Amazon S3存储桶的通知。大多数情况下,建议使用默认选项。
    LogProcessorRoleName <可选> 为日志处理器指定一个角色名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。
    QueueName <可选> 为SQS指定一个队列名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。
  6. 选择下一步

  7. 配置堆栈选项 页面上,选择 下一步

  8. 审核 页面上,查看并确认设置。选中确认模板创建 AWS Identity and Access Management (IAM) 资源的复选框。

  9. 选择 创建堆栈 部署堆栈。

您可以在 AWS CloudFormation 控制台的 状态 列中查看堆栈的状态。正常情况下,您大约 10 分钟后会看到 CREATE_COMPLETE 状态。

查看仪表板

仪表板包括以下可视化。

Visualization Name Source Field Description
Global Control awsRegion 为用户提供按区域拆分数据的能力。
Event History log event 展示一个显示事件分布的柱状图。
Event by Account ID userIdentity.accountId 根据 AWS 帐户 ID 细分事件,使您能够分析组织内不同帐户之间的活动模式。
Top Event Names eventName 显示最常发生的事件名称,帮助您识别常见活动或潜在异常。
Top Event Sources eventSource 突出显示生成事件的顶级来源,提供有关最活跃或事件量最高的服务或资源的洞察。
Event Category eventCategory 将事件分类为不同的类型或分类,便于分析和了解跨类别的事件分布。
Top Users
  • userIdentity.sessionContext.sessionIssuer.userName
  • userIdentity.sessionContext.sessionIssuer.arn
  • userIdentity.accountId
  • userIdentity.sessionContext.sessionIssuer.type
识别与最多事件关联的用户或 IAM 角色,有助于用户活动监控和访问管理。
Top Source IPs sourceIPAddress 列出与事件相关的源 IP 地址,使您能够识别和调查潜在的可疑或未经授权的活动。
S3 Access Denied
  • eventSource: s3*
  • errorCode: AccessDenied
显示访问 Amazon S3 资源被拒绝的事件,帮助您识别和排除权限问题或潜在的安全漏洞。
S3 Buckets requestParameters.bucketName 提供关于 S3 存储桶活动的摘要,包括创建、删除和修改操作,使您能够监控变更和访问模式。
Top S3 Change Events
  • eventName
  • requestParameters.bucketName
呈现对 S3 资源最常见的更改类型,例如对象上传、删除或修改,有助于更改跟踪和审计。
EC2 Change Event Count
  • eventSource: ec2*
  • eventName: (RunInstances or TerminateInstances or RunInstances or StopInstances)
显示与 EC2 相关的更改事件的总数,提供对 EC2 实例和资源的更改的数量和频率的概述。
EC2 Changed By userIdentity.sessionContext.sessionIssuer.userName 标识对 EC2 资源进行更改的用户或 IAM 角色,有助于追踪和修改的责任。
Top EC2 Change Events eventName 强调对 EC2 实例或相关资源进行的最常见更改类型,使您能够关注最重要或最频繁的更改。
Error Events
  • awsRegion
  • errorCode
  • errorMessage
  • eventName
  • eventSource
  • sourceIPAddress
  • userAgent
  • userIdentity.​accountId
  • userIdentity.​sessionContext.​sessionIssuer.​accountId
  • userIdentity.​sessionContext.​sessionIssuer.​arn
  • userIdentity.​sessionContext.​sessionIssuer.​type
  • userIdentity.​sessionContext.​sessionIssuer.​userName
显示导致错误或失败的事件,帮助您识别和排除与 API 调用或资源操作相关的问题。

示例仪表板

您可以访问Amazon OpenSearch中的内置仪表板来查看日志数据。更多信息请参阅访问仪表板

您可以点击下面的图像查看高分辨率的示例仪表板。

cloudtrail-db