AWS CloudTrail 扩展了 API 调用审计

阅读数:458 2014 年 6 月 29 日

话题:安全AWSDevOps语言 & 开发架构

AWS大幅增加AWS CloudTrail支持的服务数量,以便涵盖大量的 AWS 服务组合中的大多数。当前支持的服务包括大多数计算和网络服务以及所有的部署和管理服务,因此几乎可以为客户基础设施的任何更改提供全方位的端到端的审计。

最初向美国东部(北弗吉尼亚)和美国西部(俄勒冈州)提供服务,现在,AWS将 CloudTrail 的覆盖面扩展到了美国西部(北加利福尼亚)、欧盟(爱尔兰)、亚太地区(悉尼)。按照计划,CloudTrail 将很快为全球范围内其它可访问的域提供支持。

AWS CloudTrail 会记录一个 AWS 账号所作的所有 API 调用,不管调用是从哪里发起,可以是AWS 管理控制台,可以是AWS 命令行接口,或者是使用了任何种类AWS SDK的第三方应用程序。它将生成的日志文件以 JSON 格式存储在一个Amazon S3存储段中,并提供了一个可选项,每次有文件发布时可以通知到Amazon SNS主题,那样,第三方和自定义日志分析解决方案就可以避免轮询,并在新的日志文件到达时才进行获取。

日志记录和审计的不同应用场景包括安全分析、更改跟踪、法规遵从性援助和运行故障排除。比如,若干第三方监控和分析工具提供 CloudTrail 事件与应用程序性能监控图表的关联,对于已知的性能衰退,可能由此识别出可能导致其发生或对其产生影响的 AWS 资源更改。

全方位的 JSON 日志记录可以提供如下信息:

  • 谁调用了 API?——AWS 身份类别(根账号、IAM 用户或角色、联合身份验证用户)、友好的用户名、访问密钥、账号等。
  • 什么时候调用了 API?——以ISO 8601格式记录的事件日期和时间。
  • 调用了什么?——API 调用和服务,如 EC2 上的“RunInstances”
  • API 调用作用在了哪些资源上?——请求参数和部分响应元素(为了避免事件信息过大,只读调用的结果中排除了像 Describe*、Get*、List* 这样的结果)
  • 调用从哪里发起?——清楚记录调用者 IP 地址和目标域

系统分析师 René Büst 在一篇博文中强调,对于个别的敏感用户和应用场景,CloudTrail 是一个非常有价值(至今为止非常特别)的解决方案:

对于企业客户,AWS CloudTrail 是 Amazon 近期发布的最重要的服务之一。通过允许记录所有对 AWS 服务的访问确保收集的日志符合政府规程。用户可以更有效地进行安全审计 [……],准确地识别出数据漏洞和未经授权的或错误的数据访问的来源。

CloudTrail“会在 API 调用 15 分钟内发送一个事件”,并且“大约每 5 分钟将生成的日志文件发送到 S3 存储段”。这使它不适用于严格实时的运行和安全监控,但是,准实时的更改跟踪、安全分析和运行故障排除还是可以保证的。

由于运行和安全方面的原因,日志文件可以跨 AWS 域甚至多个 AWS 账号聚集。比如,用户可能想要将开发账号和生产账号的审计日志合并到专用的审计账号,该账号有更高的安全性配置,并且限制用户访问,就像统一计费账号用于隔离涉众专属的计费和成本管理所做的那样。

CloudTrail 文档提供了通常的用户指南API 参考。CloudTrail API 已经获得了跨平台的AWS 命令行接口AWS Tools for Windows PowerShell和大多数AWS SDK的支持。用户支持可以从AWS CloudTrail 论坛上获得。CloudTrail 本身是免费的,Amazon S3 存储和可选的 Amazon SNS 通知产生了这些服务的标准成本。

查看英文原文:AWS CloudTrail Expands Auditing of API Calls