KeyCloak (Pro)

DefectDojo ProはKeyCloakによるログインをサポートしています。オープンソース版のDefectDojoにはSSOは含まれていません。オープンソース版のアクセス制御についてはAuthorized Usersを参照してください。

このガイドは、KeyCloak Realmがすでに設定済みであることを前提としています。未設定の場合はKeyCloak documentationを参照してください。

Prerequisites

DefectDojoを設定する前に、KeyCloak Realmで以下の手順を完了してください。

  1. タイプopenid-connectで新しいクライアントを追加します。クライアントIDを控えます。

  2. クライアント設定で以下を行います。

    • Access Typeconfidentialに設定します
    • Valid Redirect URIsにDefectDojoのURL(例: https://yourorganization.cloud.defectdojo.comまたはhttps://your-dojo-host/*)を追加します
    • Web Originsに同じURL(または+)を追加します
    • Fine Grained OpenID Connect Configurationで以下を設定します。
      • User Info Signed Response AlgorithmRS256に設定
      • Request Object Signature AlgorithmRS256に設定
    • 設定を保存します。
  3. ScopeFull Scope Allowedoffに設定します。

  4. Mappersでカスタムマッパーを追加します。

    • Name: aud
    • Mapper Type: audience
    • Included Audience: クライアントIDを選択
    • Add ID to Token: off
    • Add Access to Token: on
  5. CredentialsSecretをコピーします。

  6. Realm Settings > KeysPublic Key(署名鍵)をコピーします。

  7. Realm Settings > General > EndpointsでOpenIDエンドポイント設定を開き、AuthorizationエンドポイントとTokenエンドポイントのURLをコピーします。

Configuration

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

  • KeyCloak OAuth Key — クライアント名(手順1)を入力します
  • KeyCloak OAuth Secret — クライアントクレデンシャルのシークレット(手順5)を入力します
  • KeyCloak Public Key — Realm設定のPublic Key(手順6)を入力します
  • KeyCloak Resource — Authorization EndpointのURL(手順7)を入力します
  • KeyCloak Group Limiter — Token EndpointのURL(手順7)を入力します
  • KeyCloak OAuth Login Button Text — DefectDojoのログインボタンに表示するテキストを選びます

Enable KeyCloak OAuthをチェックしてフォームを送信します。ログインページに、設定したテキストのログインボタンが表示されます。