mcpField
D
defectdojo

defectdojo

github.com/julianobarbosaセキュリティ14103 回インストール2 日前に更新
リポジトリ

defectdojo について

defectdojoは、Claude CodeからMCPツールでDefectDojoの製品、テスト、検出項目を照会・管理するスキルです。スキャンのインポート、CI/CD連携、API利用方法も説明します。

主な機能

  1. 01MCP経由で製品と検出項目を検索
  2. 02テスト、エンドポイント、脆弱性統計の確認
  3. 03エンゲージメントの作成と検出項目の更新
  4. 04MarkdownまたはJSON形式の応答
  5. 05スキャンインポートとCI/CDの参考情報

活用シーン

  1. 01製品内の重大かつ有効な脆弱性の検索
  2. 02製品またはエンゲージメントの統計確認
  3. 03検出項目を誤検知として設定、または状態を更新
  4. 04CI/CDパイプラインでスキャン結果を取り込み

MCP 対応

DefectDojo APIと直接やり取りする12個のMCPツールを提供し、検索のほか、一部の作成・更新操作に対応します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill defectdojo

インストール後、Claude Code で/defectdojoを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-v2-reference.md
azure-ad-sso.md
cicd-integration.md
helm-values.md
troubleshooting.md

詳細

DefectDojo スキル

概要

DefectDojo は、オープンソースの DevSecOps、アプリケーションセキュリティ態勢管理(ASPM)、脆弱性管理プラットフォームです。エンドツーエンドのセキュリティテスト、脆弱性の追跡、重複排除、修正、レポート作成を統合します。

主な機能:

  • 200 以上のセキュリティツールにわたる統合脆弱性管理
  • スキャンの自動インポートと重複排除
  • CI/CD パイプラインとの統合
  • 双方向の JIRA 統合
  • ロールベースのアクセス制御
  • SLA の追跡とレポート作成
  • 自動化のための REST API v2
  • Claude Code 統合用 MCP ツール

公式リソース:

MCP ツール(主要なインターフェース)

このスキルでは、DefectDojo API を直接操作するための 12 個の MCP ツールを提供します。手動で API を呼び出す代わりに、これらのツールを使用してください。

読み取り操作
ツール説明主なパラメーター
defectdojo_list_productsプロダクトの一覧表示と検索name_contains、prod_type、limit
defectdojo_get_productプロダクトの詳細情報を取得product_id(必須)
defectdojo_list_engagementsフィルターを指定してエンゲージメントを一覧表示product_id、status、engagement_type
defectdojo_list_testsエンゲージメント内のテストを一覧表示engagement_id、test_type
defectdojo_list_findings主要ツール — 検出結果を検索severity、active、product_id、cwe
defectdojo_get_finding検出結果の詳細を取得finding_id(必須)
defectdojo_get_statistics脆弱性の統計情報product_id、engagement_id
defectdojo_list_endpointsプロダクトのエンドポイントを一覧表示product_id、host、protocol
defectdojo_list_test_typesスキャナーの種類を一覧表示name_contains
書き込み操作
ツール説明主なパラメーター
defectdojo_create_engagement新しいエンゲージメントを作成product_id、name、engagement_type
defectdojo_update_finding検出結果のステータスを更新finding_id、active、verified、false_p
defectdojo_close_engagementエンゲージメントを終了engagement_id
使用例

重大度が Critical のアクティブな検出結果をすべて一覧表示する:

Use defectdojo_list_findings with:
- severity: "Critical"
- active: true

プロダクトの脆弱性統計を取得する:

Use defectdojo_get_statistics with:
- product_id: 1

SQL インジェクションの検出結果を検索する:

Use defectdojo_list_findings with:
- cwe: 89
- active: true

検出結果を誤検知としてマークする:

Use defectdojo_update_finding with:
- finding_id: 123
- false_p: true
- active: false

CI/CD エンゲージメントを作成する:

Use defectdojo_create_engagement with:
- product_id: 1
- name: "Pipeline Security Scan"
- engagement_type: "CI/CD"
レスポンス形式

すべてのツールは、response_format パラメーターを使って 2 種類の出力形式に対応しています。

  • markdown(デフォルト)— 人が読みやすい形式の出力
  • json — プログラムによる処理用の生の JSON
MCP サーバーの設定

MCP サーバーは .mcp.json で設定します。

{
  "mcpServers": {
    "defectdojo": {
      "command": "python",
      "args": [".claude/mcp-servers/defectdojo-mcp/defectdojo_mcp.py"],
      "env": {
        "DEFECTDOJO_URL": "https://defectdojo.dev.example.com",
        "DEFECTDOJO_API_TOKEN": "${DEFECTDOJO_API_TOKEN}"
      }
    }
  }
}

環境変数:

  • DEFECTDOJO_URL — DefectDojo インスタンスの URL
  • DEFECTDOJO_API_TOKEN — /api/key-v2 から取得する API トークン

データモデル(プロダクト階層)

DefectDojo では、セキュリティ作業を整理するために、相互に関連する 5 つのデータクラスを使用します。

Product Type
    └── Product
        └── Engagement (CI/CD or Interactive)
            └── Test
                └── Finding
                    └── Endpoint
プロダクトタイプ

プロダクトをビジネス領域、チーム、またはセキュリティ領域ごとに分類する、組織の最上位レベルです。カテゴリーレベルでロールベースのアクセス制御を可能にします。

プロダクト

セキュリティテストの対象となる個々のアプリケーションまたはシステムです。各プロダクトは、以下を個別に管理します。

  • 独自のテスト履歴
  • 重複排除の範囲(検出結果の重複排除はプロダクト内で行われます)
  • SLA の設定
  • チームの割り当て
エンゲージメント

1 つ以上のテストを含む、予定されたテスト期間です。種類は 2 つあります。

種類目的使用例
CI/CD自動化パイプラインとの統合ビルド/コミットごとの自動スキャン
Interactiveエンジニアによる手動テストペネトレーションテスト、手動レビュー
テスト

ツールの種類ごとにまとめられた個々のセキュリティスキャンです。テストでは以下に対応しています。

  • 再インポート(既存のテストに検出結果を追加)
  • 環境タグの付与
  • バージョンの追跡
検出結果

テスト中に発見された具体的な脆弱性:

重大度説明
Critical直ちに対応が必要です
High優先度の高い修正が必要です
Medium標準的な優先度です
Low優先度は低いです
Info情報のみです

検出結果の状態:

  • 有効 / 無効
  • 検証済み / 未検証
  • 重複
  • 緩和済み
  • 誤検知
  • リスク受容
  • 対象範囲外
エンドポイント

影響を受けるホスト、URL、またはシステムへの参照です。インフラストラクチャのコンポーネントごとに脆弱性を追跡できます。

API v2 リファレンス

注: ほとんどの操作では、API を直接呼び出す代わりに、上記の MCP ツール を使用してください。API の直接呼び出しは、スキャンのインポート、または MCP ツールで対応していない操作に限って使用してください。

認証

API トークンは次の場所で生成します:<your-instance>/api/key-v2

# Header format
Authorization: Token <api_key>

環境変数:

  • DD_API_TOKENS_ENABLED=False - API トークンを完全に無効にします
  • DD_API_TOKEN_AUTH_ENDPOINT_ENABLED=False - トークン認証エンドポイントのみを無効にします
主なエンドポイント
エンドポイントメソッド用途
/api/v2/import-scan/POST初回のスキャンインポート
/api/v2/reimport-scan/POST2 回目以降のインポート(重複排除)
/api/v2/products/GET/POSTプロダクトを管理
/api/v2/engagements/GET/POSTエンゲージメントを管理
/api/v2/tests/GET/POSTテストを管理
/api/v2/findings/GET/POST/PATCH検出結果を管理
/api/v2/endpoints/GET/POSTエンドポイントを管理
/api/v2/users/GETユーザー一覧を取得
スキャンインポートのパラメーター
curl -X POST "https://defectdojo.example.com/api/v2/import-scan/" \
  -H "Authorization: Token <api-token>" \
  -F "scan_type=<scanner-type>" \
  -F "[email protected]" \
  -F "engagement=<engagement-id>" \
  -F "minimum_severity=Info" \
  -F "active=true" \
  -F "verified=false" \
  -F "scan_date=2024-01-15"

主なパラメーター:

パラメーター説明
scan_typeスキャナー識別子(例:「Trivy Scan」、「Semgrep JSON Report」)
engagement対象のエンゲージメント ID
test_titleカスタムテスト名
minimum_severityフィルターのしきい値(Info、Low、Medium、High、Critical)
active検出結果を有効としてマークします(ブール値)
verified検出結果を検証済みとしてマークします(ブール値)
scan_dateスキャン完了日を上書きします
do_not_reactivateクローズ済みの検出結果が再オープンされないようにします
auto_create_contextコンテキストが存在しない場合にプロダクト/エンゲージメントを自動作成します
スキャンの再インポート(重複排除)
curl -X POST "https://defectdojo.example.com/api/v2/reimport-scan/" \
  -H "Authorization: Token <api-token>" \
  -F "scan_type=Trivy Scan" \
  -F "[email protected]" \
  -F "test=<test-id>" \
  -F "do_not_reactivate=true"

再インポートエンドポイントは、次の処理を行います。

  • 新規の検出結果と既存の検出結果を識別します
  • 既存の検出結果を更新します
  • 新しいスキャンに含まれない検出結果をクローズします
  • auto_create_context=true の場合、コンテキストを自動作成できます
インタラクティブ API ドキュメント

Swagger UI は次の場所から利用できます:<your-instance>/api/v2/oa3/swagger-ui/

CI/CD 統合

パイプライン統合パターン
# GitLab CI Example
stages:
  - security-scan
  - upload-results

trivy-scan:
  stage: security-scan
  script:
    - trivy image --format json -o trivy-results.json $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
  artifacts:
    paths:
      - trivy-results.json

upload-to-defectdojo:
  stage: upload-results
  script: |
    curl -X POST "${DEFECTDOJO_URL}/api/v2/reimport-scan/" \
      -H "Authorization: Token ${DEFECTDOJO_API_TOKEN}" \
      -F "scan_type=Trivy Scan" \
      -F "[email protected]" \
      -F "product_name=${CI_PROJECT_NAME}" \
      -F "engagement_name=CI/CD-${CI_PIPELINE_ID}" \
      -F "auto_create_context=true" \
      -F "minimum_severity=Low"
Jenkins 統合

DefectDojo Jenkins プラグインを次の場所からインストールします:https://plugins.jenkins.io/defectdojo/

パイプラインの設定:

pipeline {
    agent any
    environment {
        DEFECTDOJO_URL = 'https://defectdojo.example.com'
        DEFECTDOJO_API_KEY = credentials('defectdojo-api-key')
    }
    stages {
        stage('Security Scan') {
            steps {
                sh 'trivy image --format json -o trivy.json myapp:latest'
            }
        }
        stage('Upload to DefectDojo') {
            steps {
                defectDojoPublisher(
                    artifact: 'trivy.json',
                    productName: 'MyApp',
                    scanType: 'Trivy Scan',
                    engagementName: "Build-${BUILD_NUMBER}"
                )
            }
        }
    }
}
GitHub Actions 統合
name: Security Scan
on: [push]

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run Trivy
        uses: aquasecurity/trivy-action@master
        with:
          scan-type: 'fs'
          format: 'json'
          output: 'trivy-results.json'

      - name: Upload to DefectDojo
        run: |
          curl -X POST "${{ secrets.DEFECTDOJO_URL }}/api/v2/reimport-scan/" \
            -H "Authorization: Token ${{ secrets.DEFECTDOJO_TOKEN }}" \
            -F "scan_type=Trivy Scan" \
            -F "[email protected]" \
            -F "product_name=${{ github.repository }}" \
            -F "engagement_name=GitHub-${{ github.run_id }}" \
            -F "auto_create_context=true"

Python API の例

ヒント: Claude Code とのやり取りには、Python コードを記述する代わりに MCP ツール(defectdojo_list_findings など)を使用してください。以下の例は、CI/CD スクリプトや外部連携向けです。

基本的な API 接続
import requests

class DefectDojoAPI:
    def __init__(self, url, api_token):
        self.url = url.rstrip('/')
        self.headers = {
            'Authorization': f'Token {api_token}',
            'Accept': 'application/json'
        }

    def get_products(self):
        response = requests.get(
            f'{self.url}/api/v2/products/',
            headers=self.headers
        )
        response.raise_for_status()
        return response.json()

    def import_scan(self, engagement_id, scan_type, file_path, **kwargs):
        with open(file_path, 'rb') as f:
            data = {
                'engagement': engagement_id,
                'scan_type': scan_type,
                'minimum_severity': kwargs.get('minimum_severity', 'Info'),
                'active': kwargs.get('active', True),
                'verified': kwargs.get('verified', False),
            }
            files = {'file': f}
            response = requests.post(
                f'{self.url}/api/v2/import-scan/',
                headers={'Authorization': self.headers['Authorization']},
                data=data,
                files=files
            )
        response.raise_for_status()
        return response.json()

# Usage
api = DefectDojoAPI('https://defectdojo.example.com', 'your-api-token')
products = api.get_products()
プロダクトとエンゲージメントの作成
def create_product(api, name, prod_type_id, description=''):
    response = requests.post(
        f'{api.url}/api/v2/products/',
        headers=api.headers,
        json={
            'name': name,
            'prod_type': prod_type_id,
            'description': description
        }
    )
    response.raise_for_status()
    return response.json()

def create_engagement(api, product_id, name, target_start, target_end,
                      engagement_type='CI/CD'):
    response = requests.post(
        f'{api.url}/api/v2/engagements/',
        headers=api.headers,
        json={
            'name': name,
            'product': product_id,
            'target_start': target_start,
            'target_end': target_end,
            'engagement_type': engagement_type,
            'status': 'In Progress'
        }
    )
    response.raise_for_status()
    return response.json()
検出結果のクエリ
def get_findings(api, product_id=None, severity=None, active=True):
    params = {'active': active}
    if product_id:
        params['test__engagement__product'] = product_id
    if severity:
        params['severity'] = severity

    response = requests.get(
        f'{api.url}/api/v2/findings/',
        headers=api.headers,
        params=params
    )
    response.raise_for_status()
    return response.json()

# Get all critical findings
critical = get_findings(api, severity='Critical')

サポート対象のセキュリティツール(200 以上)

SAST/コード分析
  • Bandit、Checkmarx、Fortify、SonarQube、Semgrep
  • CodeQL、Horusec、Brakeman、SpotBugs
依存関係/SCA
  • Snyk、OWASP Dependency-Check、Dependency-Track
  • npm Audit、pip-audit、Trivy、Safety
DAST/Web スキャン
  • Burp Suite、OWASP ZAP、Nikto、Nessus
  • Qualys、OpenVAS、Acunetix、AppScan
コンテナー/インフラストラクチャ
  • Trivy、Aqua、Anchore、Wiz、NeuVector
  • kube-bench、Kubescape、Prisma Cloud
シークレット検出
  • Gitleaks、Trufflehog、Detect-secrets
  • GitHub Secret Scanning
クラウドセキュリティ
  • AWS Inspector、AWS Prowler、ScoutSuite
  • Azure Security Center、Checkov
IaC スキャン
  • Checkov、Terrascan、KICS、TFSec、Dockle

全リスト:https://docs.defectdojo.com/supported_tools/

JIRA 統合

設定
  1. システム設定で有効にする:

    Configuration > System Settings > Enable JIRA Integration
    
  2. JIRA インスタンスを追加する:

    Enterprise Settings > JIRA Instances > + New JIRA Instance
    
  3. Webhook を設定する(双方向同期):

    • JIRA で、次の URL を指定する Webhook を作成します: https://<defectdojo>/jira/webhook/<webhook-secret>
    • DefectDojo で「Enable JIRA web hook」を有効にします
環境変数
extraEnv:
  - name: DD_JIRA_URL
    value: "https://your-jira.atlassian.net"
  - name: DD_JIRA_MAX_RETRIES
    value: "3"
機能
  • 検出結果を JIRA の課題として登録
  • コメントの双方向同期
  • JIRA の課題がクローズされると検出結果を自動クローズ
  • SLA 通知を JIRA のコメントとして送信

プロジェクトファイルの場所

ファイルの種類パス
ApplicationSetinfra-team/applicationset/defectdojo.yaml
Helm Valuesargo-cd-helm-values/kube-addons/defectdojo/<cluster>/values.yaml
SecretProviderClassargo-cd-helm-values/kube-addons/defectdojo/<cluster>/secretproviderclass.yaml
環境設定
クラスターKey VaultAzure AD テナント ID
example-app-devkv-example-dev-hlg<TENANT_ID>
Azure AD アプリ登録
設定値
アプリケーション(クライアント)ID<AZURE_AD_APP_ID>
テナント ID<TENANT_ID>
リダイレクト URIhttps://defectdojo.dev.example.com/complete/azuread-tenant-oauth2/

Azure AD SSO の設定

必須の環境変数
extraEnv:
  # Enable Azure AD OAuth2
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_ENABLED
    value: "True"
  # Application (Client) ID
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY
    value: "<client-id>"
  # Directory (Tenant) ID
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID
    value: "<tenant-id>"
  # Client Secret (from Key Vault)
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET
    valueFrom:
      secretKeyRef:
        name: defectdojo
        key: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET
グループ同期
extraEnv:
  # Sync groups from Azure AD token
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_GET_GROUPS
    value: "True"
  # Remove users from groups when removed in Azure AD
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_CLEANUP_GROUPS
    value: "True"
  # Filter to only sync DefectDojo groups
  - name: DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_GROUPS_FILTER
    value: "^G-Usuarios-DefectDojo-.*"

必要な Azure AD のアクセス許可(アプリケーションの種類、管理者の同意が必要):

  • Group.Read.All
  • GroupMember.Read.All
  • User.Read.All

Azure AD SSO の詳細については、references/azure-ad-sso.md を参照してください。

DefectDojo のロール

ロールアクセス許可
Superuserシステムへの完全なアクセス、ユーザーの管理、システム設定
Ownerプロダクトの削除、他のユーザーのオーナーへの指定
Maintainerプロダクトの編集、メンバーの追加、検出結果の削除
Writerエンゲージメント、テスト、検出結果の追加・編集
Reader閲覧のみ、コメントの追加
API ImporterCI/CD パイプライン向けの制限付き API アクセス
ロールマッピング用 Azure AD グループ
Azure AD グループDefectDojo のロール
G-Usuarios-DefectDojo-SuperuserSuperuser
G-Usuarios-DefectDojo-OwnerOwner
G-Usuarios-DefectDojo-MaintainerMaintainer
G-Usuarios-DefectDojo-WriterWriter
G-Usuarios-DefectDojo-ReaderReader

Helm チャートのクイックリファレンス

主な値
# Host configuration
host: defectdojo.dev.example.com
siteUrl: https://defectdojo.dev.example.com

# Secrets (use CSI driver)
createSecret: false
disableHooks: true

# Django
django:
  replicas: 1
  ingress:
    enabled: true
    activateTLS: true
    className: nginx

# Celery (keep beat at 1 replica)
celery:
  beat:
    enabled: true
    replicas: 1
  worker:
    enabled: true
    replicas: 1

# Database
postgresql:
  enabled: true

# Cache
redis:
  enabled: true

Helm の値に関する詳細については、references/helm-values.md を参照してください。

Kubernetes のデプロイ

Helm の基本インストール
git clone https://github.com/DefectDojo/django-DefectDojo
cd django-DefectDojo

helm install defectdojo ./helm/defectdojo \
  -n defectdojo --create-namespace \
  --set django.ingress.enabled=true \
  --set django.ingress.activateTLS=false \
  --set createSecret=true \
  --set createRabbitMqSecret=true \
  --set createPostgresqlSecret=true
DefectDojo へのアクセス
kubectl port-forward --namespace=defectdojo service/defectdojo-django 8080:80

シークレット管理

シークレットは Azure Key Vault CSI Driver で管理します:

Key Vault のシークレットK8s シークレットキー用途
defectdojo-admin-passwordDD_ADMIN_PASSWORD管理者ユーザーのパスワード
defectdojo-secret-keyDD_SECRET_KEYDjango のシークレットキー
defectdojo-credential-aes-keyDD_CREDENTIAL_AES_256_KEY認証情報の暗号化
defectdojo-azuread-client-secretDD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRETAzure AD クライアントシークレット

よくあるトラブルシューティング

SSO ログイン後にユーザーがグループに所属していない

症状: ユーザーは Azure AD 経由でログインしましたが、「No group members found」と表示されます

解決方法:

  1. DD_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_GET_GROUPS=True が設定されていることを確認します
  2. Azure AD API のアクセス許可を確認します(管理者の同意を得た Group.Read.All)
  3. Azure AD トークンにグループのクレームが含まれていることを確認します(ロールのクレームではありません)
  4. グループを同期するには、ユーザーはログアウトして再度ログインする必要があります
  5. DefectDojo UI で一致するグループを作成します
HTTPS リダイレクト URI の不一致(ADSTS50011)

エラー:「要求で指定されたリダイレクト URI が一致しません」

解決方法: 次の設定を確認します:

- name: DD_SESSION_COOKIE_SECURE
  value: "True"
- name: DD_CSRF_COOKIE_SECURE
  value: "True"
- name: DD_SECURE_PROXY_SSL_HEADER
  value: "True"
ERR_TOO_MANY_REDIRECTS

原因: TLS 終端プロキシで DD_SECURE_SSL_REDIRECT=True が設定されています

解決方法: NGINX Ingress の背後では DD_SECURE_SSL_REDIRECT=False に設定します

緊急ログインアクセス

SSO が機能しない場合は、標準のログインフォームにアクセスしてください。

https://defectdojo.dev.example.com/login?force_login_form

トラブルシューティングの完全なガイドについては、references/troubleshooting.md をご覧ください。

便利なコマンド

Pod のステータスを確認する
KUBECONFIG=~/.kube/aks-rg-example-dev-config kubectl get pods -n defectdojo
ログを表示する
KUBECONFIG=~/.kube/aks-rg-example-dev-config kubectl logs -n defectdojo -l app.kubernetes.io/name=defectdojo -c uwsgi
デプロイメントを再起動する
KUBECONFIG=~/.kube/aks-rg-example-dev-config kubectl rollout restart deployment/defectdojo-django -n defectdojo

追加のリファレンス

MCP サーバー
スキルのリファレンス
外部

注意事項

  • 重複排除は製品ごとに行われ、全体では行われません: 2 つの製品に同じ CVE がある場合、2 件としてカウントされるため、ポートフォリオのメトリクスが膨らみます。全体の件数が必要な場合は、hash_code アルゴリズムを使用して製品間の重複排除を設定してください。
  • reimport-scan は見つからない検出結果を通知なしにクローズします: 部分的なスキャン(全パスではなく 1 つのパス)を再インポートすると、新しいファイルに含まれないすべての検出結果が自動的にクローズされます。do_not_reactivate=true を使用し、テストの範囲を慎重に設定してください。
  • auto_create_context=true は名前の揺れによって重複製品を作成します: 「MyApp」、「myapp」、「MyApp 」は 3 つの製品として登録されます。上流で product_name を正規化してください。DefectDojo はあいまい一致を行いません。
  • API トークンはチーム単位ではなくユーザー単位です: パイプライントークンは、作成者のすべての権限を継承します。人間のユーザーのトークンを再利用するのではなく、API Importer ロールを持つ専用の CI ユーザーを作成してください。
  • NGINX Ingress の背後で DD_SECURE_SSL_REDIRECT=True にすると、リダイレクトループが発生します: TLS は Ingress で終端されますが、その後 Django が HTTP を HTTPS に再度リダイレクトします。これを False に設定し、TLS の適用は Ingress に任せてください。
  • Azure AD グループの同期はログイン時にのみ実行されます: ユーザーを Azure AD グループに追加しても、同期はさかのぼって行われません。DefectDojo に新しいメンバーシップを認識させるには、ユーザーがログアウトして再度ログインする必要があります。

コメント