View a markdown version of this page

了解资源层次结构和生命周期 - AWS 安全代理

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

了解资源层次结构和生命周期

AWS Security Agent 以分层结构组织安全测试资源,该结构决定了组织中共享的内容以及每个应用程序的作用范围。了解此结构有助于您有效地配置 AWS 安全代理,并知道在哪里可以找到和管理不同的资源。

在整个组织中共享的内容

AWS Security Agent 中的某些资源只需在组织级别配置一次,即可应用于您的所有应用程序和代理空间。这些租户级资源可提供一致性并减少重复的配置工作。

资源 什么是 为什么要共享

安全要求

组织安全标准,用于定义 AWS 安全代理在设计和代码审查期间验证的内容

您的安全策略适用于所有应用程序。只需定义一次,AWS 安全代理即可在任何地方强制执行它们。

GitHub 集成

授权连接 AWS 安全代理的注册 GitHub 组织或用户账户

只需注册一次 GitHub 组织即可,然后根据需要将特定存储库连接到任何代理空间。

IAM 身份中心配置

控制用户如何访问 AWS 安全代理的 SSO 设置

集中式身份管理适用于组织中的所有座席空间。

重要

安全要求的更改会影响所有 Agent Spaces 未来的所有设计审查和代码审查。现有评论不受影响。

每个特工空间的作用域有多大

每个 Agent Space 代表你想要保护的不同应用程序或项目。Agent Space 级别的资源仅限于该特定应用程序,允许不同的团队独立使用自己的配置和评估。

资源 什么是 为什么每个应用程序都有其作用域

渗透测试配置

测试应用程序中特定功能、API 端点或功能的配置

每个应用程序都有唯一的目标、身份验证方法和特定于该应用程序的范围界限。

设计评论

对设计文件进行单独的建筑安全评估

每个应用程序都有自己的架构和设计文档,这些文档需要经过独立评估。

威胁模型

威胁建模评估,用于构建系统概述并识别源代码、设计文档或两者兼而有之的威胁

每个应用程序都有自己的代码和设计,并且是独立建模的威胁。威胁模型是可重复使用的配置,您可以随着代码和设计的发展而重新运行这些配置。

集成

连接到该代理空间的来源和文档提供商(GitHub、 GitLab、Bitbucket、E GitHub nterprise Server 和 Confluence)

不同的应用程序依赖于不同的来源和文档。在 Agent Space 级别连接它们可以保持应用程序界限畅通。

代码审查设置

配置代码审查功能,包括连接的来源、扫描设置和公关评论启用

每个应用程序都有自己的存储库和独立配置的安全审查需求。

渗透测试修复设置

配置哪些连接的存储库可以接收渗透测试结果的自动修复拉取请求

团队可以根据其应用程序的工作流程控制 AWS 安全代理在何处提交代码更改。

用户分配

有权访问此特定代理空间的用户

团队只能看到他们负责的应用程序的安全评估,从而使工作井井有条,重点突出。

提示

我们建议为每个应用程序或项目创建一个代理空间,以保持团队之间的明确界限并有效地组织安全评估。

GitHub 存储库如何融入层次结构

GitHub 存储库通过将组织资源连接到特定应用程序的多步骤过程进行集成:

  1. 在租户级别注册-为您的 GitHub 组织或用户账户授权 AWS 安全代理 GitHub 应用程序一次

  2. 在代理空间级别连接-选择要连接到每个代理空间的特定存储库

  3. 配置每个存储库的使用情况-为每个连接的存储库启用特定功能:

    • 代码审查-完整的源代码扫描和自动拉取请求分析

    • 渗透测试上下文-渗透测试期间从源代码中理解应用程序

    • 自动代码修复-自动拉取请求包含漏洞修复,用于代码审查和渗透测试结果

单个存储库可以连接到多个代理空间,每个代理空间都启用了不同的功能。

安全功能之间的主要区别

AWS Security Agent 中的每项安全功能都遵循不同的工作流程模型,具体取决于安全团队的使用方式。

渗透测试:可重复使用的配置,可独立执行

渗透测试使用支持迭代安全测试的配置和运行模型:

  • 一次创建,多次执行-使用范围边界、身份验证和测试参数为特定目标(API 端点、功能区域)定义配置

  • 独立执行-在提高安全性的同时,多次执行相同的配置。每次执行都是独立的,会产生新的发现

此模型支持在开发和部署改进措施时持续进行安全验证。

设计审查:使用克隆 One-off 进行评估

设计审查是独立评估,不遵循可重复使用的配置模型:

  • 单一评估-每次设计评审都会根据贵组织的安全要求对上传的文档进行一次分析

  • 无法重新运行-设计评审不可重复使用。您无法重新进行相同的审查

  • 克隆以进行更新-克隆现有设计评审以创建预加载原始文档的新审阅,允许您更新文档并运行新的分析

此模型支持时间点架构安全评估。

代码审查:可重复使用的配置,包括按需扫描和自动 PR 分析

代码审查提供了两种操作模式来保护您的源代码:

  • 完整代码审查(Web 应用程序)-创建用于选择 GitHub 存储库或 S3 源的代码审查配置,然后按需运行全面扫描。每次运行都会对您的完整源代码进行静态分析,并生成带有补救指南的结果。随着代码的发展,您可以重新运行相同的代码审查配置。

  • 拉取请求评论 (GitHub)-启用对关联 GitHub 存储库的自动分析。当拉取请求被标记为可供审查时,AWS Security Agent 会自动对其进行审查,并将安全发现作为评论直接发布到中 GitHub。

这两种模式都使用您配置的代码审查设置(安全漏洞、自定义要求或两者兼而有之),并支持通过拉取请求进行自动代码修复。

威胁模型:可重复使用的配置,可按需运行

威胁模型使用支持对您的架构进行迭代评估的配置和运行模型:

  • 一次创建,多次运行 — 通过选择源代码作为来源、将设计文档作为范围文档上传或两者兼而有之,来定义威胁模型。按需运行它,并随着代码和设计的演变而重新运行。

  • 灵活的输入-仅对源代码运行威胁模型,仅对设计文档运行威胁模型,或两者兼而有之。范围文档定义了代理重点分析的内容;源代码提供了有关您现有系统的上下文。

  • 系统概述和威胁 — 每次运行都会生成系统概述,描述应用程序的架构、信任边界、数据流和安全状况,以及按STRIDE类别分类的一组威胁,以及严重性、证据和可行的建议。

了解资源关系

层次结构决定了您在何处配置和访问不同资源:

在 AWS 管理控制台中:

  • 配置租户级资源(安全要求、 GitHub 集成、IAM 身份中心)

  • 创建和管理代理空间

  • 配置 Agent Space 设置(连接的存储库、启用代码审查、渗透测试补救)

在安全客户端 Web 应用程序中:

  • 创建和管理渗透测试配置和测试执行

  • 创建和管理设计评审

  • 针对连接的存储库和 S3 源创建、管理和运行代码审查

  • 针对源代码、范围文档或两者创建、管理和运行威胁模型

  • 查看渗透测试、代码审查、设计审查和威胁模型的发现

在 GitHub:

  • 以拉取请求评论的形式查看拉取请求代码审查结果

  • 接收自动修复拉取请求,以获取代码审查和渗透测试结果(在代理空间中启用后)

注意

拉取请求代码审查结果显示在 GitHub。完整的代码审查、渗透测试和设计审查结果显示在安全客户端 Web 应用程序中。