

# 使用 Amazon Inspector 自动执行 Lambda 的安全评测
<a name="governance-code-scanning"></a>

 [Amazon Inspector](https://aws.amazon.com/inspector/) 是一项漏洞管理服务，可持续扫描您的工作负载，查找已知的软件漏洞和意外的网络暴露。Amazon Inspector 会创建调查发现，该调查发现将描述漏洞，确定受影响的资源，对漏洞的严重性进行评级，并提供补救指导。

Amazon Inspector 支持可为 Lambda 函数和层提供持续、自动的安全漏洞评测。Amazon Inspector 提供两种 Lambda 扫描类型：
+ **Lambda 标准扫描（默认）：**扫描 Lambda 函数及其层中的应用程序依赖项，以便查找[程序包漏洞](https://docs.aws.amazon.com/inspector/latest/user/findings-types.html#findings-types-package)。
+ **Lambda 代码扫描：**扫描函数中及其层中的自定义应用程序代码，以便查找[代码漏洞](https://docs.aws.amazon.com/inspector/latest/user/findings-types.html#findings-types-code)。您可以单独激活 Lambda 标准扫描，也可以同时激活 Lambda 标准扫描和 Lambda 代码扫描。

要启用 Amazon Inspector，请导航到 [Amazon Inspector 控制台](https://console.aws.amazon.com/inspector/)，展开**设置**部分，然后选择**账户管理**。在**账户**选项卡上，选择**激活**，然后选择其中一个扫描选项。

在设置 Amazon Inspector 时，您可以为多个账户启用 Amazon Inspector，并将该组织的 Amazon Inspector 管理权限委托给特定账户。启用时，您需要通过创建角色 `AWSServiceRoleForAmazonInspector2` 来授予 Amazon Inspector 权限。您可以通过 Amazon Inspector 控制台使用一键式选项创建此角色。

对于 Lambda 标准扫描，Amazon Inspector 会在以下情况下对 Lambda 函数启动漏洞扫描：
+ Amazon Inspector 发现现有 Lambda 函数时。
+ 部署新的 Lambda 函数时。
+ 部署现有 Lambda 函数或其层的应用程序代码或依赖项更新时。
+ Amazon Inspector 在其数据库中添加新的常见脆弱性和风险 (CVE) 项目，且该 CVE 与您的函数相关时。

对于 Lambda 代码扫描，Amazon Inspector 会使用自动推理和机器学习来评估 Lambda 函数应用程序代码，分析应用程序代码的总体安全合规性。如果 Amazon Inspector 在 Lambda 函数应用程序代码中检测到漏洞，Amazon Inspector 会生成详细的**代码漏洞**的调查发现。有关可能的检测的列表，请参阅 [Amazon CodeGuru Detector Library](https://docs.aws.amazon.com/codeguru/detector-library/)。

要查看调查发现，请前往 [Amazon Inspector 控制台](https://console.aws.amazon.com/inspector/)。在**调查发现**菜单上，选择**按 Lambda 函数**，以显示对 Lambda 函数执行的安全扫描结果。

要从标准扫描中排除 Lambda 函数，请使用以下键值对标记函数：
+ `Key:InspectorExclusion`
+ `Value:LambdaStandardScanning`

要从代码扫描中排除 Lambda 函数，请使用以下键值对标记函数：
+ `Key:InspectorCodeExclusion`
+ `Value:``LambdaCodeScanning`

例如，如下图所示，Amazon Inspector 会自动检测漏洞并将发现的漏洞归类为**代码漏洞**类型，这表明漏洞存在于函数的代码中，而不是存在于某个依赖于代码的库中。您可以同时查看特定函数或多个函数的这些详细信息。

 ![\[Amazon Inspector finds vulnerabilities in Lambda code.\]](http://docs.aws.amazon.com/zh_cn/lambda/latest/dg/images/governance-code-scanning-1.png) 

您可以进一步深入了解这些调查发现，并学习如何补救问题。

 ![\[Amazon Inspector console displays code vulnerability details.\]](http://docs.aws.amazon.com/zh_cn/lambda/latest/dg/images/governance-code-scanning-2.png) 

在使用 Lambda 函数时，请确保遵守 Lambda 函数的命名约定。有关更多信息，请参阅 [使用 Lambda 环境变量](configuration-envvars.md)。

您应对自己接受的补救建议负责。在接受补救建议之前，请务必仔细审视这些建议。您可能需要对补救建议进行编辑，以确保代码符合您的预期。