SCIM 2.0
Le connecteur SCIM permet la synchronisation des données entre les applications supportant le standard SCIM (System for Cross-domain Identity Management) 2.0 et RAC/M Identity. Pour ce faire, le connecteur utilise l'API REST SCIM. Le standard SCIM est défini dans les RFC 7642, RFC 7643 et RFC 7644.
WARNING
Le support SCIM varie selon les applications. En général, toutes les fonctionnalités ne sont pas disponibles via l'API SCIM. Veuillez vous référer à la documentation SCIM de votre application pour comprendre quelles fonctionnalités sont supportées.
Configuration
Le connecteur supporte plusieurs méthodes d'authentification. Pour déterminer quelle méthode utiliser, référez-vous à la documentation SCIM de votre application. De plus, OKIOK a testé certaines implémentations SCIM spécifiques et fournit des paramètres de configuration spécifiques pour celles-ci. Consultez les pages dédiées pour chaque implémentation.
Paramètres communs
Les paramètres suivants sont requis indépendamment du type d'authentification :
| Configuration | Description |
|---|---|
| Authentication | Sélectionnez la méthode d'authentification : token (jeton API), jwt-bearer-token (jeton porteur JWT), ou oauth-client-credentials (flux OAuth Client Credentials). |
| SCIM Endpoint | Entrez le chemin de l'endpoint SCIM sur le fournisseur de services (par ex., /services/scim). |
| SCIM Version | Entrez la version de l'API SCIM supportée par le fournisseur de services (par ex., /v1 ou /v2). |
| Proxy Address | Entrez l'adresse du serveur proxy (nom d'hôte ou adresse IP). |
| Proxy Port Number | Entrez le numéro de port du serveur proxy. |
| Default Charset | Entrez l'encodage de caractères par défaut utilisé lorsque la réponse ne spécifie pas de charset (par ex., UTF-8). |
| Base URL | Entrez l'URL de base du service. |
| Custom HTTP headers | Liste optionnelle d'en-têtes HTTP supplémentaires ajoutés à chaque requête SCIM, une valeur par entrée, au format Name: value (par ex., ocp-apim-subscription-key: <clé>). Utile pour les passerelles API telles qu'Azure API Management. Les valeurs sont confidentielles (stockées et affichées comme valeurs protégées), car un en-tête peut contenir un secret tel qu'une clé d'abonnement. Non envoyés avec la requête d'authentification (jeton). Laissez vide pour n'envoyer aucun en-tête supplémentaire. |
Authentification par jeton
La méthode d'authentification token est un simple jeton "Bearer" ajouté à l'en-tête Authorization de la requête.
Lors de l'utilisation de token comme type d'authentification, les paramètres suivants sont requis :
| Configuration | Description |
|---|---|
| Token | Entrez le jeton API utilisé pour l'authentification basée sur un jeton. |
Authentification par jeton porteur JWT
La méthode d'authentification jwt-bearer-token génère un jeton JWT signé à l'aide d'une clé privée et l'envoie à l'endpoint d'authentification. L'endpoint d'authentification renvoie ensuite un jeton d'accès OAuth qui peut être utilisé pour authentifier la requête.
Lors de l'utilisation de jwt-bearer-token comme type d'authentification, les paramètres suivants sont requis :
| Configuration | Description |
|---|---|
| Private Key (PEM) | Entrez la clé privée au format PEM (PKCS#8). Requis pour l'authentification par jeton porteur JWT. Consultez Format de la clé privée ci-dessous pour plus de détails. |
| JWT Authentication Endpoint | Entrez l'URL de l'endpoint d'authentification qui accepte les jetons porteurs JWT et renvoie des jetons d'accès OAuth. |
| JWT Issuer | Entrez la valeur de la revendication (claim) émetteur (iss) à inclure dans le jeton JWT. |
| JWT Subject | Entrez la valeur de la revendication (claim) sujet (sub) à inclure dans le jeton JWT. |
| JWT Audience | Entrez la valeur de la revendication (claim) audience (aud) à inclure dans le jeton JWT. |
| JWT Expiration Seconds | Entrez le temps d'expiration du jeton JWT en secondes (par défaut : 300 secondes / 5 minutes). |
Format de la clé privée
La clé privée doit être fournie au format PEM en utilisant l'encodage PKCS#8. La clé doit commencer par -----BEGIN PRIVATE KEY----- et se terminer par -----END PRIVATE KEY-----.
Format supporté :
- PKCS#8 :
-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY-----
Non supporté :
- PKCS#1 :
-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
Si votre clé privée est dans un format différent, utilisez les commandes suivantes pour la convertir :
Convertir PKCS#1 en PKCS#8 :
bashopenssl pkcs8 -topk8 -nocrypt -in key.pem -out key_pkcs8.pemConvertir DER en PKCS#8 PEM :
bashopenssl pkcs8 -topk8 -nocrypt -inform DER -in key.der -out key_pkcs8.pemConvertir PKCS#12 (.p12 ou .pfx) en PKCS#8 PEM :
bashopenssl pkcs12 -in key.p12 -nocerts -nodes -out key_pkcs8.pemExtraire la clé privée d'une paire certificat/clé :
bashopenssl pkcs8 -topk8 -nocrypt -in private_key.pem -out key_pkcs8.pem
Authentification par flux OAuth Client Credentials
La méthode d'authentification oauth-client-credentials utilise le flux OAuth 2.0 Client Credentials pour obtenir un jeton d'accès. Cette méthode s'authentifie en utilisant les identifiants client (ID client et secret client) et, pour les types d'octroi qui les exigent, un nom d'utilisateur/mot de passe, puis les échange contre un jeton d'accès OAuth à l'endpoint d'authentification. Le paramètre grant_type est toujours envoyé dans le corps de la requête de jeton (requis par des fournisseurs tels que Microsoft Entra ID).
Lors de l'utilisation de oauth-client-credentials comme type d'authentification, les paramètres suivants s'appliquent :
| Configuration | Description |
|---|---|
| Username | Entrez le nom d'utilisateur du compte de service pour le service compatible SCIM. Requis pour les types d'octroi qui portent les identifiants du propriétaire de la ressource (par ex. password) ; laissez vide pour client_credentials. |
| Password | Entrez le mot de passe du compte de service pour le service compatible SCIM. Requis pour les types d'octroi qui portent les identifiants du propriétaire de la ressource (par ex. password) ; laissez vide pour client_credentials. |
| Client ID | Entrez l'ID client généré par l'endpoint de service pour l'intégration d'application (requis pour le flux OAuth Client Credentials). |
| Client Secret | Entrez le secret client généré par l'endpoint de service pour l'intégration d'application (requis pour le flux OAuth Client Credentials). |
| Login URL | Entrez l'adresse URL pour la connexion/authentification (requis pour le flux OAuth Client Credentials). Lorsque Grant type est un type d'octroi seul (par ex. client_credentials), cette URL doit être l'endpoint de jeton lui-même. |
| Grant Type | Entrez soit le type d'octroi seul (par ex. client_credentials) — l'URL de connexion est alors l'endpoint de jeton lui-même — soit le chemin de l'endpoint de jeton avec son paramètre de type d'octroi, ajouté à l'URL de connexion (par ex. /services/oauth2/token?grant_type=password) (requis pour le flux OAuth Client Credentials). Les orthographes avec tirets du type d'octroi client credentials (client-credentials, client-credential) sont acceptées et mappées vers client_credentials. |
| OAuth scope | Liste optionnelle de portées OAuth séparées par des espaces, envoyée comme paramètre scope de la requête de jeton (par ex., api refresh_token). Laissez vide pour omettre le paramètre. Certains fournisseurs exigent une portée pour le flux OAuth Client Credentials. |
Si la réponse de jeton ne contient pas d'instance_url (par exemple Microsoft Entra ID), le connecteur utilise le Base URL configuré comme racine du service. Dans ce cas, définissez Base URL sur la racine du service SCIM.
