---
title: "Configurer un mapping personnalisé pour un fournisseur d'authentification"
description: "Attribuez automatiquement des groupes et rôles Data Platform aux utilisateurs se connectant via un fournisseur d'authentification"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/iam-auth-providers-custom-mapping
lang: fr
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt.

# Configurer un mapping personnalisé pour un fournisseur d'authentification

## Objectif

Les mappings personnalisés vous permettent d'attribuer automatiquement des [groupes Data Platform](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/iam-groups.md) ou des [rôles](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/iam-roles-conditions.md) existants (ou de les créer automatiquement s'ils n'existent pas) aux utilisateurs se connectant via ce fournisseur d'authentification.

:::info
Dans la section **Log History**, le [formatage JSONPath](https://jsonpath.com/) peut être utilisé pour sélectionner des éléments de l'objet de réponse renvoyé après une authentification réussie, et configurer les mappings personnalisés ci-dessous.
:::

Cliquez sur **Add** dans le panneau Custom Mapping pour configurer un nouveau mapping.

![mapping](/images/public-cloud/data-platform/product/iam/project-iam/auth-provider/picts/mapping-new.png)
## Mode normal

Avec le mode normal, vous pouvez attribuer des [groupes](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/iam-groups.md) ou des [rôles](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/iam-roles-conditions.md) **existants** aux utilisateurs se connectant depuis le fournisseur d'authentification.

Pour ce faire, choisissez entre _Role_ et _Group_, et sélectionnez le rôle/groupe dans la sélection.

![mapping](/images/public-cloud/data-platform/product/iam/project-iam/auth-provider/picts/mapping-new2.png)
Par défaut, cela attribuera le rôle/groupe à tous les nouveaux utilisateurs importés depuis le fournisseur d'authentification, mais vous pouvez définir une condition sur le binding.

![mapping simple](/images/public-cloud/data-platform/product/iam/project-iam/auth-provider/picts/common_auth-provider-mapping-simple.png)
Les conditions sont **basées sur des champs provenant de la réponse des fournisseurs d'authentification**.\
Voici un exemple de condition :

```json
{
    "user.jobTitle": {
        "eq": "Admin"
    }
}
```

Cette condition recherchera le champ _user.jobTitle_ dans la réponse d'authentification pour tout nouvel utilisateur se connectant depuis le fournisseur d'authentification, et vérifiera si la valeur est égale à _Admin_. Si c'est le cas, le rôle/groupe sera attribué à cet utilisateur, sinon non.

Les opérateurs conditionnels sont :

- `eq` : Égal à la valeur
- `ne` : Différent de la valeur
- `in` : Dans l'ensemble de valeurs
- `nin` : Pas dans l'ensemble de valeurs
- `lt`, `lte`, `gt`, `gte` : Inférieur à, Inférieur ou égal à, Supérieur à, Supérieur ou égal à
- `regexp` : Tentera de faire correspondre le champ de la réponse d'authentification avec la valeur (regex)

## Mode JSON

Avec le mode JSON, vous pouvez [attribuer](#attribuer-des-rôlesgroupes-existants) ou [créer](#trouver-ou-créer-dynamiquement-des-rôlesgroupes) dynamiquement des groupes ou des rôles pour les utilisateurs se connectant depuis le fournisseur d'authentification. Basculez vers le mode JSON dans l'en-tête de la fenêtre pour l'activer.

### Attribuer des rôles/groupes existants

Le binding de groupes/rôles **existants** avec des conditions s'effectue à l'aide du mot-clé _if_.

![mapping avancé](/images/public-cloud/data-platform/product/iam/project-iam/auth-provider/picts/common_auth-provider-mapping-advanced.png)
```json
{
  "group": "_identifier_of_the_group",
  "if": {
    "organization.name": { 
      "eq": "Example Corp"
    }
  }
}
```

### Trouver ou créer dynamiquement des rôles/groupes

Vous pouvez définir dynamiquement des ressources liées à l'aide de l'option `bind`. Elle accepte 5 paramètres possibles :

- `upsert` : false/true
  - si _true_ : les groupes/rôles seront générés automatiquement s'ils n'existent pas déjà dans l'Identity Access Manager
  - si _false_ : seuls les groupes/rôles existants seront liés
- `input` : c'est un accesseur JSON path permettant d'obtenir la liste des « ressources à lier »
- `split` : dans certains cas, vous pourriez avoir un champ comme celui-ci dans la réponse : "group1,group2,group3". En saisissant "," la liste sera automatiquement séparée en utilisant les virgules comme séparateur
- `match` : [voir ci-dessous](#utiliser-le-paramètre-match)
- `replace` : [voir ci-dessous](#utiliser-le-paramètre-replace)

#### Utiliser le paramètre _match_

Vous pouvez ne récupérer que certains groupes correspondant à un **pattern regex spécifique**.

Par exemple, si le fournisseur d'authentification possède les groupes suivants : _PRIVATE\_ADMIN_, _IAM\_APP\_GROUP1_, _IAM\_APP\_GROUP2_, alors la configuration suivante ne créera que les 2 groupes commençant par "IAM\_APP".

```json
{
    "input": "$.memberships[*].displayName",
    "match": 'IAM_APP_.*'
}
```

Avec cette configuration, je n'obtiendrai que les 2 groupes commençant par IAM\_APP

#### Utiliser le paramètre _replace_

Le paramètre `replace` ne peut être utilisé que si un pattern "match" est défini. Il vous permet de **renommer les groupes créés**, à l'aide des [groupes de capture regex](https://javascript.info/regexp-groups) :

```json
{
    "input": "$.memberships[*].displayName",
    "match": 'IAM_APP_(.*)',
    "replace": '$1'
}
```

Dans l'exemple précédent, cela créera des groupes nommés "GROUP1" et "GROUP2" dans l'Identity Access Manager au lieu du nom complet.

#### Trois exemples

Par exemple, vous pouvez lier le nom des organisations à des groupes IAM :

```json
{
  "bind": {
    "upsert": false, // si défini sur true, le champ sera créé automatiquement
    "input": "$.organizations[*].name", // accesseur JSON path pour les éléments d'entrée
    "split": null // Optionnel, si défini, chaque valeur sera séparée avec la valeur du délimiteur
    "match": ".*", // Optionnel, fera correspondre la valeur trouvée dans input avec cette regexp
    "replace": "$0" // Optionnel, remplacera l'entrée par ce pattern avant de la définir comme nom pour le groupe/rôle.
  }
}
```

Cette configuration créera automatiquement de nouveaux groupes à partir des memberships de l'utilisateur :

```json
{
  "bind": {
    "upsert": true,
    "input": "$.memberships[*].displayName"
  }
}
```

Cet exemple de configuration :

![mapping bind](/images/public-cloud/data-platform/product/iam/project-iam/auth-provider/picts/common_auth-provider-mapping-bind.png)
- recherche le champ `$.user.isMemberOf`
- sépare les valeurs à l'aide d'une virgule (`,`)
- pour chaque valeur :
  - vérifie si elle correspond à une expression régulière commençant par `APP_MY_DASHBOARD_` et capturant la fin
  - remplace par `APP_` et la valeur capturée
  - comme `upsert` est false, vérifie si ce groupe existe dans l'IAM et lie les utilisateurs à ce groupe

```json
{
  "bind": {
    "upsert": false,
    "split": ",",
    "input": "$.user.isMemberOf",
    "match": "APP_MY_DASHBOARD_([\\w-]*)",
    "replace": "APP_$1"
  }
}
```

## Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](https://www.ovhcloud.com/fr/professional-services/) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le [canal Discord](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
