SCIM Client

Contents

How does it work?

The goal is to use the Trustelem to provision users and groups into an application that exposes a SCIM 2.0 API. The connector is what lets Trustelem reach a SCIM server that is only accessible from the customer's private network, but it can just as well forward to a SCIM server reachable from outside the network.

To do so, a connector, Trustelem Connect, is installed on a local customer server. Unlike the LDAP / Radius use case where Trustelem Connect receives requests, here Trustelem is the SCIM client: it builds the provisioning requests and Trustelem Connect forwards them to the SCIM server (typically one that lives on the private network, but any reachable SCIM server works).

scim-architecture.png

1/ During the setup, Trustelem Connect opens a websocket to Trustelem services using port 443.
Note: with the websocket, information is encrypted by TLS protocol and with an additional symmetric encryption.
On the local machine, Trustelem Connect is also configured with one or more targets. A target is a named destination (a host:port) that the agent is allowed to dial — here, your SCIM server.
For instance, I made the setup of Trustelem Connect and declared a target named scim-server pointing at 10.0.0.12:443

2/ On a regular schedule (every 5 minutes), or when an administrator clicks Force SCIM Sync, Trustelem computes the users and groups that should exist on the application, based on its access rules, and prepares the corresponding SCIM requests (create / update / delete).

3/ Trustelem sends each SCIM request to Trustelem Connect through the websocket, naming the target to use.

4/ Trustelem Connect opens the connection to the SCIM server (in TLS if the base URL is https://) and forwards the request to the address configured for that target.
Note: the generic agent only dials targets it has been explicitly configured with, so a request to an undeclared target is refused — it will never dial an arbitrary address.

5/ Trustelem Connect forwards the SCIM server's answer back to Trustelem through the websocket, and Trustelem records the result of the synchronization.

With the previous example:

Prerequisites

Setup TrustelemConnect on a Windows machine

In your Trustelem administration page:

create_service.png

On your server:

setup_ldap.png

In your Trustelem administration page

scim-connector-connected.png

You now have a functional connector.

Setup Trustelem Connect on a Linux machine

In your Trustelem administration page:

create_service.png

On your server:

service_id = 2jy34wpcohrhdytr6hutym6qfi2l7nnw
state_dir = run/
# if there is a proxy
proxy = https://username:password@proxy_IP:proxy_port

In your Trustelem administration page

scim-connector-connected.png

You now have a functional connector.

Declare the SCIM server as a connector target

Outbound SCIM never dials the remote directly: Trustelem Connect forwards the request to a named target. You declare that target on the machine running the connector with the set-target command, then you reference it by name in the application setup.

On your server, from the Trustelem Connect folder:

connect set-target <name> <host:port>

With the previous example:

connect set-target scim-server 10.0.0.12:443
[target.scim-server]
addr = 10.0.0.12:443

Setup an application to provision through SCIM

On your Trustelem administration page:

scim-app-settings.png

Of course, you need to create the access rules to define which users will be provisioned to the application
https://trustelem-doc.wallix.com/books/trustelem-administration/page/access-rules

Trustelem is now ready to provision users and groups to the application through Trustelem Connect.

Force a synchronization

By default, Trustelem pushes the SCIM updates every 5 minutes. To apply your configuration immediately:

Debug

The connector doesn't appear in the setup page on the admin page

The SCIM synchronization is not working


Revision #2
Created 7 June 2026 08:59:04 by WALLIX Admin
Updated 7 June 2026 13:03:57 by WALLIX Admin