为多个 Amazon Web Services account 中的入站互联网访问创建网络访问分析器调查发现报告 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为多个 Amazon Web Services account 中的入站互联网访问创建网络访问分析器调查发现报告

由 Mike Virgilio (AWS) 创建

代码库:网络访问分析器多账户分析

环境:生产

技术:联网;安全性、标识性、合规性

AWS 服务:AWS CloudFormation;亚马逊 S3;亚马逊 VPC;AWS Security Hub

Summary

对 AWS 资源的意外入站互联网访问可能会给组织的数据边界带来风险。网络访问分析器是一项 Amazon Virtual Private Cloud (Amazon VPC) 功能,可帮助您识别对 Amazon Web Services (AWS) 资源的意外网络访问。您可以使用网络访问分析器指定网络访问要求并识别不满足指定要求的潜在网络路径。您可以使用网络访问分析器执行以下操作:

  1. 确定可通过互联网网关访问互联网上的 AWS 资源。

  2. 验证您的虚拟私有云(VPC)是否已适当分段,例如隔离生产和开发环境以及分离事务工作负载。

Network Access Analyzer 分析 end-to-end 网络可访问性条件,而不仅仅是分析单个组件。为了确定是否可通过互联网访问某个资源,网络访问分析器会评估互联网网关、VPC 路由表、网络访问控制列表(ACL)、弹性网络接口上的公有 IP 地址和安全组。如果这些组件中的任何一个阻止互联网访问,则网络访问分析器不会生成调查发现。例如,如果 Amazon Elastic Compute Cloud (Amazon EC2)实例具有允许来自 0/0 的流量的开放安全组,但该实例位于无法从任何互联网网关路由的私有子网中,则网络访问分析器不会生成调查发现。这提供了高保真结果,以便您可以识别真正可从互联网访问的资源。

运行网络访问分析器时,使用网络访问作用域来指定网络访问要求。此解决方案可识别 互联网网关和弹性网络接口之间的网络路径。在此模式中,您将解决方案部署在组织中由 AWS Organizations 管理的集中式 Amazon Web Services account 中,并分析组织中任何 AWS 区域中的所有账户。

此解决方案在设计时考虑了以下几点:

  • AWS CloudFormation 模板减少了在这种模式下部署 AWS 资源所需的工作量。

  • 您可以在部署时调整 CloudFormation 模板和 naa-script.sh 脚本中的参数,以便根据您的环境对其进行自定义。

  • Bash 脚本自动并行预配和分析多个账户的网络访问范围。

  • Python 脚本处理结果,提取数据,然后合并结果。您可以选择以 CSV 格式或在 AWS Security Hub 中查看网络访问分析器结果的综合报告。CSV 报告的示例可在此模式的其他信息部分找到。

  • 您可以修正结果,也可以通过将结果添加到 naa-exclusions.csv 文件来将其从将来的分析中排除。

先决条件和限制

先决条件

  • 用于托管安全服务和工具的 Amazon Web Services account,在 AWS Organizations 中作为组织的成员账户进行管理。在此模式中,此账户称为安全账户。

  • 在安全账户中,必须具有具有出站互联网访问权限的私有子网。有关说明,请参阅 Amazon VPC 文档中的创建子网。您可以使用 NAT 网关接口 VPC 端点建立互联网访问。

  • 访问 AWS Organizations 管理账户或拥有委托管理员权限的账户 CloudFormation。有关说明,请参阅 CloudFormation 文档中的注册委托管理员

  • 在 AWS Organizations 和之间启用可信访问 CloudFormation。有关说明,请参阅 CloudFormation 文档中的通过 AWS Organizations 启用可信访问

  • 如果要将结果上传到 Security Hub,则必须在预置 EC2 实例的账户和 AWS 区域中启用 Security Hub。有关更多信息,请参阅设置 AWS Security Hub

限制

  • 由于网络访问分析器功能的限制,当前不会分析跨账户网络路径。

  • 目标 Amazon Web Services account 必须在 AWS Organizations 中作为组织进行管理。如果您不使用 AWS Organizations,则可以更新适用于您的环境的 naa-execrole.yaml CloudFormation 模板和 naa-script.sh 脚本。相反,您需要提供要运行脚本的 Amazon Web Services account ID 和区域的列表。

  • 该 CloudFormation 模板旨在将 EC2 实例部署到具有出站互联网访问权限的私有子网中。AWS Systems Manager Agent (SSM Agent) 需要出站访问权限才能访问 Systems Manager 服务端点,您需要出站访问权限才能克隆代码存储库并安装依赖项。如果要使用公有子网,则必须修改 naa-resources.yaml 模板以将弹性 IP 地址与 EC2 实例关联。

架构

目标技术堆栈

  • 网络访问分析器

  • Amazon EC2 实例

  • AWS Identity and Access Management (IAM) 角色

  • Amazon Simple Storage Service (Amazon S3)桶

  • Amazon Simple Notification Service (Amazon SNS)主题

  • AWS Security Hub(仅限选项 2)

目标架构

选项 1:访问 Amazon S3 存储桶中的结果

在 Amazon S3 存储桶中访问网络访问分析器调查发现报告的架构图

该图显示了以下过程:

  1. 如果您手动运行解决方案,则用户将使用 Session Manager 对 EC2 实例进行身份验证,然后运行 naa-script.sh 脚本。此 Shell 脚本执行步骤 2-7。

    如果自动运行解决方案,则 naa-script.sh 脚本将按照在 cron 表达式中定义的计划自动启动。此 Shell 脚本执行步骤 2-7。有关详细信息,请参阅本节末尾的自动化和扩缩

  2. EC2 实例从 S3 存储桶下载最新的 naa-exception.csv 文件。稍后在 Python 脚本处理排除项时,将在此过程中使用此文件。

  3. EC2 实例代入 NAAEC2Role IAM 角色,该角色授予访问 S3 存储桶以及在组织中其他账户中代入 NAAExecRole IAM 角色的权限。

  4. EC2 实例代入组织管理账户中的 NAAExecRole IAM 角色,并生成组织中的账户列表。

  5. EC2 实例在组织的成员账户(在架构图中称为工作负载账户)中代入 NAAExecRole IAM 角色,并在每个账户中执行安全评测。结果以 JSON 文件的形式存储在 EC2 实例上。

  6. EC2 实例使用 Python 脚本处理 JSON 文件、提取数据字段并创建 CSV 报告。

  7. EC2 实例将 CSV 文件上传到 S3 存储桶中。

  8. Amazon EventBridge 规则会检测文件上传,并使用 Amazon SNS 主题发送一封电子邮件,通知用户报告已完成。

  9. 用户从 S3 存储桶下载 CSV 文件。用户将结果导入 Excel 模板并查看结果。

选项 2:访问 AWS Security Hub 中的结果

通过 AWS Security Hub 访问网络访问分析器调查发现的架构图

该图显示了以下过程:

  1. 如果您手动运行解决方案,则用户将使用 Session Manager 对 EC2 实例进行身份验证,然后运行 naa-script.sh 脚本。此 Shell 脚本执行步骤 2-7。

    如果自动运行解决方案,则 naa-script.sh 脚本将按照在 cron 表达式中定义的计划自动启动。此 Shell 脚本执行步骤 2-7。有关详细信息,请参阅本节末尾的自动化和扩缩

  2. EC2 实例从 S3 存储桶下载最新的 naa-exception.csv 文件。稍后在 Python 脚本处理排除项时,将在此过程中使用此文件。

  3. EC2 实例代入 NAAEC2Role IAM 角色,该角色授予访问 S3 存储桶以及在组织中其他账户中代入 NAAExecRole IAM 角色的权限。

  4. EC2 实例代入组织管理账户中的 NAAExecRole IAM 角色,并生成组织中的账户列表。

  5. EC2 实例在组织的成员账户(在架构图中称为工作负载账户)中代入 NAAExecRole IAM 角色,并在每个账户中执行安全评测。结果以 JSON 文件的形式存储在 EC2 实例上。

  6. EC2 实例使用 Python 脚本处理 JSON 文件并提取数据字段以导入 Security Hub。

  7. EC2 实例将网络访问分析器的调查发现导入 Security Hub。

  8. Amazon EventBridge 规则会检测导入,并使用 Amazon SNS 主题发送一封电子邮件,通知用户该过程已完成。

  9. 用户在 Security Hub 中查看结果。

自动化和扩缩

您可以计划此解决方案,以便按自定义计划自动运行 naa-script.sh 脚本。要设置自定义计划,请在 naa-resources.yaml CloudFormation 模板中修改参数。CronScheduleExpression例如,默认值 0 0 * * 0 在每个星期日的午夜运行解决方案。如果值为 0 0 * 1-12 0,则该解决方案将在每个月第一个星期日的午夜运行。有关使用 cron 表达式的更多信息,请参阅 Systems Manager 文档中的 Cron 和 rate 表达式

如果要在部署 NAA-Resources 堆栈后调整计划,可以在 /etc/cron.d/naa-schedule 中手动编辑 cron 计划。

工具

Amazon Web Services

  • Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services Cloud 中提供可扩展的计算容量。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。

  • Amazon EventBridge 是一项无服务器事件总线服务,可帮助您将应用程序与来自各种来源的实时数据连接起来。例如,AWS Lambda 函数、使用 API 目标的 HTTP 调用端点或其他 Amazon Web Services account 中的事件总线。

  • AWS Identity and Access Management (AWS IAM) 通过控制验证和授权使用您 AWS 资源的用户,帮助您安全地管理对您 AWS 资源的访问。

  • AWS Organizations 是一项账户管理服务,使您可将多个 Amazon Web Services account 整合到您所创建的组织中并进行集中管理。

  • AWS Security Hub 向您提供 AWS 中安全状态的全面视图。Security Hub 还可以帮助您根据安全行业标准和最佳实践检查环境。

  • Amazon Simple Notification Service (Amazon SNS) 可帮助您协调和管理发布者与客户端(包括 Web 服务器和电子邮件地址)之间的消息交换。

  • Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。

  • AWS Systems Manager 可帮助您管理在Amazon Web Services Cloud 中运行的应用程序和基础设施。它简化了应用程序和资源管理,缩短了检测和解决操作问题的时间,并帮助您大规模安全地管理 AWS 资源。此模式使用会话管理器,这是 Systems Manager 的一项功能。

代码存储库

此模式的代码可在 GitHub Network Access Analyzer 多账户分析存储库中找到。代码存储库包含以下文件:

  • naa-script.sh - 此 bash 脚本用于并行启动多个 Amazon Web Services account 的网络访问分析器分析。按照 naa-resources.yaml CloudFormation 模板中的定义,此脚本将自动部署到 EC2 实例上的/usr/local/naa文件夹。

  • naa-resources.yaml — 您可以使用此 CloudFormation 模板在组织的安全账户中创建堆栈。此模板部署了该账户所需所有资源,以支持此解决方案。此堆栈必须在 naa-execrole.yaml 模板之前部署。

    注意:如果删除并重新部署此堆栈,则必须重新构建 NAAExecRole 堆栈集,以便重新构建 IAM 角色之间的跨账户依赖关系。

  • naa-execrole.yaml — 您可以使用此 CloudFormation 模板创建堆栈集,该堆栈集可在组织中的所有账户(包括管理账户)中部署 NAAExecRole IAM 角色。

  • naa-processfindings.py - naa-script.sh 脚本会自动调用此 Python 脚本来处理网络访问分析器 JSON 输出,排除 naa-exclusions.csv 文件中任何已知良好的资源,然后生成合并结果的 CSV 文件或将结果导入 Security Hub。

操作说明

任务描述所需技能

克隆代码存储库。

  1. 在命令行界面中,将工作目录更改为要存储示例文件的位置。

  2. 输入以下 命令。

    git clone https://github.com/aws-samples/network-access-analyzer-multi-account-analysis.git

AWS DevOps

查看模板

  1. 在克隆的存储库中,打开 naa-resources.yamlnaa-execrole.yaml 文件。

  2. 查看由这些模板创建的资源,并按您的环境需要调整模板。有关更多信息,请参阅 CloudFormation 文档中的使用模板

  3. 保存并关闭 naa-resources.yamlnaa-execrole.yaml 文件。

AWS DevOps
任务描述所需技能

在安全账户中预置资源。

使用 naa-resources.yaml 模板,您可以创建一个 CloudFormation 堆栈,用于在安全账户中部署所有必需的资源。有关说明,请参阅 CloudFormation 文档中的创建堆栈。部署此模板时应注意以下几点:

  1. 指定模板页面上,选择模板已准备就绪,然后上传 naa-resources.yaml 文件。

  2. 指定堆栈详细信息页面上的堆栈名称框中,输入 NAA-Resources

  3. 参数部分中,输入以下内容:

    • VPCId - 在账户中选择一个 VPC。

    • SubnetId ­- 选择可以访问 Internet 的私有子网。

      注意:如果您选择公有子网,则可能不会为 EC2 实例分配公有 IP 地址,因为默认情况下, CloudFormation 模板不会预配置和附加弹性 IP 地址。

    • InstanceType - 保留默认实例类型。

    • InstanceImageId - 保留默认值。

    • KeyPairName - 如果您使用 SSH 进行访问,请指定现有密钥对的名称。

    • PermittedSSHInbound - 如果您使用 SSH 进行访问,请指定允许的 CIDR 块。如果不使用 SSH,请保留默认值 127.0.0.1

    • BucketName – 默认值为 naa-<accountID>-<region>。您可以根据需要进行修改。如果指定自定义值,则账户 ID 和区域会自动追加到指定值。

    • EmailAddress - 在分析完成后指定 Amazon SNS 通知的电子邮件地址。

      注意:在完成分析之前,必须确认 Amazon SNS 已订阅配置,否则不会发送通知。

    • NAAEC2Role - 保留默认值,除非您的命名约定要求此 IAM 角色使用不同的名称。

    • NAAExecRole - 保留默认值,除非在部署 naa-execrole.yaml 时使用其他名称

    • Parallelism - 指定要执行的并行评测的数量。

    • Regions - 指定要分析的 AWS 区域。

    • ScopeNameValue - 指定将分配给范围的标记。该标签用于确定网络访问范围。

    • ExclusionFile - 指定排除文件名。此文件中的条目将从结果中排除。

    • FindingsToCSV - 指定是否应将结果输出到 CSV。接受的值为 truefalse

    • FindingsToSecurityHub - 指定是否应将结果导入 Security Hub。接受的值为 truefalse

    • EmailNotificationsForSecurityHub - 指定将结果导入 Security Hub 是否应生成电子邮件通知。接受的值为 truefalse

    • ScheduledAnalysis - 如果希望解决方案按计划自动运行,请输入 true,然后在 CronScheduleExpression 参数中自定义计划。如果不想自动运行解决方案,请输入 false

    • CronScheduleExpression - 如果自动运行解决方案,请输入 cron 表达式来定义计划。有关更多信息,请参阅此模式的架构部分中的自动化和扩缩

  1. 在 “查看” 页面上,选择 “以下资源需要能力:[AWS::IAM::Role]”,然后选择 “创建堆栈”。

  2. 成功创建堆栈后,在 CloudFormation 控制台的输出选项卡上,复制 NAAEC2Role Amazon 资源名称 (ARN)。您稍后在部署 naa-execrole.yaml 文件时将会使用此 ARN。

AWS DevOps

在成员账户中预置 IAM 角色。

在 AWS Organizations 管理账户或具有委托管理员权限的账户中 CloudFormation,使用 naa-execrole.yaml 模板创建堆栈集。 CloudFormation 堆栈集在组织中的所有成员账户中部署 NAAExecRole IAM 角色。有关说明,请参阅 CloudFormation 文档中的使用服务管理权限创建堆栈集。部署此模板时应注意以下几点:

  1. 准备模板下,选择模板已准备就绪,然后上传 naa-execrole.yaml 文件。

  2. 在 “指定 StackSet 详细信息” 页面上,为堆栈集命名NAA-ExecRole

  3. 参数部分中,输入以下内容:

    • AuthorizedARN - 输入您在创建 NAA-Resources 堆栈时复制的 NAAEC2Role ARN。

    • NAARoleName - 保留默认值 NAAExecRole,除非在部署 naa-resources.yaml 文件时使用了其他名称。

  4. 权限下方,选择服务托管权限

  5. 设置部署选项页面上,在部署目标下,选择部署到组织并接受所有默认设置。

    注意:如果您希望堆栈同时部署到所有成员账户,请将最大并发账户数容错能力设置为较高的值,例如 100。

  6. 部署区域下,选择部署网络访问分析器的 EC2 实例的区域。由于 IAM 资源是全局资源而不是区域资源,因此这会在所有活动区域中部署 IAM 角色。

  7. 在 “查看” 页面上,选择 “我确认 AWS CloudFormation 可能会使用自定义名称创建 IAM 资源”,然后选择 “创建” StackSet。

  8. 监控堆栈实例选项卡(用于单个账户状态)和操作选项卡(用于整体状态)以确定部署何时完成。

AWS DevOps

在管理账户中预置 IAM 角色。

使用 naa-execrole.yaml 模板,您可以创建一个 CloudFormation 堆栈,用于在组织的管理账户中部署 NAAExecRole IAM 角色。您之前创建的堆栈集不在管理账户中部署 IAM 角色。有关说明,请参阅 CloudFormation 文档中的创建堆栈。部署此模板时应注意以下几点:

  1. 指定模板页面上,选择模板已准备就绪,然后上传 naa-execrole.yaml 文件。

  2. 指定堆栈详细信息页面上的堆栈名称框中,输入 NAA-ExecRole

  3. 参数部分中,输入以下内容:

    • AuthorizedARN - 输入您在创建 NAA-Resources 堆栈时复制的 NAAEC2Role ARN。

    • NAARoleName - 保留默认值 NAAExecRole,除非在部署 naa-resources.yaml 文件时使用了其他名称。

  4. 在 “查看” 页面上,选择 “以下资源需要能力:[AWS::IAM::Role]”,然后选择 “创建堆栈”。

AWS DevOps
任务描述所需技能

自定义 shell 脚本。

  1. 登录到组织中的安全账户。

  2. 使用会话管理器,连接到您之前预置的网络访问分析器的 EC2 实例。有关说明,请参阅使用会话管理器接到您的 Linux 实例 如果您无法连接,请参阅此模式的故障排除部分。

  3. 输入以下命令以打开 naa-script.sh 文件进行编辑。

    sudo -i cd /usr/local/naa vi naa-script.sh
  4. 根据您的环境需要,查看和修改此脚本中的可调参数和变量。有关自定义选项的更多信息,请参阅脚本开头的注释。

    例如,您可以修改脚本以指定要扫描的 Amazon Web Services account ID 或 AWS 区域,而不是从管理账户获取组织中所有成员账户的列表,也可以引用包含这些参数的外部文件。

  5. 保存并关闭 naa-script.sh 文件。

AWS DevOps

分析目标账户。

  1. 输入以下命令。这将运行 naa-script.sh 脚本。

    sudo -i cd /usr/local/naa screen ./naa-script.sh

    请注意以下几点:

    • screen 命令允许脚本在连接超时或您失去控制台访问权限时继续运行。

    • 扫描开始后,可以通过按 Ctrl+A D 强制分离屏幕。屏幕将分离,您可以在分析进行时关闭实例连接。

    • 要恢复已分离的会话,请连接至实例,输入 sudo -i,然后输入 screen -r

  2. 监控输出中是否存在任何错误,以确保脚本正常工作。有关示例查询,请参阅此模式的其他信息部分。

  3. 等待分析完成。如果您配置了电子邮件通知,则在结果上传到 S3 存储桶或导入 Security Hub 时,您会收到一封电子邮件。

AWS DevOps

选项 1 - 从 S3 存储桶中检索结果。

  1. naa-<accountID>-<region> 桶下载 CSV 文件。有关说明,请参阅 Amazon S3 文档中的下载对象

  2. 从 S3 存储桶中删除 CSV 文件。这是成本优化的最佳实践。有关说明,请参阅 Amazon S3 文档中的删除对象

AWS DevOps

选项 2 - 在 Security Hub 中查看结果。

  1. 通过以下网址 https://console.aws.amazon.com/securityhub/ 打开 Security Hub 控制台。

  2. 从导航窗格中选择调查发现

  3. 查看网络访问分析器的调查发现。有关说明,请参阅 Security Hub 文档中的查看调查发现列表和详细信息

    注意:您可以通过添加标题以过滤器开头并输入 Network Access Analyzer 来搜索结果。

AWS DevOps
任务描述所需技能

纠正发现的问题。

纠正您想要解决的任何问题。有关如何围绕 AWS 身份、资源和网络创建边界的更多信息和最佳实践,请参阅在 AWS 上构建数据边界(AWS 白皮书)。

AWS DevOps

排除具有已知良好网络路径的资源。

如果网络访问分析器生成应可从互联网访问的资源的调查发现,则可以将这些资源添加到排除列表中。下次运行网络访问分析器时,它不会为该资源生成调查发现。

  1. 导航到 /usr/local/naa,然后打开 naa-script.sh 脚本。记下 S3_EXCLUSION_FILE 变量的值。

  2. 如果 S3_EXCLUSION_FILE 变量的值为 true,请从 naa-<accountID>-<region> 桶下载 naa-exclusions.csv 文件。有关说明,请参阅 Amazon S3 文档中的下载对象

    如果 S3_EXCLUSION_FILE 变量的值为 false,请导航到 /usr/local/naa,然后打开 naa-exclusions.csv 文件。

    注意:如果 S3_EXCLUSION_FILE 变量的值为 false,则脚本使用排除文件的本地版本。如果您稍后将该值更改为 true,则脚本将使用 S3 存储桶中的文件覆盖本地版本。

  3. naa-exclusions.csv 文件中,输入要排除的资源。在每行中输入一个资源,并使用以下格式。

    <resource_id>,<secgroup_id>,<sgrule_cidr>,<sgrule_portrange>,<sgrule_protocol>

    以下为资源示例。

    eni-1111aaaaa2222bbbb,sg-3333ccccc4444dddd,0.0.0.0/0,80 to 80,tcp

  4. 保存并关闭 naa-exclusions.csv 文件。

  5. 如果您从 S3 存储桶下载了 naa-exclusions.csv 文件,请上传新版本。有关说明,请参阅 Amazon S3 文档中的上传对象

AWS DevOps
任务描述所需技能

更新 naa-script.sh 脚本。

如果要将 naa-script.sh 脚本更新到存储库中的最新版本,请执行以下操作:

  1. 使用会话管理器连接到 EC2 实例 有关说明,请参阅使用会话管理器连接到 Linux 实例

  2. 输入以下 命令。

    sudo -i
  3. 导航到 naa-script.sh 脚本目录。

    cd /usr/local/naa
  4. 输入以下命令,以存储本地脚本,以便您可以将自定义更改合并到最新版本中。

    git stash
  5. 输入以下命令,下载最新版本的脚本。

    git pull
  6. 输入以下命令,将自定义脚本与最新版本的脚本合并。

    git stash pop
AWS DevOps
任务描述所需技能

删除所有已部署资源。

您可以将资源保留在账户中。

如果要取消预配所有资源,请执行以下操作:

  1. 删除管理账户中预置的 NAA-ExecRole 堆栈。有关说明,请参阅 CloudFormation 文档中的删除堆栈

  2. 删除在组织的管理账户或委托管理员账户中预置的 NAA-ExecRole 堆栈集。有关说明,请参阅 CloudFormation 文档中的删除堆栈集

  3. 删除 naa-<accountID>-<region> S3 存储桶中的所有对象。有关说明,请参阅 Amazon S3 文档中的删除对象

  4. 删除安全账户中预置的 NAA-Resources 堆栈。有关说明,请参阅 CloudFormation 文档中的删除堆栈

AWS DevOps

故障排除

问题解决方案

无法使用会话管理器连接到 EC2 实例。

SSM 代理必须能够与 Systems Manager 端点通信。执行以下操作:

  1. 验证部署 EC2 实例的子网是否具有互联网访问权限。

  2. 重启 EC2 实例。

部署堆栈集时, CloudFormation 控制台会提示您这样做Enable trusted access with AWS Organizations to use service-managed permissions

这表明尚未在 AWS Organizations 和之间启用可信访问 CloudFormation。部署服务托管堆栈集需要可信访问权限。选择该按钮以启用受信任的访问。有关更多信息,请参阅 CloudFormation 文档中的启用可信访问

相关资源

其他信息

控制台输出示例

以下示例显示了生成目标账户列表和分析目标账户的输出。

[root@ip-10-10-43-82 naa]# ./naa-script.sh download: s3://naa-<account ID>-us-east-1/naa-exclusions.csv to ./naa-exclusions.csv AWS Management Account: <Management account ID> AWS Accounts being processed... <Account ID 1> <Account ID 2> <Account ID 3> Assessing AWS Account: <Account ID 1>, using Role: NAAExecRole Assessing AWS Account: <Account ID 2>, using Role: NAAExecRole Assessing AWS Account: <Account ID 3>, using Role: NAAExecRole Processing account: <Account ID 1> / Region: us-east-1 Account: <Account ID 1> / Region: us-east-1 – Detecting Network Analyzer scope... Processing account: <Account ID 2> / Region: us-east-1 Account: <Account ID 2> / Region: us-east-1 – Detecting Network Analyzer scope... Processing account: <Account ID 3> / Region: us-east-1 Account: <Account ID 3> / Region: us-east-1 – Detecting Network Analyzer scope... Account: <Account ID 1> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 1> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour Account: <Account ID 2> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 2> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour Account: <Account ID 3> / Region: us-east-1 – Network Access Analyzer scope detected. Account: <Account ID 3> / Region: us-east-1 – Continuing analyses with Scope ID. Accounts with many resources may take up to one hour

CSV 报告示例

下图是 CSV 输出的示例。

此解决方案生成的 CSV 报告的示例 1。

此解决方案生成的 CSV 报告的示例 2。