选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Amazon Inspector Jenkins 插件

聚焦模式
使用 Amazon Inspector Jenkins 插件 - Amazon Inspector

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

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

这些区域有:Jenkins 插件利用 Amazon Inspector SBOM 生成器二进制文件和 Amazon Inspector Scan API 在构建结束时生成详细的报告,因此你可以在部署之前调查和修复风险。有了 Amazon Inspector Jenkins 插件,你可以将 Amazon Inspector 漏洞扫描添加到你的 Jenkins 管道。可以根据检测到的漏洞数量和严重性将 Amazon Inspector 漏洞扫描配置为使管道执行通过或失败。您可以查看最新版本的 Jenkins 插件在 Jenkins 市场网址为 https://plugins.jenkins.io/amazon-inspector-image-scanner/。以下步骤描述了如何设置 Amazon Inspector Jenkins 插件。

重要

在完成以下步骤之前,必须将 Jenkins 升级到 2.387.3 或更高版本才能运行该插件。

第 1 步:设置一个 AWS 账户

AWS 账户 使用允许访问 Amazon Inspector Scan API 的 IAM 角色进行配置。有关说明,请参阅 设置 AWS 账户以使用 Amazon Inspector CI/CD 集成

第 2 步:安装 Amazon Inspector Jenkins 插件

以下过程描述了如何从中安装 Amazon Inspector Jenkins 插件 Jenkins 仪表板。

  1. 在 Jenkins 控制面板中,选择管理 Jenkins,然后选择管理插件

  2. 选择可用

  3. 可用选项卡中搜索 Amazon Inspector Scan 插件,然后安装该插件。

(可选)步骤 3。将 docker 凭据添加到 Jenkins

注意

仅当 docker 映像位于私有存储库中时,才添加 docker 凭证。否则,请跳过此步骤。

以下过程介绍如何将 docker 凭据添加到 Jenkins 来自 Jenkins 仪表板。

  1. 在 Jenkins 控制面板中,依次选择管理 Jenkins凭证系统

  2. 选择全局凭证,然后选择添加凭证

  3. 种类中,选择用户名和密码

  4. 对于范围,选择全局(Jenkins、节点、项目、所有子项目等)。

  5. 输入您的详细信息,然后选择确定

(可选)第 4 步。添加 AWS 凭证

注意

仅当您想要基于 IAM 用户进行身份验证时,才添加 AWS 证书。否则,请跳过此步骤。

以下过程介绍如何从中添加 AWS 证书 Jenkins 仪表板。

  1. 在 Jenkins 控制面板中,依次选择管理 Jenkins凭证系统

  2. 选择全局凭证,然后选择添加凭证

  3. 对于种类,请选择 AWS 凭证

  4. 输入您的详细信息,包括您的访问密钥 ID秘密访问密钥,然后选择确定

第 5 步。在 a 中添加 CSS 支持 Jenkins script

以下过程介绍如何在中添加 CSS 支持 Jenkins 脚本。

  1. 重启 Jenkins。

  2. 在控制面板中,选择管理 Jenkins节点内置节点,然后选择脚本控制台

  3. 在文本框中,添加行 System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""),然后选择运行

步骤 6. 将 Amazon Inspector Scan 添加到您的构建中

您可以通过在项目中添加构建步骤或使用 Amazon Inspector Scan 添加到您的版本中 Jenkins 声明式管道。

通过在项目中添加构建步骤将 Amazon Inspector Scan 添加到构建中。

  1. 在配置页面上,向下滚动到构建步骤,选择添加构建步骤。然后选择 Amazon Inspector Scan

  2. 在两种 inspector-sbomgen 安装方法之间进行选择:自动手动。自动选项允许插件下载最新版本。它还可确保您始终拥有最新的功能、安全更新和错误修复。

    1. (选项 1)选择自动以下载 inspector-sbomgen 的最新版本。此选项会自动检测当前正在使用的操作系统和 CPU 架构。

    2. (选项 2)如果您要设置 Amazon Inspector SBOM 生成器二进制文件进行扫描,请选择手动。如果您选择这种方法,请确保提供之前下载的 inspector-sbomgen 版本的完整路径。

    有关更多信息,请参阅在 Amazon Inspector SBOM 生成器安装 Amazon Inspector SBOM 生成器(Sbomgen)

  3. 完成以下操作以完成 Amazon Inspector 扫描构建步骤的配置:

    1. 输入映像 ID。映像可以是本地映像、远程映像或归档映像。图片名称应紧随其后 Docker 命名惯例。如果要分析导出的映像,请提供预期的 tar 文件的路径。请参阅下列示例映像 ID 路径:

      1. 对于本地或远程容器:NAME[:TAG|@DIGEST]

      2. 对于 tar 文件:/path/to/image.tar

    2. 选择用于发送扫描请求的 AWS 区域

    3. (可选)在 Rep ort Artifactic 名称中,输入生成过程中生成的对象的自定义名称。这有助于对它们进行唯一的识别和管理。

    4. (可选)对于 “跳过文件”,请指定要从扫描中排除的一个或多个目录。对于因大小而不需要扫描的目录,可以考虑使用此选项。

    5. (可选)要获取 Docker 凭证,请选择您的 Docker 用户名。仅当容器映像位于私有存储库中时才执行此操作。

    6. (可选)您可以提供以下支持的 AWS 身份验证方法:

      1. (可选)对于 IAM 角色,请提供角色 ARN (arn: aws: iam:: role/)。AccountNumber RoleName

      2. (可选)对于 AWS 证书,请根据 IAM 用户指定要进行身份验证的 AWS 证书。

      3. (可选)对于 AWS 配置文件名称,请提供要使用配置文件名称进行身份验证的配置文件的名称。

    7. (可选)选择启用漏洞阈值。使用此选项,您可以确定如果扫描的漏洞超过某个值,您的构建是否会失败。如果所有值都相等0,则无论扫描了多少漏洞,构建都会成功。对于 EPSS 分数,该值可以介于 0 到 1 之间。如果扫描的漏洞超过某个值,则构建将失败,并且所有 CVEs EPSS 分数高于该值的漏洞都会显示在控制台中。

  4. 选择保存

使用 Amazon Inspector Scan 添加到你的版本中 Jenkins 声明式管道

您可以使用 Jenkins 声明式管道自动或手动将 Amazon Inspector Scan 添加到您的构建中。

自动下载 SBOMGen 声明式管道
  • 要将 Amazon Inspector Scan 添加到构建中,请使用以下示例语法。根据你首选的 Amazon Inspector SBOM 生成器下载操作系统架构,替换为 SBOMGEN_SOURCE LinuxAMD64 或 LinuxArm64。IMAGE_PATH替换为映像路径(例如alpine:latest)、IAM_ROLE您在步骤 1 中配置的 IAM 角色的 ARN 以及ID您的 Docker 凭证 ID(如果您使用的是私有存储库)。您可以选择启用漏洞阈值并为每个严重性指定值。

pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenSource: 'SBOMGEN_SOURCE', // this can be linuxAmd64 or linuxArm64 archivePath: 'IMAGE_PATH', awsRegion: 'REGION', iamRole: 'IAM ROLE', credentialId: 'Id', // provide empty string if image not in private repositories awsCredentialId: ''AWS ID;', awsProfileName: 'Profile Name', isThresholdEnabled: false, countCritical: 0, countHigh: 0, countLow: 10, countMedium: 5, ]) } } } } }
手动下载 SBOMGen 声明式管道
  • 要将 Amazon Inspector Scan 添加到构建中,请使用以下示例语法。SBOMGEN_PATH替换为您在步骤 3 中安装的 Amazon Inspector SBOM 生成器的路径、IMAGE_PATH映像的路径(例如alpine:latest)、IAM_ROLE您在步骤 1 中配置的 IAM 角色的 ARN 以及您的 ARN 以及您的 ID Docker 凭证 ID(如果您使用的是私有存储库)。您可以选择启用漏洞阈值并为每个严重性指定值。

注意

地点 Sbomgen 在 Jenkins 目录中,并在插件中提供 Jenkins 目录的路径(例如/opt/folder/arm64/inspector-sbomgen)。

pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenPath: 'SBOMGEN_PATH', archivePath: 'IMAGE_PATH', awsRegion: 'REGION', iamRole: 'IAM ROLE', awsCredentialId: ''AWS ID;', credentialId: 'Id;', // provide empty string if image not in private repositories awsProfileName: 'Profile Name', isThresholdEnabled: false, countCritical: 0, countHigh: 0, countLow: 10, countMedium: 5, ]) } } } } }

第 7 步。查看 Amazon Inspector 漏洞报告

  1. 完成项目的新构建。

  2. 构建完成后,从结果中选择一种输出格式。如果选择 HTML 格式,您可以选择下载 JSON SBOM 或 CSV 版本的报告。下面显示了一个 HTML 报告的示例:

Amazon Inspector 漏洞报告示例。

故障排除

以下是您在使用 Amazon Inspector Scan 插件时可能遇到的常见错误 Jenkins.

无法加载凭证或 sts 异常错误

错误:

InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.

解决办法

aws_secret_access_key获取aws_access_key_id并使用您的 AWS 帐户。在 ~/.aws/credentials 中设置 aws_access_key_idaws_secret_access_key

无法从 tarball、本地或远程来源加载映像

错误:

2024/10/16 02:25:17 [ImageDownloadFailed]: failed to load image from tarball, local, or remote sources.

注意

如果 Jenkins 插件无法读取容器镜像,在中找不到容器镜像,则可能会发生此错误 Docker engine,并且在远程容器注册表中找不到容器镜像。

解决方案:

请验证以下内容:

  • Jenkins 插件用户对您希望扫描的映像具有读取权限。

  • 您要扫描的图像存在于 Docker 发动机。

  • 您的远程映像 URL 正确。

  • 您已向远程注册表进行身份验证(如果适用)。

Inspector-sbomgen 路径错误

错误:

Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?

解决方案:

要解决此问题,请完成以下步骤。

  1. 放置正确的操作系统架构 Inspector-sbomgen Jenkins 目录有关更多信息,请参阅 Amazon Inspector SBOM 生成器

  2. 使用以下命令为该二进制文件授予可执行权限:chmod +x inspector-sbomgen

  3. 提供正确的 Jenkins 插件中的计算机路径,例如/opt/folder/arm64/inspector-sbomgen

  4. 保存配置,然后执行 Jenkins 工作。

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。