Mappage d'attributs conditionnels

Le fichier de configuration permet des mappages de valeurs d'attribut conditionnel pour prendre en charge les utilisateurs AD marqués comme désactivés.

Ce mappage est effectué en remplaçant le bloc “scim” normal par le bloc “cond-scim”. Par exemple :
{  "ldap":"userAccountControl",
  "cond-scim":{
    "if":{"&":["{{value}}", "2"]},
    "then":{"active":false},
    "else":{"active":true}
  }
 }
L'exemple de code précédent effectue un test de bit arithmétique de la valeur d'attribut userAccountControl par rapport à 0x00000002. Si le bit est défini (l'opération “and” au niveau du bit produit un résultat différent de zéro), {“active”:false} est fusionné dans la nouvelle entrée de structure utilisateur, sinon, {"active":true} est fusionné dedans.
Quelques opérateurs logiques sont implémentés, mais seule l'expression "&" ("and" au niveau du bit) a été testée.
  • "&" ("and" au niveau du bit)
  • "!" (not logique)
  • "&&"(and logique)
  • "||"(or logique)
  • "==" (égalité de chaîne)
Les opérateurs suivants sont également implémentés : "!" (non logique), « && » (et logique), « || » (ou logique), « == » (égalité de chaînes).
Par exemple, vous pouvez rendre la valeur d'attribut SCIM obtenue conditionnée au fait que la valeur d'attribut LDAP AD est égale à l'une de deux chaînes. Les comparaisons de chaînes ne sont pas sensibles à la casse.
"if":{
  "||":[
    {"==":["{{value}}", "Fred"]},
    {"==":["{{value}}", "Barney"]}
  ]
 },
 "then":...
 "else":...
VerifyCet exemple IcbLdapSync.json contient la configuration JSON permettant de mapper l'attribut « LDAP"userAccountControl" » d'Active Directory vers l'attribut SCIM "active" .