Menu Close
Settings Close

Language and Page Formatting Options

2.6.4. 集成外部扫描

OpenShift Container Platform 使用对象注解来扩展功能。外部工具(如漏洞扫描程序)可以使用元数据为镜像对象添加注解,以汇总结果和控制 Pod 执行。本节描述了该注解的公认格式,以便在控制台中可靠使用它来为用户显示有用的数据。

2.6.4.1. 镜像元数据

镜像质量数据有多种不同的类型,包括软件包漏洞和开源软件 (OSS) 许可证合规性。另外,该元数据的供应商可能不止一个。为此,保留了以下注解格式:

quality.images.openshift.io/<qualityType>.<providerId>: {}

表 2.1. 注解键格式

组件描述可接受值

qualityType

元数据类型

vulnerability
license
operations
policy

providerId

供应商 ID 字符串

openscap
redhatcatalog
redhatinsights
blackduck
jfrog

2.6.4.1.1. 注解键示例
quality.images.openshift.io/vulnerability.blackduck: {}
quality.images.openshift.io/vulnerability.jfrog: {}
quality.images.openshift.io/license.blackduck: {}
quality.images.openshift.io/vulnerability.openscap: {}

镜像质量注解的值是必须遵循以下格式的结构化数据:

表 2.2. 注解值格式

字段必需?描述类型

name

供应商显示名称

字符串

timestamp

扫描时间戳

字符串

description

简短描述

字符串

reference

信息来源的 URL 或更多详细信息。必需,以便用户可以验证数据。

字符串

scannerVersion

扫描程序版本

字符串

compliant

合规性通过或未通过

布尔值

summary

找到的问题摘要

列表(请参阅下表)

summary 字段必须遵循以下格式:

表 2.3. Summary 字段值格式

字段描述类型

label

显示组件标签(例如:"critical"、"important"、"moderate"、"low" 或 "health")

字符串

data

此组件的数据(例如:发现的漏洞计数或分数)

字符串

severityIndex

组件索引,允许对图形表示进行排序和分配。该值范围为 0..3,其中 0 = low。

整数

reference

信息来源的 URL 或更多详细信息。可选。

字符串

2.6.4.1.2. 注解值示例

本示例显示了一个镜像的 OpenSCAP 注解,带有漏洞概述数据以及一个合规性布尔值:

OpenSCAP 注解

{
  "name": "OpenSCAP",
  "description": "OpenSCAP vulnerability score",
  "timestamp": "2016-09-08T05:04:46Z",
  "reference": "https://www.open-scap.org/930492",
  "compliant": true,
  "scannerVersion": "1.2",
  "summary": [
    { "label": "critical", "data": "4", "severityIndex": 3, "reference": null },
    { "label": "important", "data": "12", "severityIndex": 2, "reference": null },
    { "label": "moderate", "data": "8", "severityIndex": 1, "reference": null },
    { "label": "low", "data": "26", "severityIndex": 0, "reference": null }
  ]
}

本例演示了红帽生态系统目录注解中镜像的容器镜像部分,包含健康索引数据以及获取更多详细信息的外部 URL:

红帽生态系统目录注解

{
  "name": "Red Hat Ecosystem Catalog",
  "description": "Container health index",
  "timestamp": "2016-09-08T05:04:46Z",
  "reference": "https://access.redhat.com/errata/RHBA-2016:1566",
  "compliant": null,
  "scannerVersion": "1.2",
  "summary": [
    { "label": "Health index", "data": "B", "severityIndex": 1, "reference": null }
  ]
}