SCIM Introduction

This section refers to SCIM 2.0 integration with Horizon, used to provision users and groups in Horizon.

Description

SCIM (System for Cross-domain Identity Management) is an open standard protocol for automating the exchange of groups and users identity information between identity domains and Horizon, users and groups are synchronized between the two systems with a rich but simple set of operations:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

The SCIM protocol is detailed in the following RFCs:

  • RFC7642 (System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements)

  • RFC7643 (System for Cross-domain Identity Management: Core Schema)

  • RFC7644 (System for Cross-domain Identity Management: Protocol)

Horizon does not support the full RFC, Horizon only supports the minimum of the RFC and ensures compatibility with Azure Ad and Okta.

Prerequisites

According to the context, you need:

  • An application that is compatible with SCIM 2.0.

  • Have users or groups configured in your identity manager for provisioning

Authentication with Horizon

  • Have a bearer token or basic Auth

To build the bearer token you must encode in base 64 → Login:Password

Endpoint

SCIM 2.0 Base Url corresponds to: https://<horizonUrl>/security/scim/<scimProfileName>/

Limitations

Endpoints

List of endpoints supported:

  • Users

  • Groups

  • ServiceProviderConfig

  • ResourceTypes

Filters

List of operators supported for filtering:

  • eq

  • and

  • ( )

  • [ ]

List of attributes supported for filtering:

  • userName

  • displayName

Password

Horizon does not manage the password assignment.

Email

Horizon only have one email for SCIM user, it is the mail type in SCIM Profile.

SCIM User

The id of a SCIM User corresponds to the identifier of a Principal Info.

SCIM Group

Horizon does not support the creation and deletion of SCIM groups.

Supported Attributes

The list of objects and their representations :

SCIM User

  • schemas

  • userName

  • id

  • emails

  • meta

  • active

SCIM Group

  • schemas

  • id

  • displayName

  • members

Synchronization in Horizon

To synchronize between the SCIM groups and the roles and teams there is an object called a SCIM Profile. This object serves as an intermediary between SCIM and Horizon.