你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将 Microsoft Sentinel 连接到 Amazon Web Services 以引入 AWS 服务日志数据

Amazon Web Services (AWS) 服务日志连接器在两个版本中可用:用于 CloudTrail 管理和数据日志的旧连接器,以及可通过从 S3 存储桶拉取日志(指向 AWS 文档的链接)从以下 AWS 服务引入日志的新版本:

此选项卡说明如何使用以下两种方法之一配置 AWS S3 连接器:

先决条件

  • 必须拥有对 Microsoft Sentinel 工作区的写入权限。

  • 从 Microsoft Sentinel 中的“内容中心”安装 Amazon Web Services 解决方案。 有关详细信息,请参阅发现和管理 Microsoft Sentinel 的内置内容

  • 在计算机上安装 PowerShell 和 AWS CLI(仅适用于自动设置):

  • 确保所选 AWS 服务中的日志使用Microsoft Sentinel 接受的格式:

    • Amazon VPC:带标题的 GZIP 格式 .csv 文件;分隔符:空格。
    • Amazon GuardDuty:json-line 和 GZIP 格式。
    • AWS CloudTrail:.json GZIP 格式的文件。
    • CloudWatch:.csv 文件以没有标头的 GZIP 格式存储。 如果需要将日志转换为此格式,则可以使用此 CloudWatch lambda 函数

自动设置

为了简化载入过程,Microsoft Sentinel 提供了 一个 PowerShell 脚本,用于自动设置 连接器的 AWS 端-所需的 AWS 资源、凭据和权限。

脚本:

  • 创建 OIDC Web 标识提供者,以向 AWS 验证Microsoft Entra ID 用户。 如果 Web 标识提供者已存在,该脚本会将Microsoft Sentinel 作为访问群体添加到现有提供程序。

  • 创建具有最少必要权限的 IAM 假定角色 ,以授予经过 OIDC 身份验证的用户对给定 S3 存储桶和 SQS 队列中的日志的访问权限。

  • 使指定的 AWS 服务能够将日志发送到该 S3 存储桶,并将消息通知到该 SQS 队列。

  • 如有必要,请为此创建 S3 存储桶和该 SQS 队列。

  • 配置任何必要的 IAM 权限策略,并将其应用到上面创建的 IAM 角色。

对于 Azure 政府云,专用脚本会创建一个不同的 OIDC Web 标识提供者,并向其分配 IAM 假定的角色。

说明书

若要运行脚本来设置连接器,请使用以下步骤:

  1. 在 Microsoft Sentinel 导航菜单中,选择“数据连接器”。

  2. 从数据连接器库中选择 Amazon Web Services S3

    如果未看到连接器,请在 Microsoft Sentinel 中从 内容中心 安装 Amazon Web Services 解决方案。

  3. 在连接器的详细信息窗格中,选择“打开连接器页面”。

  4. “配置” 部分中,在 1. 设置 AWS 环境 下,展开 使用 PowerShell 脚本(推荐)设置

  5. 按照屏幕上的说明从连接器页下载和提取 AWS S3 安装脚本 (链接下载包含主安装脚本和帮助程序脚本的 zip 文件)。

    注释

    若要将 AWS 日志引入 Azure 政府云,请改为下载并提取 此专用 AWS S3 Gov 安装脚本

  6. 在运行脚本之前,请从 PowerShell 命令行运行 aws configure 命令,并按提示输入相关信息。 请参阅 AWS 命令行接口 |配置基础知识 (从 AWS 文档)了解详细信息。

  7. 现在运行脚本。 从连接器页(在“运行脚本以设置环境”下)复制命令,并将其粘贴到命令行中。

  8. 该脚本会提示输入工作区 ID。 此 ID 显示在连接器页上。 将其复制并粘贴到脚本的提示符处。

    用于运行安装脚本和工作区 ID 的命令的屏幕截图。

  9. 脚本运行完成后,从脚本的输出复制 角色 ARNSQS URL (请参阅下面的第一个屏幕截图中的示例),并将其粘贴到连接器页中的相应字段( 2 下)。添加连接 (请参阅下面的第二个屏幕截图)。

    AWS 连接器设置脚本输出的屏幕截图。

    将 A W S 角色信息从脚本粘贴到 S3 连接器的屏幕截图。

  10. “目标表 ”下拉列表中选择数据类型。 这会告知连接器正在建立的此连接将收集哪些 AWS 服务的日志,以及它会将摄取的数据存储到哪个 Log Analytics 表中。 然后选择“添加连接”。

注释

该脚本最长可能需要 30 分钟才能完成运行。

手动安装

建议使用自动安装脚本部署此连接器。 如果出于任何原因不想利用这种便利,请按照以下步骤手动设置连接器。

  1. 按照设置 Amazon Web Services 环境以将 AWS 日志收集到 Microsoft Sentinel 中所述设置 AWS 环境。

  2. 在 AWS 控制台中:

    1. 输入 标识和访问管理(IAM) 服务并导航到 角色列表。 选择上面创建的角色。

    2. ARN 复制到剪贴板。

    3. 输入 简单队列服务,选择创建的 SQS 队列,并将队列的 URL 复制到剪贴板。

  3. 在 Microsoft Sentinel 导航菜单中,选择“数据连接器”。

  4. 从数据连接器库中选择 Amazon Web Services S3

    如果未看到连接器,请在 Microsoft Sentinel 中从 内容中心 安装 Amazon Web Services 解决方案。 有关详细信息,请参阅发现和管理 Microsoft Sentinel 的内置内容

  5. 在连接器的详细信息窗格中,选择“打开连接器页面”。

  6. 在 2.添加连接下:

    1. 将两个步骤前复制的 IAM 角色 ARN 粘贴到 要添加的角色 字段。
    2. 将最后一步中复制的 SQS 队列的 URL 粘贴到 SQS URL 字段中。
    3. “目标表 ”下拉列表中选择数据类型。 这会告知连接器正在建立的此连接将收集哪些 AWS 服务的日志,以及它会将摄取的数据存储到哪个 Log Analytics 表中。
    4. 选择“添加连接”。

    将 AWS 角色连接添加到 S3 连接器的屏幕截图。

已知问题和故障排除

已知问题

  • 不同类型的日志可以存储在同一 S3 存储桶中,但不应存储在同一路径中。

  • 每个 SQS 队列应指向一种类型的消息。 如果要引入 GuardDuty 结果和 VPC 流日志,请为每个类型设置单独的队列。

  • 单个 SQS 队列只能在 S3 存储桶中提供一个路径。 如果要将日志存储在多个路径中,则每个路径都需要其自己的专用 SQS 队列。

故障排除

了解如何 排查 Amazon Web Services S3 连接器问题

使用 lambda 函数将格式化的 CloudWatch 事件发送到 S3 (可选)

如果 CloudWatch 日志的格式不是由 Microsoft Sentinel 接受的格式(.csv GZIP 格式的文件没有标头),请使用 lambda 函数查看 AWS 中的 源代码 ,以接受的格式将 CloudWatch 事件发送到 S3 存储桶。

Lambda 函数将使用 Python 3.9 运行时和 x86_64 体系结构。

部署 Lambda 函数的方法:

  1. 在 AWS 管理控制台中,选择 Lambda 服务。

  2. 选择“创建函数”

    该屏幕截图显示了 AWS 管理控制台的“基本信息”屏幕。

  3. 键入函数的名称,并选择“Python 3.9”运行时和“x86_64”体系结构。

  4. 选择“创建函数”

  5. 在“选择层”下,选择一个层,然后选择“添加”。

    该屏幕截图显示了 AWS 管理控制台的“添加层”屏幕。

  6. 选择“权限”,然后在“执行角色”下选择“角色名称”。

  7. 在“权限策略”下,依次选择“添加权限”“附加策略”。

    该屏幕截图显示了 AWS 管理控制台的“权限”选项卡。

  8. 搜索 AmazonS3FullAccess 和 CloudWatchLogsReadOnlyAccess 策略,并附加这些策略。

    该屏幕截图显示了 AWS 管理控制台的“添加权限”屏幕。

  9. 返回到函数,选择“代码”,然后将代码链接粘贴到“代码源”下。

  10. 参数的默认值是使用环境变量设置的。 如有必要,可以直接在代码中手动调整这些值。

  11. 选择“部署”,然后选择“测试”。

  12. 通过填写必填字段创建事件。

    该屏幕截图显示了 AWS 管理控制台的“配置测试事件”屏幕。

  13. 选择“测试”以查看事件在 S3 Bucket 中的显示方式。

后续步骤

本文档介绍了如何连接到 AWS 资源,以便将其日志引入 Microsoft Sentinel。 若要详细了解 Microsoft Sentinel,请参阅以下文章: