Azure Active Directory (Pro)
DefectDojo Pro unterstützt die Anmeldung über Azure Active Directory (Azure AD), einschließlich der automatischen Synchronisierung von Benutzergruppen. Open-Source-DefectDojo enthält kein SSO — siehe Authorized Users für die Zugriffskontrolle in der Open-Source-Version.
Voraussetzungen
Führen Sie die folgenden Schritte im Azure-Portal aus, bevor Sie DefectDojo konfigurieren:
Registrieren Sie eine neue App in Azure Active Directory.
Notieren Sie sich die folgenden Werte aus der registrierten App:
- Application (client) ID
- Directory (tenant) ID
- Erstellen Sie unter Certificates & Secrets ein neues Client Secret und notieren Sie dessen Wert
- Application ID URI
Fügen Sie unter Authentication > Redirect URIs eine URI vom Typ Web hinzu:
https://your-instance.cloud.defectdojo.com/complete/azuread-tenant-oauth2/
Konfiguration
Gehen Sie in DefectDojo zu Enterprise Settings > OAuth Settings, wählen Sie Azure AD aus und füllen Sie das Formular aus:
- Azure AD OAuth Key — geben Sie Ihre Application (client) ID ein
- Azure AD OAuth Secret — geben Sie Ihr Client Secret ein
- Azure AD Resource — Standardwert ist
https://graph.microsoft.com/. Dies ist die URI, über die DefectDojo zusätzliche Informationen (wie Gruppennamen) aus der Microsoft Graph Web API liest. Ändern Sie dies nur, wenn Ihre Gruppennamen auf einer anderen API-Ressource gespeichert sind. - Azure AD Tenant ID — geben Sie Ihre Directory (tenant) ID ein
- Azure AD Groups Filter — geben Sie optional einen Regex-String ein, um einzuschränken, welche Benutzergruppen importiert werden (siehe Group Mapping unten)
Aktivieren Sie Enable Azure AD OAuth und senden Sie das Formular ab. Auf der Anmeldeseite erscheint eine Schaltfläche Login With Azure AD.
Group Mapping
Group Mapping ermöglicht es DefectDojo, die Benutzergruppen-Mitgliedschaft aus Azure AD zu importieren. Benutzergruppen steuern in DefectDojo den Zugriff auf Produkte und Produkttypen über RBAC.
Aktivieren Sie Enable Azure AD OAuth Grouping, um diese Funktion zu aktivieren. Bei der Anmeldung gleicht DefectDojo die Azure-AD-Gruppen des Benutzers mit bestehenden DefectDojo-Gruppen ab. Gruppen, die in DefectDojo nicht gefunden werden, werden automatisch erstellt.
Um nur eine Teilmenge der Gruppen zu importieren, geben Sie einen Regex in das Feld Azure AD Groups Filter ein. Zum Beispiel:
^team-.*— entspricht jeder Gruppe, die mitteam-beginntteamA|teamB|groupC— entspricht bestimmten benannten Gruppen
Azure AD für das Senden von Gruppen konfigurieren
Das Azure-AD-Token muss so konfiguriert werden, dass es Gruppen-IDs enthält. Ohne dies sind im Token keine Gruppeninformationen vorhanden.
So konfigurieren Sie dies:
- Fügen Sie in der Azure-AD-Token-Konfiguration einen Group Claim hinzu. Wählen Sie im Zweifelsfall, welcher Gruppentyp ausgewählt werden soll, All Groups.
- Aktivieren Sie nicht die Option Emit groups as role claims.
- Aktualisieren Sie die API-Berechtigungen der Anwendung so, dass sie
GroupMember.Read.AlloderGroup.Read.Allenthalten.GroupMember.Read.Allwird empfohlen, da es weniger Berechtigungen gewährt.
Group Cleaning
Wenn Enable Azure AD OAuth Group Cleaning aktiviert ist, werden über die Azure-AD-Synchronisierung erstellte DefectDojo-Gruppen automatisch entfernt, sobald sie keine Mitglieder mehr haben. Wird ein Benutzer in Azure AD aus einer Gruppe entfernt, wird er auch aus der entsprechenden Gruppe in DefectDojo entfernt.