Provision users

Once you've configured your SSO connection, the next step is to provision users. This process ensures that users can access your organization. This guide provides an overview of user provisioning and supported provisioning methods.

What is provisioning?

Provisioning helps manage users by automating tasks like creating, updating, and deactivating users based on data from your identity provider (IdP). There are three methods for user provisioning, with benefits for different organization needs:

Provisioning method Description Default setting in Docker Recommended for
Just-in-Time (JIT) Automatically create and provisions user accounts when they first sign in via SSO Enabled by default Best for organizations who need minimal setup, who have smaller teams, or low-security environments
System for Cross-domain Identity Management (SCIM) Continuously syncs user data between your IdP and Docker, ensuring user attributes remain updated without requiring manual updates Disabled by default Best for larger organizations or environments with frequent changes in user information or roles
Group mapping Maps user groups from your IdP to specific roles and permissions within Docker, enabling fine-tuned access control based on group membership Disabled by default Best for organizations that require strict access control and for managing users based on their roles and permissions

Default provisioning setup

By default, Docker enables JIT provisioning when you configure an SSO connection. With JIT enabled, user accounts are automatically created the first time a user signs in using your SSO flow.

JIT provisioning may not provide the level of control or security some organizations need. In such cases, SCIM or group mapping can be configured to give administrators more control over user access and attributes.

SSO attributes

When a user signs in through SSO, Docker obtains several attributes from your IdP to manage the user's identity and permissions. These attributes include:

  • Email address: The unique identifier for the user
  • Full name: The user's complete name
  • Groups: Optional. Used for group-based access control
  • Docker Org: Optional. Specifies the organization the user belongs to
  • Docker Team: Optional. Defines the team the user belongs to within the organization
  • Docker Role: Optional. Determines the user's permission within Docker

If your organization uses SAML for SSO, Docker retrieves these attributes from the SAML assertion message. Keep in mind that different IdPs may use different names for these attributes. The following reference table outlines possible SAML attributes used by Docker:

SSO Attribute SAML Assertion Message Attributes
Email address "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", email
Full name "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", name, "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
Groups (optional) "http://schemas.xmlsoap.org/claims/Group", "http://schemas.microsoft.com/ws/2008/06/identity/claims/groups", Groups, groups
Docker Org (optional) dockerOrg
Docker Team (optional) dockerTeam
Docker Role (optional) dockerRole

What's next?

Review the provisioning method guides for steps on configuring provisioning methods: