卡巴斯基容器安全

添加与外部镜像仓库的集成

集成的仓库仅支持直接包含镜像的本地镜像存储库。在版本 1.2 中,卡巴斯基容器安全不支持使用远程或虚拟存储库。

要添加与外部仓库的集成:

  1. 在“管理集成镜像仓库”部分中,单击“添加仓库”按钮

    将打开集成设置窗口。

  2. 在“仓库详细信息”选项卡上,指定连接到仓库的设置:
    1. 输入仓库的名称。
    2. 如果需要,请输入仓库的描述。
    3. 从下拉列表中选择仓库类型。卡巴斯基容器安全支持以下类型的仓库:
      • Harbor(使用 Harbor V2 API 进行集成)。
      • GitLab Registry(使用 GitLab Container Registry API 进行集成)。
      • JFrog Artifactory(使用 JFrog API 进行集成)。
      • Sonatype Nexus Repository OSS(使用 Nexus API 进行集成)。
      • Yandex Registry(使用 Yandex Container Registry API 进行集成)。
      • Docker Hub(使用 Docker Hub API 进行集成)。
      • Docker Registry(使用 Docker V2 API 进行集成)。

      如果您正在配置与 Sonatype Nexus Repository OSS、Harbor、JFrog Artifactory(使用端口或子域)或 Yandex Registry 的集成,可以使用 Docker V2 API 访问 Docker 仓库。与 GitLab Registry、Docker Hub 和 JFrog Artifactory 进行集成(通过存储库路径) 不受支持。

    4. 如果您设置了 JFrog Artifactory 注册表集成,请在“存储库路径”方法下拉列表中选择以下方法之一来访问 Docker:
      • 存储库路径
      • 子域
      • 端口
    5. 如果您配置与 JFrog Artifactory、Harbor、GitLab Registry、Sonatype Nexus Repository OSS 或 Docker Registry 等仓库的集成,请输入直接指向容器仓库的完整仓库网址 (URL)。我们建议使用 HTTPS 连接(也支持 HTTP 连接)。

      如果使用 HTTP 或者带自签名证书或无效证书的 HTTPS,则应在安装了服务器和扫描器的节点上选中 Docker 引擎的不安全仓库框。

    6. 如果您配置与 JFrog Artifactory、Harbor、GitLab Registry 和 Sonatype Nexus Repository OSS 等仓库的集成,请输入直接指仓库 API 的完整仓库网址 (URL)。
    7. 选择一种身份验证方法并指定必要的数据,如下所示:
      • 如果您配置与 GitLab Registry 等仓库的集成,请选择使用帐户或访问令牌进行身份验证。
      • 如果您配置与 Yandex Registry 等仓库的集成,请选择使用 API 密钥(Yandex OAuth 令牌)或使用用户名和令牌进行身份验证。使用 Yandex OAuth 令牌时,为用户名指定oauth;使用 Yandex IAM 令牌时,为用户名指定iam
      • 对于 Sonatype Nexus Repository OSS 和 Docker Hub 等仓库,仅使用账户进行身份验证。
      • 对于像 Harbor 这样的仓库,只允许使用用户或机器人的账户进行身份验证。
      • 对于Docker Registry 这样的仓库,身份验证仅使用用户名和密码进行,用户名和密码由 Docker V2 API 提供。
  3. 转到“镜像扫描详细信息”选项卡,并指定扫描此仓库中镜像的扫描超时(以分钟为单位)。

    如果镜像扫描持续时间超过指定时间,扫描将停止,并且镜像将返回扫描队列。解决方案会将镜像重新排队最多 3 次。这意味着扫描仓库中镜像所需的时间可能会增加两倍。

  4. 配置仓库的镜像拉取和扫描设置。默认情况下,在“拉取并扫描镜像”中已选择“手动”选项:镜像不会自动从仓库中拉取,但用户可以手动将镜像添加到镜像列表中进行扫描。新镜像会自动排队等待扫描。

    如果您希望自动从仓库中拉取镜像并使其排队等待扫描,请在“拉取并扫描镜像”中选择“自动”,并配置镜像拉取和扫描的设置。以下选项可用:

    • 扫描超时 – 一组用于确定从仓库中拉取镜像进行扫描的频率的设置。根据部署了卡巴斯基容器安全服务器的节点上的时间来指定该时间。
    • 重新扫描镜像 – 如果选中此框,则每次扫描新镜像时都会重新扫描之前从仓库中拉取的镜像。
    • 名称/标签标准 – 您可以使用名称标准和/或镜像标签模式来指定要拉取和扫描的镜像。如果选中此框,则卡巴斯基容器安全将仅拉取与指定模式匹配的镜像并进行扫描。

      您可以按以下模式使用条件:

      • 按镜像名称和标签 – <名称><:标签>
      • 仅按镜像名称 – <名称>
      • 仅按镜像标签 – <:标签>

      例如:

      • 对于 alpine 模式,所有名称为“alpine”的镜像都会被拉取,无论标签为何;
      • 对于 4 模式,所有带有标签 4 的镜像都会被拉取,无论镜像名称为何;
      • 对于 alpine:4 模式,所有名称为“alpine”且带有标签 4 的镜像都会被拉取。

      生成标准时,可以使用 * 字符来替代任意数量的字符。

      要添加标准,请在字段中输入该条件,然后单击“添加”按钮。您可以添加一项或多项标准。

    • 镜像拉取的附加条件。
      • 如果不需要附加条件,请选择“无附加条件
      • 期间内创建的镜像 – 如果您希望仅拉取在特定期间(指定天数、月数或年数)内创建的镜像,请选择此选项。在右侧字段中指定期间长度和计量单位。默认情况下,期间为 60 天。
      • 最新 – 如果您希望仅拉取带有最新标签的镜像(从镜像创建日期算起),请选择此选项。在右侧字段中,指定要考虑的最新标签数量。
    • 从不拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,这些镜像将从拉取和扫描中排除。
    • 始终拉取具有名称/标签模式的镜像 – 使用您可以指定的镜像名称/标签模式,始终拉取和扫描这些镜像,无论上面设置的其他条件如何。
  5. 单击“测试连接”以查看是否可以建立与仓库的连接。
  6. 单击窗口顶部的“保存”按钮保存仓库集成设置。