Docs/管理者ガイド/課題

課題

個別のユーザー、チーム、または組織全体に特定のトレーニングモジュールを割り当てます。完了を追跡し、期限を設定し、必須トレーニングを強制します。

課題の作成

新しい課題を作成するには、管理者サイドバーで課題に移動し、「新規課題」をクリックします。次の手順に従ってください:

1. コンテンツ領域

練習 (コードレビューチャレンジ)、学習 (インタラクティブ攻撃シナリオ)、またはカスタム (構築したカスタムコース) を選択します。カスタムを選択しても組織がまだカスタムコースを構築していない場合、フォームはインライン警告を表示し、少なくとも1つのコースが存在するまでピッカーは空のままです。

2. ターゲット

割り当てるものを選択します。ターゲット階層はコンテンツ領域によって異なります:

  • 練習: カテゴリ → モジュール → トピック (例: 「OWASP Web Top 10 > A03 Injection > SQL Injection」)。カテゴリのみを選択すると、その下のすべてのトピックを自動的にカバーするカテゴリレベルの課題が作成されます。
  • 学習: コース → シナリオ。コースのみを選択すると、その下のすべてのシナリオがカバーされます。
  • カスタム: 組織のカスタムコースの1つを選択します。コースの項目が、完了のために追跡される練習トピックと学習シナリオを決定します。カスタムコースを参照してください。

3. 担当者

課題を受け取る対象を選択します: 個別ユーザーチーム、または組織全体。ピッカーの下に、フォームはライブプレビュー (「N個のチャレンジを{担当者}に割り当てます」) を表示するため、送信前にスコープを健全性チェックできます。

4. 期限

期限日を設定します。ユーザーは、期限超過の課題がダッシュボードでハイライトされて表示されます。

5. 必須

課題を必須またはオプションとしてフラグ付けします。フラグはデフォルトでオンです — 必須課題はユーザーのトレーニングキューに目立つように表示され、コンプライアンスレポートに貢献します。オプションの課題は追跡されますが、コンプライアンスメトリックをブロックしません。

6. メモ

課題のオプションの説明またはコンテキストを追加します (例: 「Q2セキュリティ監査の前に完了してください」)。メモは課題詳細ページのタイトルの下と担当者の「マイ課題」ビューに斜体で表示されます。

課題作成フォーム

課題作成フォームは次のようになります:

app.securecodinghub.com/organization/assignments
新規課題
コンテンツ領域、ターゲット、対象者、期限を選択します。
practice
コードレビューチャレンジ。
learn
インタラクティブシナリオ。
custom
厳選されたコース。
OWASP Web Top 10 / A03 Injection / SQL Injection
11個のチャレンジを24名の学習者に割り当てます。
チーム — Backend Team (24名)
2026-04-15
required
optional
Q2セキュリティ監査の前に完了してください。

課題ターゲット

異なる粒度レベルでトレーニングを割り当てられます:

コンテンツ領域ターゲットレベル
練習カテゴリすべてのOWASP Web Top 10チャレンジ
練習モジュールすべてのA03 Injectionチャレンジ
練習トピックSQL Injectionチャレンジのみ
学習コースすべてのWebセキュリティシナリオ
学習シナリオIDORシナリオのみ
カスタムカスタムコースカスタムコースで構築した「Q2 Onboarding」コース

進捗の追跡

任意の課題をクリックして詳細ページを表示します。次の内容が表示されます:

  • 全体的な完了率 — 完了した割り当てユーザーの割合
  • ユーザーごとの進捗バー — 各担当者の個別進捗
  • 期限超過ステータス — 期限を過ぎたときにハイライト
  • 個別スコア — ユーザーごとのチャレンジスコア

課題詳細

課題詳細ページは次のようになります:

app.securecodinghub.com/organization/assignments/d7c8a1b2…
SQL Injection — 練習
練習必須2026年4月15日 期限 · Backend Team
合計ユーザー
12
Backend Team
完了
8
ユーザーの67%
期限超過
1
期限を過ぎたもの
平均進捗
82%
すべての担当者にわたって
ユーザー進捗
12名の担当者
Sarah Chen11/11
100%COMPLETED
James Park11/11
100%COMPLETED
Emma Wilson7/11
64%IN PROGRESS
Alex Kumar3/11
27%OVERDUE
Maria Santos0/11
0%NOT STARTED

編集と非アクティブ化

課題の期限メモ必須フラグ、アクティブ状態をいつでも編集できます。変更はすべての担当者に即座に適用されます。

削除アクションはisActive=falseを設定します — 行は消去されません。課題は担当者の「マイ課題」ビューに表示されなくなり、コンプライアンスメトリックに貢献しなくなりますが、ユーザーごとの進捗は履歴レポートが解決し続けるように保持されます。非アクティブ化された課題の再アクティブ化は、今日の管理UIには表示されていません。PATCH /api/public/v1/assignments/{id}に対して{"isActive": true}を送信することで公開API経由で可能です。

課題リストページには、ターゲット、担当者、期限、必須フラグ、集計進捗を含むすべての課題をダウンロードするCSVをエクスポートボタンも表示されます — 監査パックに便利です。

課題の正しいスコープの選択

同じトレーニングコンテンツは、単一トピック、関連トピックのモジュール、またはカテゴリ全体で割り当てられます。正しい粒度レベルを選ぶことは、チームが1週間で終わる課題と、誰もが半端に関与しながら四半期にわたって引きずる課題の違いです。経験則として、特定のインシデントまたはペンテストの発見に対応するときはトピックごとに、新入社員をオンボーディングするときはモジュールごとに、明確なコンプライアンス理由と数週間の測定された滑走路がある場合にのみフルカテゴリで割り当てます。

トピック対フルトラック課題

単一トピックの課題は、最近のペンテストでコードベースにSQL injectionが浮上したとき、依存するライブラリのCVEがチームが見たことのない脆弱性クラスを使用するとき、またはエンジニアが的を絞ったリフレッシャーを必要とするときの正しいツールです。スコープが小さく、実際のリスクへの接続が直接的であり、エンジニアは1〜2回の座りで終わります。トピックレベルの課題の完了率は、目標が具体的であるため、通常カテゴリレベルのものよりもはるかに高くなります。

フルトラックの課題 — OWASP Web Top 10カテゴリ全体など — は、オンボーディングコホートと年次必須トレーニングサイクルに機能しますが、現実的な期限が必要です。トレーニング時間の週2〜3時間の持続可能なペースで、カテゴリレベルのトラックには6〜10週間を計画してください。期限が短いと、エンジニアは吸収せずにコンテンツをクリックして通過します。これは目的を打ち消し、その背後に弱い保持を持つクリーンなダッシュボードを生成します。

タイムボックスとコンプライアンスエビデンス

オプションの課題でさえ、すべての課題に期限を設定してください。期限は課題をバックログ項目ではなくコミットメントとして再構成し、ユーザーダッシュボードの期限超過インジケーターは、1対1の間にラインマネージャーにとって有用な促進となります。必須トレーニングの場合、コンプライアンスエビデンスのカットオフの30日前に期限を設定し、遅れている人を追跡するためのバッファを持たせます。

PCI DSS 6.2.2の対象となる組織 — 開発者が少なくとも年1回、職務に関連するセキュアコーディングトレーニングを受けることを要求 — の場合、課題は主要なエビデンスアーティファクトとして機能します。担当者リストはスコープを示し、完了タイムスタンプはトレーニングがいつ行われたかを示し、個別のスコアは学習者が教材に関与したかどうかを示します。同じ成果物がセキュア開発トレーニングのためのISO 27001 Annex A.14要件を満たします。両方の標準の監査ウィンドウは前年にまでさかのぼるため、非アクティブ化された課題を削除せずシステムに保持してください。

ヒント: チームに割り当てると、将来のメンバーが自動的に含まれます。チーム管理の詳細についてはチームを参照してください。