Migrate JIT to SCIM
If you already have users provisioned through Just-in-Time (JIT) and want to enable full SCIM lifecycle management, you need to migrate them. Users originally created by JIT cannot be automatically de-provisioned through SCIM, even after SCIM is enabled.
Why migrate
Organizations using JIT provisioning may encounter limitations with user lifecycle management, particularly around de-provisioning. Migrating to SCIM provides:
- Automatic user de-provisioning when users leave your organization. This is the primary benefit for large organizations that need full automation.
- Continuous synchronization of user attributes
- Centralized user management through your identity provider
- Enhanced security through automated access control
ImportantUsers originally created through JIT provisioning cannot be automatically de-provisioned by SCIM, even after SCIM is enabled. To enable full lifecycle management including automatic de-provisioning through your identity provider, you must manually remove these users so SCIM can re-create them with proper lifecycle management capabilities.
This migration is most critical for larger organizations that require fully automated user de-provisioning when employees leave the company.
Prerequisites
Before migrating, ensure you have:
- SCIM configured and tested in your organization
- A maintenance window for the migration
WarningThis migration temporarily disrupts user access. Plan to perform this migration during a low-usage window and communicate the timeline to affected users.
Prepare for migration
Transfer ownership
Before removing users, ensure that any repositories, teams, or organization resources they own are transferred to another administrator or service account. When a user is removed from the organization, any resources they own may become inaccessible.
- Review repositories, organization resources, and team ownership for affected users.
- Transfer ownership to another administrator.
WarningIf ownership is not transferred, repositories owned by removed users may become inaccessible when the user is removed. Ensure all critical resources are transferred before proceeding.
Verify identity provider configuration
- Confirm all JIT-provisioned users are assigned to the Docker application in your identity provider.
- Verify identity provider group to Docker Team mappings are configured and tested.
Users not assigned to the Docker application in your identity provider are not re-created by SCIM after removal.
Export user records
Export a list of JIT-provisioned users from Docker Admin Console:
- Sign in to Docker Home and select your organization.
- Select Admin Console, then Members.
- Select Export members to download the member list as CSV for backup and reference.
Keep this CSV list of JIT-provisioned users as a rollback reference if needed.
Complete the migration
Disable JIT provisioning
ImportantBefore disabling JIT, ensure SCIM is fully configured and tested in your organization. Do not disable JIT until you have verified SCIM is working correctly.
- Sign in to Docker Home and select your organization.
- Select Admin Console, then SSO and SCIM.
- In the SSO connections table, select the Actions menu for your connection.
- Select Disable JIT provisioning.
- Select Disable to confirm.
Disabling JIT prevents new users from being automatically added through SSO during the migration.
Remove JIT-origin users
ImportantUsers originally created through JIT provisioning cannot be automatically de-provisioned by SCIM, even after SCIM is enabled. To enable full lifecycle management including automatic de-provisioning through your identity provider, you must manually remove these users so SCIM can re-create them with proper lifecycle management capabilities.
This step is most critical for large organizations that require fully automated user de-provisioning when employees leave the company.
- Sign in to Docker Home and select your organization.
- Select Admin Console, then Members.
- Identify and remove JIT-provisioned users in manageable batches.
- Monitor for any errors during removal.
TipTo efficiently identify JIT users, compare the member list exported before SCIM was enabled with the current member list. Users who existed before SCIM was enabled were likely provisioned via JIT.
Verify SCIM re-provisioning
After removing JIT users, SCIM automatically re-creates user accounts:
- In your identity provider system log, confirm "create app user" events for Docker.
- In Docker Admin Console, confirm users reappear with SCIM provisioning.
- Verify users are added to the correct teams via group mapping.
Validate user access
Perform post-migration validation:
- Select a subset of migrated users to test sign-in and access.
- Verify team membership matches identity provider group assignments.
- Confirm repository access is restored.
- Test that de-provisioning works correctly by removing a test user from your identity provider.
Keep audit exports and logs for compliance purposes.
Migration results
After completing the migration:
- All users in your organization are SCIM-provisioned
- User de-provisioning works reliably through your identity provider
- No new JIT users are created
- Consistent identity lifecycle management is maintained
Troubleshoot migration issues
If a user fails to reappear after removal:
- Check that the user is assigned to the Docker application in your identity provider.
- Verify SCIM is enabled in both Docker and your identity provider.
- Trigger a manual SCIM sync in your identity provider.
- Check provisioning logs in your identity provider for errors.
For more troubleshooting guidance, see Troubleshoot provisioning.
Next steps
- Set up Group mapping.
- Assign roles to members of your org.
- Enforce sign in, if needed.