Complete implementation of SCIM 2.0 per RFC7644 - ServiceProviderConfigs

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem Statement

Currently, GitLab "implements part of the RFC7644 protocol" (https://docs.gitlab.com/ee/administration/settings/scim_setup.html). Specifically, we only implement the 'Users' endpoint. We do not implement other endpoints described by the SCIM spec, which include endpoints that would be significant feature enhancements (e.g. 'Groups'), and endpoints which are part of the mechanics of the SCIM protocol (e.g. 'Schema'). A number of practical SCIM implementations, including the ones we test against, do not require a complete SCIM implementation. However, more sophisticated enterprise user management products are more likely to expect a complete SCIM implementation, including discovery using the 'Schema' endpoint.

An example is Sailpoint, whose documentation state that "mechanical" (e.g. related to the internal workings of SCIM) endpoints ServiceProviderConfig, ResourceTypes, and Schemas are expected to function as described in RFC7644. From my perspective in PS, Sailpoint seems to be increasingly in popularity and incompatibility with its SCIM implementation will probably become a more common complaint from customers over time.

Proposal

Improving our SCIM internal API to provide the standard endpoints described in the SCIM 2.0 specification would both improve features (by adding group management) and improve our compatibility with third-party SCIM implementations.

PM: @m_frankiewicz

Edited by Priyanka Palanikumar