From 0bf4c39e2de9a599bb1b9b8065bc843b71426866 Mon Sep 17 00:00:00 2001 From: Allie Sadler <102604716+aevesdocker@users.noreply.github.com> Date: Mon, 17 Apr 2023 16:32:40 +0100 Subject: [PATCH] ENGDOCS-1301 (#17125) * ENGDOCS-1301 * add image * add screenshot, clarify SCIM, tidy * reorg toc * tidy * reduce image size * enfore sign in info --- _data/toc.yaml | 4 ++-- docker-hub/group-mapping.md | 32 ++++++++++++++++++++++++++++-- docker-hub/images/jit.PNG | Bin 0 -> 36397 bytes single-sign-on/configure/index.md | 15 +++++++++++--- 4 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 docker-hub/images/jit.PNG diff --git a/_data/toc.yaml b/_data/toc.yaml index d62912135f..047c730789 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -1885,8 +1885,6 @@ manuals: title: Create and manage a team - path: /docker-hub/members/ title: Manage members - - path: /docker-hub/configure-sign-in/ - title: Enforce sign-in - sectiontitle: Single Sign-on section: - path: /single-sign-on/ @@ -1917,6 +1915,8 @@ manuals: title: Recover your Docker Hub account - path: /docker-hub/2fa/new-recovery-code/ title: Generate a new recovery code + - path: /docker-hub/configure-sign-in/ + title: Enforce sign-in for Desktop - path: /docker-hub/audit-log/ title: Audit logs - path: /docker-hub/domain-audit/ diff --git a/docker-hub/group-mapping.md b/docker-hub/group-mapping.md index 72b994917f..37acc5d809 100644 --- a/docker-hub/group-mapping.md +++ b/docker-hub/group-mapping.md @@ -15,10 +15,38 @@ Once you enable group mappings in your connection, users assigned to that group >Use the same names for the Docker teams as your group names in the IdP to prevent further configuration. When you sync groups, a group is created if it doesn’t already exist. {: .tip} -To take advantage of group mapping, make sure you have [enabled SCIM](scim.md) and then follow the instructions provided by your IdP: +## How group mapping works + +IdPs share with Docker the main attributes of every authorized user through SSO, such as email address, name, surname, and groups. These attributes are used by Just-In-Time (JIT) Provisioning to create or update the user’s Docker profile and their associations with organizations and teams on Docker Hub. + +Docker uses the email address of the user to identify them on the platform. Every Docker account must have a unique email address at all times. + +After every successful SSO sign-in authentication, the JIT provisioner performs the following actions: + +1. Checks if there's an existing Docker account with the email address of the user that just authenticated. + + a) If no account is found with the same email address, it creates a new Docker account using basic user attributes (email, name, and surname). The JIT provisioner generates a new username for this new account by using the email, name, and random numbers to make sure that all account usernames are unique in the platform. + + b) If an account exists for this email address, it uses this account and updates the full name of the user’s profile if needed. +2. Checks if the IdP shared group mappings while authenticating the user. + + a) If the IdP provided group mappings for the user, the user gets added to the organizations and teams indicated by the group mappings. + + b) If the IdP didn't provide group mappings, it checks if the user is already a member of the organization, or if the SSO connection is for multiple organizations (only at company level) and if the user is a member of any of those organizations. If the user is not a member, it adds the user to the default team and organization configured in the SSO connection. + +![JIT provisioning](images/jit.PNG) + +## Use group mapping + +To take advantage of group mapping, follow the instructions provided by your IdP: - [Okta](https://help.okta.com/en-us/Content/Topics/users-groups-profiles/usgp-enable-group-push.htm){: target="_blank" rel="noopener" class="_" } - [Azure AD](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/customize-application-attributes){: target="_blank" rel="noopener" class="_" } - [OneLogin](https://developers.onelogin.com/scim/create-app){: target="_blank" rel="noopener" class="_" } -Once complete, a user who signs in to Docker through SSO is automatically added to the organizations and teams mapped in the IdP. \ No newline at end of file +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](scim.md) 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. +{: .tip} diff --git a/docker-hub/images/jit.PNG b/docker-hub/images/jit.PNG new file mode 100644 index 0000000000000000000000000000000000000000..223ce983f8e13575cbc1fe3b5f65fc34e747dfa1 GIT binary patch literal 36397 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 +> +>If SSO isn't enforced, users can choose to sign in with either their Docker ID or SSO. +{: .important}