カスタマイズ可能なダッシュボード (Pro)

注: カスタマイズ可能なダッシュボード(レイアウト、ウィジェット、ウィジェットカタログ)は DefectDojo Pro の機能です。デフォルトでは無効になっており、スーパーユーザーが Cloud および On-Premise の両方のインスタンスで Settings > Feature Flags から有効にできます。

DefectDojo Pro のカスタマイズ可能なダッシュボードでは、各ユーザーがウィジェット(カウント、チャート、リーダーボード、フィード、メモなど)をドラッグ&ドロップグリッド上に配置して、自分だけのホームページを組み立てることができます。全員共通の固定ダッシュボードを使う代わりに、エグゼクティブ概要、トリアージキュー、改善速度ボード、スキャナー有効性ビューなど、自分にとって重要なレイアウトを構築できます。レイアウトは非公開のままにしたり、チーム全体に公開したり、デフォルトのランディングページとして設定したり、任意のレイアウト(自分のものでも共有テンプレートでも)を出発点としてクローンしたりできます。

DefectDojo Pro のカスタマイズ可能なダッシュボード — デフォルトダッシュボードレイアウト。

オープンソース版との比較

オープンソース版の DefectDojo には、スーパーユーザーが表示・非表示を切り替えられる固定のサマリーカードとチャートを備えた、単一の組み込みメインダッシュボードがあります。これは全ユーザーで共通です。

DefectDojo Pro では、この固定ページをユーザーごとにカスタマイズ可能なダッシュボードに置き換えます。どのウィジェットを表示するか、どのようにフィルタリングするか、グリッド上のどこに配置するかを自由に選べます。名前を付けたレイアウトを好きなだけ作成し、切り替え、チームと共有し、REST APILLM からシステム全体を操作することもできます。

💡 Tip: DefectDojo Pro では、アセットは以前は製品組織は以前は製品タイプと呼ばれていました。UI では新しい用語が使われていますが、内部のウィジェット設定の一部には旧名称がまだ使われています。たとえば、ほとんどのウィジェットは findingproductengagementtest のいずれかの model を取ります。これが重要になる箇所については、以下で個別に説明します。

カスタマイズ可能なダッシュボードの有効化

カスタマイズ可能なダッシュボードはデフォルトでは無効になっています。スーパーユーザーは、Cloud および On-Premise の両方のインスタンスで Settings > Feature Flags から有効にできます。詳細はFeature Flagsを参照してください。

有効にすると、🏠 Home ページにカスタマイズ可能なダッシュボードが表示され、Dashboards REST API が利用可能になります。

🔑 Important: この機能が無効になっている間、ホームページは従来のダッシュボードのままとなり、/api/v2/dashboards/ の各エンドポイントは 403 Dashboard V2 is not enabled. を返します。有効にしても、誰のデータアクセス権も変更されません。すべてのウィジェットは引き続き DefectDojo のロールベースアクセス制御に従うため、各ユーザーは自分が閲覧を許可された検出事項、アセット、その他のレコードのみを見ることになります。

基本概念

カスタマイズ可能なダッシュボードは、いくつかのシンプルな要素から構成されています。

レイアウト

レイアウトとは、名前が付けられた1つのダッシュボードのことで、ウィジェットの集合とグリッド上の配置から構成されます。各レイアウトは自分だけのものであり、たとえば「Daily Triage」ボードと別の「Exec Overview」のように、好きなだけ作成できます。レイアウトには次の3つの情報が保存されます。

  • widgets — レイアウトに含まれるウィジェットの順序付きリスト。各ウィジェットは独自の種類、タイトル、設定を持ちます。
  • layout — 各ウィジェットがグリッド上のどこに配置され、どのくらいの大きさかを示す情報。
  • settings — レイアウト単位の表示オプション。

カスタマイズ可能なダッシュボードを初めて開いたとき、DefectDojo はデフォルトダッシュボードのスターター用の個人コピーを提供するため、空白のページに戸惑うことはありません。

ウィジェット

ウィジェットとは、ダッシュボード上の1つのパネルのことです。すべてのウィジェットはカタログ内の種類(Count、Graph、Top-N リーダーボードなど)のインスタンスであり、それぞれ独自の設定を持ちます。読み込むデータのモデル(findingproductengagementtest のいずれか)、対象を絞り込むフィルタ、そしてチャートの種類や色、グループ化方法といった種類ごとの表示オプションです。同じ種類のウィジェットでもフィルタが異なれば、完全に独立したものとして扱われます。

各ウィジェットには、任意設定の自動更新間隔(オフ、30秒、1分、5分、15分)と編集可能なタイトルもあります。

ウィジェットカタログ

カタログは、プラットフォームがサポートするウィジェット種類の固定メニューであり、NumbersChartsLists & FeedsStatic & Utility の4つのカテゴリにグループ化されています。ウィジェットを追加する際は、カタログから種類を選択します。カタログはAPI経由でも利用できるため、スクリプトや LLM が利用可能なウィジェット種類とそれぞれの動作確認済みの初期設定を検出できます。全リストについては、以下のウィジェットカタログを参照してください。

グリッド

ウィジェットは12列のグリッド上に配置されます。編集モードでは、ウィジェットをドラッグして移動したり、右下隅をドラッグしてサイズを変更したりできます。グリッドは隙間を埋めるように上方向へ自動的に詰められます。各ウィジェット種類には適切な最小・最大サイズが設定されており、チャートやテーブルの視認性が保たれます。

共有、クローン、デフォルト

  • Default — レイアウトの1つをデフォルトに設定できます。これはホームページを開いたときに読み込まれるレイアウトです。デフォルトに設定するレイアウトはいつでも変更できます。
  • Clone — 任意のレイアウト(自分のものでも共有テンプレートでも)を、独立した新しい出発点として自分のスペースにコピーします。クローンには独自のウィジェットが与えられるため、クローンを編集しても元のレイアウトには影響しません。
  • Share — 自分のレイアウトの1つを共有レイアウトとしてチーム全体に公開します。他のユーザーはこれを閲覧・クローンできますが、共有レイアウトの公開・編集・共有解除ができるのはチームのMaintainerのみです。レイアウトを共有しても共有されるのはデザインのみであり、閲覧者は自分自身の権限で許可されたデータのみを見ることになります。
  • Starter & shared templates — DefectDojo には、手っ取り早く始められるようにクローン可能な厳選された共有テンプレートが一式付属しています(下記の共有テンプレートを参照)。デフォルトダッシュボードは、新規ユーザーに自動的に提供される特別な「スターター」テンプレートです。

UI でダッシュボードを構築する

ダッシュボードツールバー

ホームページ上部にあるツールバーで、レイアウトの切り替えや管理を行います。ここにはレイアウトピッカー(デフォルトレイアウトや共有レイアウト/テンプレートを示すバッジ付き)のほか、New Layout(新規レイアウト作成)、Manage Layouts(レイアウト管理を開く)、すべてのウィジェットをRefresh(更新)、Edit(編集)モードの切り替えの各ボタンがあります。

ダッシュボードツールバー(ハイライト表示):レイアウトピッカー、New Layout、Manage Layouts、Refresh、Edit

ステップ1: 編集モードに入る

Edit をクリックしてダッシュボードのロックを解除します。グリッドがドラッグ・リサイズ可能になり、Add Widget ボタンが表示されます。完了したら Done をクリックしてください。編集モードは、レイアウトを切り替えた場合にも自動的にオフになります。

編集モードのダッシュボード。ドラッグおよびリサイズ用のハンドルが表示されている

ステップ2: ウィジェットを追加する

編集モードで Add Widget をクリックすると、ピッカーが開きます。ここには2つのタブがあります。

  • By Type — カテゴリ(Numbers、Charts、Lists & Feeds、Static & Utility)別にカタログを閲覧します。各カードにはウィジェットの名前と簡単な説明が表示されます。1つを選択するとグリッドに追加され、設定ダイアログが開きます。
  • From Catalog — 共有テンプレートのいずれかから設定済みのウィジェット(たとえば、デフォルトダッシュボードの「Findings by Severity」チャート)を出発点にします。これらはあらかじめ設定済みのため、そのままグリッドに配置されます。

Add Widget ダイアログ、By Type タブ

ステップ3: ウィジェットを設定する

各ウィジェットは、その種類に応じた設定ダイアログを開きます。共通の設定項目には次のものがあります。

  • Title — ウィジェットに表示される見出し。
  • Model — 該当する場合、ウィジェットが読み込むレコードの種類(Finding、Asset、Engagement、Test)。
  • Filters — ウィジェットの対象を目的のレコード(たとえば、アクティブな重大検出事項)に正確に絞り込む、埋め込み型のリストビューフィルタ UI。ここで選択するフィルタは、その対象オブジェクトのリストページで使うものと同じです。
  • Refresh interval — ウィジェットが自動的に再読み込みされる頻度。
  • Type-specific options — たとえば Graph のチャート種類やグループ化のディメンション、Gauge のしきい値、Top-N リーダーボードの評価指標など、種類ごとの設定。

Graph ウィジェットの設定

💡 Tip: ウィジェットのデータは常にあなたの権限に従います。共有レイアウトに「My Work」ウィジェットが含まれている場合、閲覧者はそれぞれ自分自身の割り当てやメンションを見ることになり、レイアウト作成者のものではありません。

ステップ4: 配置して保存する

ウィジェットをドラッグして並べ替え、角をドラッグしてサイズを変更します。ウィジェットの歯車アイコンから再設定でき、ゴミ箱アイコンで削除できます。位置とサイズの変更は操作するたびに自動的に保存されます。編集モードを終了するには Done をクリックしてください。

レイアウトの管理

Manage Layouts ダイアログ(ツールバーの歯車ボタン)は、レイアウトレベルのあらゆる操作の中心です。

  • Your Layouts — 自分が所有する各レイアウトの名前変更、デフォルト設定、共有/共有解除、クローン、削除を行います。
  • Create New — 空の新規レイアウトを作成し、一から構築します。
  • Shared Templates — カテゴリ別にグループ化された、厳選済みまたはチームが公開したレイアウトを閲覧し、Use Layout をクリックして自分のスペースにクローンします。

Manage Layouts ダイアログ

共有テンプレート

DefectDojo には、出発点としてクローンできる、すぐに使える共有テンプレートが4つ付属しています。

TemplatePurpose
Default Dashboard定番のホームビュー。12個の一目でわかるカウント、深刻度チャート、評価上位/下位のアセットを表示します。すべての新規ユーザーに自動的に提供されるスターターです。
Priority Layout検出事項の優先度とリスクを中心に構築された、トリアージ重視のボードです。
Mitigation Layout改善速度に関するボード(クローズ傾向、MTTR/MTTD、経過期間)です。
Tool Layoutテストタイプと直近のスキャン活動を中心に構築された、スキャナー有効性ボードです。

💡 Tip: テンプレートをクローンすると独立したコピーが作成されます。クローンは自由にカスタマイズできます。テンプレート自体や、それをクローンした他のユーザーに影響が及ぶことはありません。

空の状態

ウィジェットが1つもない新規レイアウトには、**「Build Your First Dashboard」**というプロンプトが表示されます。Add Your First Widget をクリックすると、すぐに編集モードに入りウィジェットの選択を始められます。

空のレイアウトの状態

ウィジェットカタログ

カスタマイズ可能なダッシュボードには、4つのカテゴリに分類された以下のウィジェット種類が付属しています。ほとんどのウィジェットは、findingproduct(アセット)、engagementtest のいずれか1つのモデルを読み込み、自分で選んだフィルタによって対象を絞り込みます。各ウィジェットの詳細な設定オプションについては、API ガイドに記載されています。

Numbers

一目で確認できる指標 — カウント、KPI、ゲージです。

WidgetWhat it shows
Countフィルタ済みクエリから得られる単一の数値(例:「オープンな重大検出事項」や「アクティブなエンゲージメント」)。finding / asset / engagement / test に対応します。
KPI / Trend見出しとなる数値と、前期間との比較(任意でスパークライン付き)。
Gauge円弧型ゲージとして描画される比率。「universe」フィルタを分母、「pass」フィルタを分子として使用します。SLA 遵守率、緩和率、スキャンカバレッジなどに利用でき、警告/正常のしきい値を設定できます。
License Usageアカウントのライセンス使用状況を、シグナルごとの内訳(データベースサイズ、週間検出事項件数など)とともに表示します。Maintainer ロールが必要です。
Scan Coverage30日/90日/180日/365日以内にスキャンされたアセットの割合を、複数の期間で集計して表示します。

Charts

時系列および分布の可視化です。

WidgetWhat it shows
Graph任意のモデルとグループ化ディメンションに基づく汎用チャート(棒、折れ線、エリア、円、ドーナツ)。例:深刻度別検出事項、月別検出事項。
Sankey元のディメンションから対象のディメンションへのフローダイアグラム。例:深刻度 → ステータス。
Sunburst1段階または2段階の放射状の内訳。例:深刻度、さらに各深刻度内のテストタイプ。
Risk Matrix検出事項の EPSS 確率 × リスクのヒートマップ。左下が安全、右上が危険です。
Priority Histogram優先度付けエンジンによる検出事項の優先度スコアの分布(自動ビン分割)。
Rate by Categoryカテゴリごとの比率(分子/分母)。例:ツール別誤検知率、アセット別緩和率。
Finding Velocity検出事項の作成数と解決数の推移を示し、バックログが増加しているか減少しているかがわかります。
MTTR / MTTD平均改善時間と平均検知時間を対にした時系列データ。
Vulnerability Agingオープン中の検出事項を経過期間帯(0〜30日/30〜90日/90〜180日/180日以上)ごとに分類し、深刻度別に積み上げ表示します。
Activity Heatmap直近の一定期間における日々の活動を GitHub 風のカレンダー表示にしたものです。
Portfolio Treemapポートフォリオ集計(組織 → アセット)を入れ子の矩形で表示し、件数でサイズを、深刻度で色を決定します。

Lists & Feeds

ランキングリスト、フィード、埋め込みテーブルです。

WidgetWhat it shows
Top-N Leaderboard次の2つのモードのいずれかによるランキングリスト:aggregate(件数によるディメンションバケットの上位、例:CWE 上位10件)または records(指標による個別レコードの上位、例:評価によるアセット上位10件)。
Embedded Tableプリセットのフィルタと並び順を持つ完全なリストビュー(検出事項、アセット、エンゲージメント、テスト、リスク受容、組織、テストタイプ)。ページネーション、ソート、CSV エクスポートを含みます。
Recent Activity直近に更新されたレコードのスクロール式フィードで、詳細ページへクリックで移動できます。
SLA BurndownSLA 違反が近づいている検出事項を、残り日数でランク付けし、カウントダウンバッジ付きで表示します。
My Work自分専用のキュー — 割り当て、メンション、保留中のリスク受容レビューです。常に閲覧者本人にスコープされます。
Saved Reports保存済みのレポートテンプレートへのワンクリックアクセス。Reporting 機能が必要です。

Static & Utility

メモ、ショートカット、構造化のためのものです。

WidgetWhat it shows
Favoritesアプリ内の特定ページへの、ユーザーが選んだクイックリンクです。
Section Break関連するウィジェットを見出しの下にグループ化するための、ラベル付き区切り線です。
Markdown / Notes見出しやコンテキストメモ、参照リンクのためのインラインリッチテキストパネルです。
Quick Actions選択したページに移動するワンクリックのアクションボタンです。

次のステップ

  • API によるダッシュボードの自動化 — ウィジェットカタログを検出し、レイアウトを作成・更新し、REST API 経由でウィジェットデータをレンダリングする方法を、完全なスクリプト付きで解説します。
  • LLM によるダッシュボードの構築 — LLM にダッシュボードの設計と構築を任せます(dashboards API は AI エージェントの利用を念頭に設計されています)。