|
| 1 | +--- |
| 2 | +pcx_content_type: reference |
| 3 | +title: SCIM v1 to v2 Migration |
| 4 | +sidebar: |
| 5 | + order: 1 |
| 6 | + label: SCIM migration |
| 7 | +head: [] |
| 8 | +description: Migrate from SCIM v1 Virtual Groups to Cloudflare’s GA SCIM User Groups |
| 9 | +--- |
| 10 | + |
| 11 | +Cloudflare's first iteration of SCIM integration introduced a concept called *Virtual Groups*, typically identified by the pattern `CF-<accountID>-<Role Name>` in your IdP. Virtual Groups were an early implementation of group-based access control: they acted as placeholders created automatically by SCIM to map IdP groups to account memberships. |
| 12 | + |
| 13 | +While customers could add or remove members from these groups within their IdP, Virtual Groups had important limitations: |
| 14 | +- They could not be renamed or deleted in the IdP. |
| 15 | +- They could not be managed within Cloudflare. |
| 16 | +- Functionally, managing a Virtual Group was equivalent to syncing users and editing each member’s policies individually. |
| 17 | + |
| 18 | +With the GA of [User Groups](/changelog/2025-06-23-user-groups-ga/), Virtual Groups are now deprecated. Customers should migrate to [User Groups](/fundamentals/manage-members/user-groups/), which provide a more flexible and scalable way to assign and manage policies. To maintain SCIM synchronization with the Cloudflare Dashboard, we strongly recommend migrating to **SCIM User Groups**. |
| 19 | + |
| 20 | +If you have never synced a group linked to a `CF-<accountID>-<Role Name>` Virtual Group from your IdP to Cloudflare, no action is needed. |
| 21 | + |
| 22 | +## Migration steps |
| 23 | + |
| 24 | +1. **Create a new SCIM integration** in your IdP using an [Account Owned Token](/fundamentals/account/account-security/scim-setup/) provisioned in Cloudflare. |
| 25 | +2. **Assign users & groups to your new Application** in your IdP, following a naming convention that aligns with your internal processes. |
| 26 | +3. **Sync groups to Cloudflare** and verify they appear in the **User Groups** pane of the Cloudflare Dashboard. |
| 27 | +4. **Attach permission policies** to the new User Groups so members inherit the correct access upon assignment to the group. |
| 28 | +5. **Migrate users** into the new groups incrementally, testing synchronization of users & groups into the Cloudflare Dashboard. |
| 29 | +6. **Clean up legacy resources** by removing SCIM v1 Virtual Groups and IdP mappings that follow the `CF-<accountID>-<Role Name>` pattern. |
| 30 | + |
| 31 | +## More resources |
| 32 | + |
| 33 | +* [User Groups changelog](/changelog/2025-06-02-user-groups-beta/) |
| 34 | +* [User Groups documentation](/fundamentals/manage-members/user-groups/) |
| 35 | +* [Create an Account Owned Token](/fundamentals/api/get-started/account-owned-tokens/#create-an-account-owned-token) |
| 36 | +* [SCIM provisioning setup guide](/fundamentals/account/account-security/scim-setup/) |
| 37 | + |
| 38 | + |
0 commit comments