オープンソース版の権限 (Open Source)

オープンソース版DefectDojoは、Authorized Users(承認済みユーザー)モデルによって製品と製品タイプへのアクセスを制御します。各製品と各製品タイプには、そのレコードおよびその配下にあるデータを閲覧できる人を一覧表示するAuthorized Usersパネルがあります。

DefectDojo Proをお使いの場合、この記事はインストール環境には当てはまりません。Proではよりリッチなロールベースのシステムを使用しており、詳細はDefectDojoにおける権限で説明しています。

アクセスの付与方法

リストは2つあり、ユーザーはそのいずれか一方に含まれているだけでアクセス権を得られます。

  • 製品のAuthorized Usersリスト は、その1つの製品と、その配下にあるすべて(エンゲージメント、テスト、検出事項、エンドポイント)へのアクセスを許可します。
  • 製品タイプのAuthorized Usersリスト は、製品タイプ自体へのアクセスを許可し、さらにその配下のすべての製品に連鎖します。製品タイプで承認されたユーザーは、各子製品に個別に追加される必要はなく、すでにアクセス権が及んでいます。

ロールもグループもグローバルロールもありません。ユーザーはリストに載っているか(あるいはスーパーユーザーやスタッフメンバーである場合。詳細は下記参照)、そうでなければその製品を閲覧できません。

スーパーユーザーとスタッフはリストをバイパスします

DefectDojoで superuser(スーパーユーザー)または staff(スタッフ)とマークされたユーザーは、Authorized Usersリストの内容に関わらず、すべての製品と製品タイプを閲覧・操作できます。これらのリストはスタッフ以外のユーザーにアクセス権を付与するために存在するものであり、スタッフやスーパーユーザーを制限するものではありません。

新規にインストールされたDefectDojoで最初に作成されるアカウントは、自動的にスーパーユーザーになります。

リストを編集できるのは誰か

Authorized Usersパネルで人を追加・削除するコントロールが表示されるのは、superuser または staff ユーザーのみです。製品や製品タイプへのアクセス権を持つそれ以外の人には、パネルは読み取り専用の名簿として表示されます。チームに他に誰がいるかを知るのには役立ちますが、メンバーシップを変更することはできません。

パネルの場所

Authorized Usersパネルは、クラシックUIの2つのページに表示されます。

  • 製品の詳細ページ には、その製品のAuthorized Usersパネルがあります。スタッフユーザー向けに2つの操作をサポートしています。
    • ユーザーを製品のAuthorized Usersリストに追加する
    • ユーザーを製品のAuthorized Usersリストから削除する
  • 製品タイプの詳細ページ には、その製品タイプのAuthorized Usersパネルがあり、対応する2つの操作があります。
    • ユーザーを製品タイプのAuthorized Usersリストに追加する
    • ユーザーを製品タイプのAuthorized Usersリストから削除する

製品タイプのリストからユーザーを削除すると、連鎖的なアクセス権も失われます。特定の製品のリストに個別に載っているか、スタッフ/スーパーユーザーでない限り、そのユーザーはすべての子製品へのアクセス権を失います。

製品アクセスと製品タイプアクセスのどちらを選ぶか

いくつかの目安を挙げます。

  • あるカテゴリー配下のすべての製品(例えば、特定のチームが所有するすべての製品)を閲覧させたい場合は、製品タイプ のリストに追加し、あとは連鎖に任せてください。
  • 特定の1つの製品だけを閲覧させたい場合は、その 製品 のリストに追加してください。
  • 同じ人物を、1つの製品タイプ配下の多数の個別製品に何度も追加している場合、それは代わりに製品タイプへ追加すべきだというサインです。

DefectDojoの旧バージョンからの移行

オープンソース版DefectDojoは、バージョン3.0でAuthorized Usersモデルに回帰しました。Members / Groups / Global Rolesシステムを使用していたリリースからアップグレードする場合、既存のアクセス権はアップグレードによって自動的にAuthorized Usersへ引き継がれます。手動でのマッピングは不要です。

このアップグレードには、読み取り専用の管理コマンド preview_legacy_authorization_migration が同梱されており、データベースのコピーに対してアップグレードが何を変更するかの概要を出力します。推奨されるワークフローは、本番環境のスナップショットを使ってステージング環境に3.0をインストールし、このコマンドを実行して概要を確認したうえで、本番環境をアップグレードする、というものです。

逆方向——オープンソース版からDefectDojo Proへ——移行する場合は、Proに同梱されている reconcile_authorized_users_to_rbac コマンドが、Authorized UsersのアクセスをProのRBACへ引き継ぎます。このコマンドは --dry-run に対応しており、冪等です。

両方の移行パスについての詳細は、3.0アップグレードノートを参照してください。