Synchronisation des mots de passe
En utilisant cette fonctionnalité, vous pouvez synchroniser :
- Les mots de passe via le synchroniseur de mots de passe en temps réel.
- Les mots de passe via des scripts personnalisés.
Synchroniseur de mots de passe
Sous Password Synchronizer, vous pouvez
- Automatiser la synchronisation des mots de passe avec les comptes liés des utilisateurs après que l'action en libre-service effectuée (réinitialisation ou changement de mot de passe) soit reflétée dans AD.
- Automatiser le déverrouillage des comptes pour les comptes liés des utilisateurs après que l'action de déverrouillage effectuée soit reflétée dans AD.
- Forcer la synchronisation des mots de passe avec les comptes liés des utilisateurs. Ils ne peuvent pas désélectionner l’un de leurs comptes liés lors de la synchronisation des mots de passe.
- Permettre aux utilisateurs d’exempter leur compte AD de la synchronisation des mots de passe.
- Permettre aux utilisateurs de sélectionner les comptes liés requis pour la synchronisation des mots de passe en ayant les comptes désélectionnés par défaut lors des actions en libre-service (réinitialisation de mot de passe, déverrouillage de compte et changement de mot de passe).
- Cochez la case à côté de Masquer l’onglet Application lorsque l’option de liaison automatique des comptes est activée pour supprimer l’onglet application du portail en libre-service de l’utilisateur lorsque celui-ci n’a accès à aucune application d’entreprise pour le SSO et que la liaison de compte est activée pour la synchronisation des mots de passe.
Exemple : Supposons que les utilisateurs souhaitent conserver des mots de passe distincts pour leurs comptes Windows et non-Windows ; avec cette option, l’administrateur peut permettre aux utilisateurs de désélectionner AD dans la liste des comptes disponibles pour la synchronisation des mots de passe. Ils pourront réinitialiser les mots de passe de leur compte non-Windows (comptes Google apps, comptes Microsoft 365, etc.) sans affecter leur mot de passe Windows.

Action postérieure
Sous Action postérieure, vous pouvez :
- Synchroniser les mots de passe des utilisateurs avec d’autres fournisseurs en exécutant un script personnalisé.
- Synchroniser les statuts de verrouillage de compte avec d’autres fournisseurs en exécutant un script personnalisé.

Considérations importantes en matière de sécurité
Les étapes mentionnées ci-dessous doivent être respectées lors de la mise en œuvre de scripts personnalisés :
- Le fichier script doit être placé dans le [Installation_Directory]/Scripts. Les références aux sous-dossiers ne sont pas autorisées.
- La commande du script doit contenir uniquement le nom du fichier et les arguments.
- Le premier argument doit être un nom de fichier avec son extension. Seuls les scripts VBScript (.vbs) et PowerShell (.ps1) sont autorisés.
- L’utilisation de '..' est restreinte dans la commande du script.
- Les arguments passés au script seront encodés en Base64 pour prévenir les attaques par injection de commandes.
Décodage des arguments
Une validation insuffisante des entrées des commandes en ligne de commande permet à un acteur malveillant d’exécuter des commandes arbitraires sur le système d’exploitation hôte. Pour protéger les utilisateurs contre ces attaques, tous les arguments du script seront encodés en Base64. Ces arguments doivent être décodés dans le script avant leur exécution.
Note : Pour faciliter ce processus, le dossier scripts contient deux fichiers - sample-base64.vbs et sample-base64.ps1. Ces fichiers contiennent un code exemple pour décoder depuis Base64.
Décodage Base64 en VBScript :
Un fichier d’aide présent dans [Installation Directory]/Scripts/utils/Base64Decoder.vbs contient la fonction Base64Decode. Vous pouvez utiliser cette fonction dans vos scripts pour décoder une valeur Base64.
- Importez le fichier Base64Decoder.vbs dans votre script.
- Passez la valeur encodée à la fonction Base64Decode. La fonction décodera la valeur et renverra la chaîne UTF-8.
Décodage Base64 en VBScript
Include("utils\Base64Decoder.vbs")
For Each arg In WScript.Arguments
Dim decodedArg
decodedArg = Base64Decode(arg)
f.WriteLine("Before decoding: " + arg)
f.WriteLine("After decoding: " + decodedArg)
Next
Décodage Base64 en script PowerShell :
- Passez la chaîne encodée à la fonction [System.Convert]::FromBase64String. Cela renverra la valeur décodée sous forme de tableau d’octets.
- Passez le tableau d’octets à la fonction [System.Text.Encoding]::UTF-8.GetString. Cela convertira le tableau d’octets en chaîne UTF-8.
Décodage Base64 en script PowerShell
foreach ($arg in $args) {
$decodedArg = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($arg))
Add-Content -Path sample-base64-test.txt -Value "Before decoding: $arg"
Add-Content -Path sample-base64-test.txt -Value "After decoding: $decodedArg"
}