|
| 1 | +# GitLab Sync |
| 2 | + |
| 3 | +GitLab Sync enables users to automatically synchronize their GitLab projects with Dependency-Track when logging in via GitLab single sign-on (SSO) using GitLab's OIDC OAuth integration. SSO with GitLab is always available, but enabling the GitLab Sync integration specifically controls whether project synchronization from GitLab occurs upon OIDC login. This ensures users can always authenticate with GitLab SSO, but only have their GitLab projects pulled and managed within Dependency-Track when the integration is enabled. |
| 4 | + |
| 5 | +[official guide](https://docs.dependencytrack.org/getting-started/openidconnect-configuration/). |
| 6 | + |
| 7 | +## Enabling GitLab Sync |
| 8 | + |
| 9 | +Before enabling GitLab Sync, GitLab must be configured as an OpenID Connect (OIDC) provider in the Dependency-Track instance. This involves registering a new OAuth application in GitLab and configuring the appropriate redirect URIs and scopes. |
| 10 | + |
| 11 | +For detailed, step-by-step instructions and prerequisites, refer to the [Dependency-Track OpenID Connect Configuration documentation](https://docs.dependencytrack.org/getting-started/openidconnect-configuration/) under the "GitLab Sync" section. |
| 12 | + |
| 13 | +## Configuration Options |
| 14 | + |
| 15 | +Several configuration options are available for GitLab Sync, many of which are similar to properties in `application.properties` for Dependency-Track server: |
| 16 | + |
| 17 | +- **GitLab Application ID:** |
| 18 | + The OAuth application ID registered in your GitLab instance. |
| 19 | + |
| 20 | +- **GitLab URL:** |
| 21 | + The base URL of your GitLab instance (e.g., `https://GitLab.com`). |
| 22 | + |
| 23 | +- **Include archived projects:** |
| 24 | + Toggle to include or exclude archived GitLab projects from synchronization. |
| 25 | + |
| 26 | +- **Topics:** |
| 27 | + Specify topics to filter which projects are synchronized. |
| 28 | + |
| 29 | +- **Enable GitLab SBOM push:** |
| 30 | + Toggle to enable or disable pushing SBOMs (Software Bill of Materials) to GitLab. |
| 31 | + *When disabled, the following options are hidden:* |
| 32 | + |
| 33 | + - **Allow users to create missing projects:** |
| 34 | + Allow users to create new projects in GitLab if they do not already exist. |
| 35 | + |
| 36 | + - **Audience:** |
| 37 | + The expected audience value for OIDC tokens. |
| 38 | + |
| 39 | + - **GitLab JWKS Path:** |
| 40 | + The path to the JSON Web Key Set (JWKS) for validating GitLab tokens. |
| 41 | + |
| 42 | +These settings can be managed in the Dependency-Track UI under `Administration > Integration > GitLab`. |
| 43 | + |
| 44 | +## How It Works |
| 45 | + |
| 46 | +1. **SSO Authentication:** |
| 47 | + Users can always sign in to Dependency-Track using GitLab SSO, regardless of whether GitLab Sync is enabled. |
| 48 | + |
| 49 | +2. **Project Synchronization:** |
| 50 | + When GitLab Sync is enabled, Dependency-Track will automatically synchronize the user's GitLab projects upon OIDC login. If disabled, SSO login remains available, but no project synchronization occurs. |
| 51 | + |
| 52 | +3. **Integration Control:** |
| 53 | + The GitLab Sync integration and its options can be toggled in the Dependency-Track UI. |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +For further assistance, consult the Dependency-Track documentation or your system administrator. |
0 commit comments