Skip to content

Commit a4cdbb9

Browse files
authored
Merge pull request #14880 from paulOsinski/may-docs
May docs maintenance
2 parents ec4fbb7 + 0f76e56 commit a4cdbb9

6 files changed

Lines changed: 143 additions & 22 deletions

File tree

docs/content/admin/sso/PRO__saml.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,19 @@ DefectDojo can use the SAML assertion to automatically assign users to [User Gro
4141

4242
The **Group Name Attribute** field specifies which attribute in the SAML assertion contains the user's group memberships. When a user logs in, DefectDojo reads this attribute and assigns the user to any matching groups. To limit which groups from the assertion are considered, use the **Group Limiter Regex Expression** field.
4343

44+
The value must match the attribute name your Identity Provider emits in the assertion exactly, including any namespace prefix. A short, friendly name like `groups` will only work if your IdP is configured to emit that literal attribute name — many IdPs use a fully qualified claim URI instead.
45+
46+
### Group Name Attribute by Identity Provider
47+
48+
| Identity Provider | Default attribute name to use |
49+
|---|---|
50+
| **Entra ID / Azure AD** | `http://schemas.microsoft.com/ws/2008/06/identity/claims/groups` |
51+
| **Okta** | `groups` (the attribute name you configured on the SAML app's Group Attribute Statement) |
52+
| **Keycloak** | `groups` (or whatever you set as the "SAML Attribute Name" on the Group List mapper) |
53+
| **PingFederate / generic** | Whatever value you configured on the IdP side — check your IdP's assertion before assuming `groups` |
54+
55+
If group mapping appears to do nothing — users log in successfully but no groups are created or assigned — the most common cause is a mismatch between this field and the attribute name your IdP is actually sending. Enable **Enable SAML Debugging** (see [Additional Options](#additional-options)) to see the raw attributes coming back from the IdP.
56+
4457
If no group with a matching name exists, DefectDojo will automatically create one. Note that a newly created group will not have any permissions configured — those can be set later by a Superuser.
4558

4659
To activate group mapping, check the **Enable Group Mapping** checkbox at the bottom of the form.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
title: "Creating a new user"
3+
description: "How to onboard a new user onto your DefectDojo instance"
4+
audience: opensource
5+
weight: 1
6+
---
7+
8+
This page describes the recommended onboarding workflow for adding new users to a DefectDojo instance. DefectDojo users can be used as both standard, human-operated accounts and as service accounts.
9+
10+
The admin who creates the account is responsible for delivering the initial credentials (username and password) to the new user.
11+
12+
## Recommended workflow
13+
14+
1. **Create the user account** in DefectDojo (Superuser only):
15+
* Navigate to **👤 Users → Users** to open the All Users table.
16+
* Click the 🛠️ (crossed wrench and screwdriver) icon.
17+
* Enter the new user's name and email address.
18+
* Set a temporary password.
19+
* Submit the form.
20+
21+
2. **Assign permissions** as appropriate — Product/Product Type membership, Configuration Permissions, Global Role, or Superuser status. See [Set a User's permissions](../set_user_permissions/) for details. A new user with no assignments will not be able to see any Products or Findings.
22+
23+
3. **Send the credentials to the new user out-of-band** (over email, your team's chat tool, or however you normally share secrets). Include:
24+
* The DefectDojo instance URL.
25+
* The username (typically their email address).
26+
* The temporary password you just set.
27+
* A note that they should change the password and enable MFA (if your instance uses MFA) on first login.
28+
29+
4. **The new user logs in and rotates the credential.** They can either:
30+
* Log in with the temporary password and then change it from their profile menu, or
31+
* Use the **I forgot my password** link on the login page to set a password directly without using the temporary one. The temporary password is still required for the initial account record to exist, but the user does not need to remember it if they use the password-reset flow.
32+
33+
5. **The new user configures MFA** from their profile menu. We strongly recommend requiring MFA for all users on instances that aren't behind SSO.
34+
35+
## SSO Users
36+
37+
If your instance is configured with [SSO](../configure_sso/), the workflow is different — users are typically created on first login from the Identity Provider, and you only need to grant them group membership or roles afterwards.
38+
39+
## Recovering from a lost MFA token
40+
41+
If a user loses access to their MFA device, see the [MFA recovery section](/get_started/pro/cloud/connectivity-troubleshooting/#ive-lost-access-to-my-mfa-codes) of the connectivity troubleshooting guide. There is currently no way to remove MFA from an account without an MFA code — the workaround is to create a new account for the user and re-grant the same permissions.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: "Creating a new user"
3+
description: "How to onboard a new user onto your DefectDojo instance"
4+
audience: pro
5+
weight: 1
6+
---
7+
8+
This page describes the recommended onboarding workflow for adding new users to a DefectDojo instance. DefectDojo users can be used as both standard, human-operated accounts and as service accounts.
9+
10+
The admin who creates the account is responsible for delivering the initial credentials (username and password) to the new user.
11+
12+
## Recommended workflow
13+
14+
1. **Create the user account** in DefectDojo (Superuser only):
15+
* Navigate to **👤 Users → ➕ New User**.
16+
* Enter the new user's name and email address.
17+
* Set a temporary password.
18+
* Submit the form.
19+
20+
2. **Assign permissions** as appropriate — Product/Product Type membership, Configuration Permissions, Global Role, or Superuser status. See [Set a User's permissions](../set_user_permissions/) for details. A new user with no assignments will not be able to see any Products or Findings.
21+
22+
3. **Send the credentials to the new user out-of-band** (over email, your team's chat tool, or however you normally share secrets). Include:
23+
* The DefectDojo instance URL.
24+
* The username (typically their email address).
25+
* The temporary password you just set.
26+
* A note that they should change the password and enable MFA (if your instance uses MFA) on first login.
27+
28+
4. **The new user logs in and rotates the credential.** They can either:
29+
* Log in with the temporary password and then change it from their profile menu, or
30+
* Use the **I forgot my password** link on the login page to set a password directly without using the temporary one. The temporary password is still required for the initial account record to exist, but the user does not need to remember it if they use the password-reset flow.
31+
32+
5. **The new user configures MFA** from their profile menu. We strongly recommend requiring MFA for all users on instances that aren't behind SSO.
33+
34+
## SSO Users
35+
36+
If your instance is configured with [SSO](../configure_sso/), the workflow is different — users are typically created on first login from the Identity Provider, and you only need to grant them group membership or roles afterwards.
37+
38+
## Recovering from a lost MFA token
39+
40+
If a user loses access to their MFA device, see the [MFA recovery section](/get_started/pro/cloud/connectivity-troubleshooting/#ive-lost-access-to-my-mfa-codes) of the connectivity troubleshooting guide. There is currently no way to remove MFA from an account without an MFA code — the workaround is to create a new account for the user and re-grant the same permissions.

docs/content/import_data/import_intro/reimport.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,22 @@ If you’re using a triage\-less scanner, or you don’t otherwise want Closed F
5959
* Set **do\_not\_reactivate** to **True** if using the API
6060
* Check the **Do Not Reactivate** checkbox if using the UI
6161

62+
### Force Active and Force Verified behavior
63+
64+
Setting `active=true` (UI: **Force Active**) or `verified=true` (UI: **Force Verified**) on a Reimport will set the corresponding status on every matched Finding, **including findings that would otherwise be Inactive because they were Mitigated**. This is the same reactivation behavior described above, just made explicit on every incoming Finding.
65+
66+
Force Active and Force Verified do **not** override statuses that represent an explicit user or system decision about why a Finding should not be Active:
67+
68+
| Status | Does Force Active reactivate it? | Why |
69+
|---|---|---|
70+
| Mitigated / Closed | Yes | Same as the default reactivation behavior |
71+
| Risk Accepted | No | The Finding is Inactive because a user explicitly accepted the risk; reimport must not silently revoke that decision |
72+
| Duplicate | No | The Finding is Inactive because deduplication marked it as a duplicate of another Finding; the original Finding (not the duplicate) is what should be active |
73+
| False Positive | No | Same reasoning as Risk Accepted — an explicit triage decision |
74+
| Out of Scope | No | Same reasoning as Risk Accepted — an explicit triage decision |
75+
76+
If you want a Risk Accepted or Duplicate Finding to become Active again, you need to remove the Risk Acceptance or the Duplicate marker first. Force Active alone will not do it.
77+
6278
## Opening the Reimport form
6379

6480
The **Re\-Import Findings** form can be accessed on any Test page, under the **⚙️Gear** drop\-down menu.

docs/content/supported_tools/parsers/universal_parser.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,3 +161,14 @@ You can edit the Test_Type associated with your Universal Parser to change:
161161
* Whether it is "active" or not. If not, it will not appear as an option in the "Scan Type" drop-down on the "Add Findings" page
162162
* Whether its findings should be marked "static" or "dynamic"
163163
* You can tweak the same-tool and cross-tool deduplication hash codes, as well as the reimport hash codes, for your Universal Parser under "Enterprise Settings". By default, only same-tool deduplication and reimport hash codes are populated, with the required values Title, Severity, and Description.
164+
165+
### Current limitations: editing and deleting a Universal Parser
166+
167+
The field-mapping configuration of an existing Universal Parser cannot be modified after it is created — only the associated Test_Type (above) is editable. There is also no in-UI option to delete a Universal Parser.
168+
169+
The current workaround for both cases is:
170+
171+
* **To change a parser's field mappings:** create a new Universal Parser with the desired mappings (using a representative sample file as in Step 1), and switch new imports to use the new parser. Existing Tests already imported under the old parser are unaffected.
172+
* **To "retire" a parser you no longer want to use:** mark its associated Test_Type as inactive (uncheck "active" on the Test_Type). It will stop appearing in the "Scan Type" drop-down on the Add Findings page. The parser configuration itself will remain in the database.
173+
174+
If you need a parser configuration permanently removed (for example, because it contains sensitive field names), contact [DefectDojo Support](mailto:support@defectdojo.com).
Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,55 @@
11
---
22
title: "Enabling Deduplication"
3-
description: "How to enable Deduplication at the Product level"
3+
description: "How to enable Deduplication at the Product or Engagement level"
44
weight: 2
55
audience: pro
66
aliases:
77
- /en/working_with_findings/finding_deduplication/enabling_product_deduplication
88
---
9-
Deduplication can be implemented at either a Product level or at a more narrow Engagement level.
9+
Deduplication can be applied at a Product\-wide level, or scoped more narrowly to a single Engagement.
1010

1111
## Deduplication for Products
1212

13-
1. Start by navigating to the System Settings page. This is nested under **Settings \> Pro Settings \> ⚙️ System Settings** on the sidebar.
13+
1. Navigate to the System Settings page: **Settings \> Pro Settings \> ⚙️ System Settings** on the sidebar.
1414

1515
![image](images/enabling_product-level_deduplication.png)
1616

17-
2. **Deduplication and Finding Settings** are at the top of the **System Settings** menu.
18-
17+
2. The **Deduplication and Finding Settings** card is at the top of the **System Settings** page.
18+
1919
![image](images/enabling_product-level_deduplication_2.png)
2020

2121
### Enable Finding Deduplication
2222

23-
**Enable Finding Deduplication** will turn on the Deduplication Algorithm for all Findings. Deduplication will be triggered on all subsequent imports \- when this happens, DefectDojo will look at any Findings contained in the destination Product, and deduplicate as per your settings.
24-
25-
### Delete Deduplicate Findings
23+
**Enable Finding Deduplication** turns on the Deduplication Algorithm for all Findings. Once enabled, Deduplication runs on every subsequent import — DefectDojo compares imported Findings against existing Findings in the destination Product and marks duplicates according to your configuration.
2624

27-
**Delete Deduplicate Findings**, combined with the **Maximum Duplicates** field allows DefectDojo to limit the amount of Duplicate Findings stored. When this field is enabled, DefectDojo will only keep a certain number of Duplicate Findings.
25+
### Delete Duplicate Findings
2826

29-
Applying **Delete Deduplicate Findings** will begin a deletion process immediately. DefectDojo will look at each Finding with Duplicates recorded, and will delete old duplicate Findings until the Maximum Duplicate number has been reached.
27+
**Delete Duplicate Findings**, combined with the **Maximum Duplicates** field, limits how many duplicate Findings DefectDojo retains. When enabled, a background job periodically prunes excess duplicates so that each original Finding keeps no more than the configured **Maximum Duplicates** count. Oldest duplicates are removed first.
3028

3129
## Deduplication for Engagements
3230

33-
Rather than Deduplicating across an entire Product, you can set a deduplication scope to be within a single Engagement exclusively.
31+
Rather than Deduplicating across an entire Product, you can scope Deduplication to a single Engagement.
32+
33+
### Open the Engagement form
3434

35-
### Edit Engagement page
35+
* **For a new Engagement:** open the **📥 Engagements** sub‑menu on the sidebar and click **\+ New Engagement**.
3636

37-
* To enable Deduplication within a New Engagement, start with the **\+ New Engagement** option from the sidebar, which you can find by opening the **📥Engagements** sub\-menu.
38-
3937
![image](images/enabling_deduplication_within_an_engagement.png)
4038

41-
* To enable Deduplication within an existing Engagement: from the **All Engagements** page, select the **Edit Engagement** option from the **** menu.
42-
39+
* **For an existing Engagement (from the All Engagements page):** open the **** menu for the Engagement and select **Edit Engagement**.
40+
4341
![image](images/enabling_deduplication_within_an_engagement_2.png)
4442

45-
* You can also open this menu from a specific **Engagement Page** by clicking the ⚙️Gear icon in the top\-right hand corner.
46-
43+
* **For an existing Engagement (from the Engagement page):** open the **⚙️ Gear** menu in the topright corner of the page and select **Edit Engagement**.
44+
4745
![image](images/enabling_deduplication_within_an_engagement_3.png)
4846

49-
### Completing the Edit Engagement form
47+
### Completing the Engagement form
5048

51-
1. Start by opening the **Optional Fields \+** menu at the bottom of the **Edit Engagement** form.
52-
2. Click the **Deduplication Within This Engagement** box.
49+
1. On the Engagement form, locate the **Isolate Deduplication from Other Engagements** checkbox. It appears above the **Optional Fields \+** panel.
50+
2. Check the box to scope Deduplication to this Engagement.
5351
3. Submit the form.
5452

55-
![image](images/enabling_deduplication_within_an_engagement_4.png)
53+
When this option is enabled, Findings in this Engagement will only be deduplicated against other Findings within the same Engagement. Findings in other Engagements on the same Product are ignored by the Deduplication Algorithm.
54+
55+
![image](images/enabling_deduplication_within_an_engagement_4.png)

0 commit comments

Comments
 (0)