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 } ] }