content/manuals/enterprise/security/provisioning/group-mapping.md
{{< summary-bar feature_name="SSO" >}}
Group mapping automatically synchronizes user groups from your identity provider (IdP) with teams in your Docker organization. For example, when you add a developer to the "backend-team" group in your IdP, they're automatically added to the corresponding team in Docker
This page explains how group mapping works, and how to set up group mapping.
[!TIP]
Group mapping is ideal for adding users to multiple organizations or multiple teams within one organization. If you don't need to set up multi-organization or multi-team assignment, SCIM user-level attributes may be a better fit for your needs.
Before you being, you must have:
Group mapping keeps your Docker teams synchronized with your IdP groups through these key components:
Group mapping setup involves configuring your identity provider to share group information with Docker. This requires:
You can use group mapping with SSO only, or with both SSO and SCIM for enhanced user lifecycle management.
Create groups in your IdP using the format: organization:team.
For example:
mobdy:developersmoby:backend and whale:desktopDocker creates teams automatically if they don't already exist when groups sync.
| Attribute | Description |
|---|---|
id | Unique ID of the group in UUID format. This attribute is read-only. |
displayName | Name of the group following the group mapping format: organization:team. |
members | A list of users that are members of this group. |
members(x).value | Unique ID of the user that is a member of this group. Members are referenced by ID. |
Use group mapping with SSO connections that use the SAML authentication method.
[!NOTE]
Group mapping with SSO isn't supported with the Azure AD (OIDC) authentication method. SCIM isn't required for these configurations.
{{< tabs >}} {{< tab name="Okta" >}}
The user interface for your IdP may differ slightly from the following steps. Refer to the Okta documentation to verify.
To set up group mapping:
groupsUnspecifiedStarts with + organization: where organization is the name of your organization
The filter option will filter out the groups that aren't affiliated with your Docker organization.organization:team that matches the names of your organization(s) and team(s) in Docker.The next time you sync your groups with Docker, your users will map to the Docker groups you defined.
{{< /tab >}} {{< tab name="Entra ID" >}}
The user interface for your IdP may differ slightly from the following steps. Refer to the Entra ID documentation to verify.
To set up group mapping:
Display nameContains:The next time you sync your groups with Docker, your users will map to the Docker groups you defined.
{{< /tab >}} {{< /tabs >}}
Use group mapping with SCIM for more advanced user lifecycle management. Before you begin, make sure you set up SCIM first.
{{< tabs >}} {{< tab name="Okta" >}}
The user interface for your IdP may differ slightly from the following steps. Refer to the Okta documentation to verify.
To set up your groups:
organization:team that matches the names of your organization(s) and team(s) in Docker.Sync groups with Docker Hubdocker: or contains : for multi-organizationFind your new rule under By rule in the Pushed Groups column. The groups that match that rule are listed in the groups table on the right-hand side.
To push the groups from this table:
{{< /tab >}} {{< tab name="Entra ID" >}}
The user interface for your IdP may differ slightly from the following steps. Refer to the Entra ID documentation to verify.
Complete the following before configuring group mapping:
externalId type to reference, then select the Multi-Value checkbox and choose the referenced object attribute urn:ietf:params:scim:schemas:core:2.0:Group.Next, set up group mapping:
organization:team format.To verify, select Monitor, then Provisioning logs to see that your groups were provisioned successfully. In your Docker organization, you can check that the groups were correctly provisioned and the members were added to the appropriate teams.
{{< /tab >}} {{< /tabs >}}
Once complete, a user who signs in to Docker through SSO is automatically added to the organizations and teams mapped in the IdP.
[!TIP]
Enable SCIM to take advantage of automatic user provisioning and de-provisioning. If you don't enable SCIM users are only automatically provisioned. You have to de-provision them manually.