Azure Active Directory (Pro)

DefectDojo ProはAzure Active Directory(Azure AD)によるログインをサポートしており、ユーザーグループの自動同期も含まれます。オープンソース版のDefectDojoにはSSOは含まれていません。オープンソース版のアクセス制御についてはAuthorized Usersを参照してください。

Prerequisites

DefectDojoを設定する前に、Azureポータルで以下の手順を完了してください。

  1. Azure Active Directoryで新しいアプリを登録します。

  2. 登録したアプリから以下の値を控えます。

    • Application (client) ID
    • Directory (tenant) ID
    • Certificates & Secretsで新しいClient Secretを作成し、その値を控えます
    • Application ID URI
  3. Authentication > Redirect URIsで、WebタイプのURIを追加します。 https://your-instance.cloud.defectdojo.com/complete/azuread-tenant-oauth2/

Configuration

DefectDojoでEnterprise Settings > OAuth Settingsに移動し、Azure ADを選択してフォームに入力します。

  • Azure AD OAuth KeyApplication (client) IDを入力します
  • Azure AD OAuth SecretClient Secretを入力します
  • Azure AD Resource — デフォルトはhttps://graph.microsoft.com/です。これはDefectDojoがMicrosoft Graph Web APIから追加情報(グループ名など)を読み取るために使用するURIです。グループ名が別のAPIリソースに保存されている場合のみ変更してください。
  • Azure AD Tenant IDDirectory (tenant) IDを入力します
  • Azure AD Groups Filter — 必要に応じて正規表現を入力し、インポートするユーザーグループを制限します(下記のGroup Mappingを参照)

Enable Azure AD OAuthをチェックしてフォームを送信します。ログインページにLogin With Azure ADボタンが表示されます。

Group Mapping

グループマッピングを使うと、DefectDojoはAzure ADからUser Groupのメンバーシップをインポートできます。DefectDojoのユーザーグループは、RBACを通じて製品と製品タイプへのアクセスを管理します。

Enable Azure AD OAuth Groupingをチェックするとこの機能が有効になります。ログイン時、DefectDojoはユーザーのAzure ADグループを既存のDefectDojoグループと照合します。DefectDojoに見つからないグループは自動的に作成されます。

一部のグループのみをインポートするには、Azure AD Groups Filterフィールドに正規表現を入力します。例:

  • ^team-.*team-で始まるすべてのグループに一致
  • teamA|teamB|groupC — 特定の名前のグループに一致

Configuring Azure AD to send groups

Azure ADトークンには、グループIDを含めるよう設定する必要があります。これがないと、トークンにグループ情報が含まれません。

設定手順:

  1. Azure ADのトークン設定でGroup Claimを追加します。どのグループタイプを選ぶべきか分からない場合はAll Groupsを選択してください。
  2. Emit groups as role claimsは有効にしないでください。
  3. アプリケーションのAPI権限にGroupMember.Read.AllまたはGroup.Read.Allを追加します。付与される権限が少ないGroupMember.Read.Allが推奨されます。

Group Cleaning

Enable Azure AD OAuth Group Cleaningが有効な場合、Azure AD同期によって作成されたDefectDojoグループは、メンバーがいなくなると自動的に削除されます。Azure ADでユーザーがグループから削除されると、DefectDojo上の対応するグループからも削除されます。