Quay (Pro)
このページの内容
QuayコネクタはProject Quay REST APIを使用して、コンテナリポジトリを検出し、Quay組み込みのClairスキャナが生成した脆弱性レポートをインポートします。DefectDojoは各QuayリポジトリについてRecordを作成し、Syncのたびにアクティブな各タグのイメージマニフェストのClairセキュリティレポートを読み取ります。
前提条件
Quayインスタンスでセキュリティスキャン(Clair)が有効になっている必要があり、QuayのOAuth 2アクセストークンが必要です:
- Quayで、Organizationを作成(または開き)、Applications に移動し、OAuthアプリケーションを作成し、少なくともRead repositoriesスコープで Generate Token を実行します。DefectDojo専用のアプリケーションを作成することをお勧めします。
- トークンはすべてのリクエストでBearerトークンとして送信され、ログに記録されることはありません。
Connector Mappings
- Location フィールドにQuayのベースURLを入力します。例:
https://quay.ioまたはセルフホストのhttps://quay.example.com。URLはHTTPSである必要があり、末尾にAPIパスを含めないでください — DefectDojoがAPIパスを自動的に構築します。 - Secret フィールドにOAuthアクセストークンを入力します。
- 必要に応じて Namespace を設定し、検出範囲を単一のQuay組織またはユーザーに限定します。空欄のままにすると、トークンが読み取れるすべてのリポジトリが検出されます。
- 必要に応じて、インポートする検出事項を絞り込むために Minimum Severity を設定します。
DefectDojoは各QuayリポジトリをRecordにマッピングします。各リポジトリについてアクティブなタグを列挙し、それらを一意のイメージマニフェストへと重複排除した上で(複数のタグで共有されるマニフェストは1回だけスキャンされます)、各マニフェストのClairレポートを読み取ります。Clairがまだスキャンを完了していないマニフェスト(例えばマルチアーキテクチャのマニフェストリストや、まだキュー中のイメージ)は、後のSyncまでスキップされます。各Clairの脆弱性は検出事項になります — 影響を受けるパッケージがコンポーネントとなり、修正バージョンが緩和策となり、ClairのNegligible/Unknownの深刻度はInformationalとして記録されます。
詳細については、Project Quay APIドキュメントおよびClairドキュメントを参照してください。