1.5.4. 外部サービスの統合
OpenShift Container Platform は、オブジェクトのアノテーション (object annotations) を利用して機能を拡張します。脆弱性スキャナーなどの外部ツールはイメージオブジェクトにメタデータのアノテーションを付けることで、結果の要約を表示したり、Pod の実行を制御したりできます。本セクションでは、このアノテーションの認識される形式について説明します。 この形式を使用することで、アノテーションをコンソールで安全に使用し、ユーザーに役立つデータを表示することができます。
1.5.4.1. イメージのメタデータ リンクのコピーリンクがクリップボードにコピーされました!
イメージの品質データには、パッケージの脆弱性およびオープンソースソフトウェア (OSS) ライセンスのコンプライアンスなどの様々なタイプがあります。さらに、複数のプロバイダーがこのメタデータを提供する場合があります。このため、以下のアノテーションの形式が保持されます。
quality.images.openshift.io/<qualityType>.<providerId>: {}
| コンポーネント | 説明 | 許可される値 |
|---|---|---|
|
| メタデータのタイプ |
|
|
| プロバイダー ID の文字列 |
|
1.5.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: {}
イメージの品質アノテーションの値は、以下の形式に従った構造化データになります。
| フィールド | 必須 ? | 説明 | タイプ |
|---|---|---|---|
|
| はい | プロバイダーの表示名 | 文字列 |
|
| はい | スキャンのタイムスタンプ | 文字列 |
|
| いいえ | 簡単な説明 | 文字列 |
|
| はい | 情報ソースの URL または詳細情報。ユーザーのデータ検証に必要。 | 文字列 |
|
| いいえ | スキャナーバージョン | 文字列 |
|
| いいえ | コンプライアンスの合否 | ブール値 |
|
| いいえ | 検出された問題の要約 | 一覧 (以下の表を参照) |
summary フィールドは、以下の形式に従う必要があります。
| フィールド | 説明 | タイプ |
|---|---|---|
|
| コンポーネントの表示ラベル (例: critical、important、moderate、low または health) | 文字列 |
|
| このコンポーネントのデータ (例: 検出された脆弱性の数またはスコア) | 文字列 |
|
|
順序付けおよびグラフィック表示の割り当てを可能にするコンポーネントのインデックス。値は | 整数 |
|
| 情報ソースの URL または詳細情報。オプション。 | 文字列 |
1.5.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 と正常性のインデックスデータを含むイメージの Red Hat Container Catalog アノテーションを示しています。
Red Hat Container Catalog アノテーション
{
"name": "Red Hat Container 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 }
]
}