Synchronizacja haseł
Za pomocą tej funkcji możesz synchronizować:
- Hasła za pośrednictwem synchronizatora haseł w czasie rzeczywistym.
- Hasła za pomocą niestandardowych skryptów.
Synchronizator haseł
W sekcji Synchronizator haseł możesz
- Automatyzacja synchronizacji haseł z kontami powiązanymi użytkowników po wykonaniu samodzielnej akcji (reset hasła lub zmiana hasła), które są odzwierciedlone w AD.
- Automatyzacja odblokowywania kont dla powiązanych kont użytkowników po wykonaniu akcji odblokowywania, która jest odzwierciedlona w AD.
- Wymuszenie synchronizacji haseł z powiązanymi kontami użytkowników. Nie mogą oni odznaczać żadnego z powiązanych kont podczas synchronizacji haseł.
- Umożliwienie użytkownikom wyłączenia synchronizacji haseł dla swojego konta w AD.
Przykład: Powiedzmy, że użytkownicy chcą utrzymać osobne hasła dla swoich kont Windows i nie-Windows; dzięki tej opcji administrator może umożliwić użytkownikom odznaczenie AD z listy kont dostępnych do synchronizacji haseł. Będą mogli zresetować hasła swoich kont nie-Windows (kont aplikacji Google, kont Microsoft 365 itd.) bez wpływu na swoje hasło Windows.
- Umożliwienie użytkownikom wyboru wymaganych powiązanych kont do synchronizacji haseł, mając konta domyślnie odznaczone podczas wykonywania akcji samodzielnych (reset hasła, odblokowanie konta i zmiana hasła).
- Zaznacz pole obok Ukryj zakładkę Aplikacji, gdy automatyczna opcja powiązania konta jest włączona, aby usunąć zakładkę aplikacji z portalu samodzielnej obsługi użytkownika, gdy użytkownik nie ma dostępu do żadnej aplikacji korporacyjnej dla SSO, a powiązanie kont jest włączone dla synchronizacji haseł.

Akcja końcowa
W sekcji Akcja końcowa możesz:
- Synchronizować hasła użytkowników z innymi dostawcami, uruchamiając niestandardowy skrypt.
- Synchronizować statusy zablokowania kont z innymi dostawcami, uruchamiając niestandardowy skrypt.

Ważne aspekty zabezpieczeń
Należy przestrzegać poniższych kroków podczas wdrażania niestandardowych skryptów:
- Plik skryptu musi być umieszczony w [Installation_Directory]/Scripts. Odniesienia do podfolderów nie są dozwolone.
- Polecenie skryptu musi zawierać tylko nazwę pliku i argumenty.
- Pierwszy argument musi być nazwą pliku z jego rozszerzeniem. Dozwolone są tylko VBScript (.vbs) i PowerShell script (.ps1).
- Użycie '..' w poleceniu skryptu jest zabronione.
- Argumenty przekazywane do skryptu będą kodowane w Base64, aby zapobiec atakom związanym z wstrzykiwaniem poleceń.
Odszyfrowywanie argumentów
Nieadekwatna walidacja wejścia poleceń w wierszu poleceń pozwala osoby zagrażającej na wykonanie dowolnych poleceń w systemie operacyjnym hosta. Aby chronić użytkowników przed tymi atakami, wszystkie argumenty do skryptu będą kodowane w Base64. Argumenty te powinny być odszyfrowane w skrypcie przed ich wykonaniem.
Uwaga: Aby ułatwić powyższe, folder skryptów zawiera dwa pliki - sample-base64.vbs i sample-base64.ps1. Te pliki zawierają przykładowy kod do dekodowania z Base64.
Odszyfrowywanie Base64 w VBScript:
Plik pomocniczy znajdujący się w [Installation Directory]/Scripts/utils/Base64Decoder.vbs zawiera funkcję Base64Decode. Możesz wykorzystać tę funkcję w swoich skryptach do dekodowania wartości Base64.
- Zaimportuj plik Base64Decoder.vbs do swojego skryptu.
- Przekaż zakodowaną wartość do funkcji Base64Decode. Funkcja ta odszyfruje wartość i zwróci ciąg UTF-8.
Dekodowanie Base64 w VBScript
Include("utils\Base64Decoder.vbs")
For Each arg In WScript.Arguments
Dim decodedArg
decodedArg = Base64Decode(arg)
f.WriteLine("Przed dekodowaniem: " + arg)
f.WriteLine("Po dekodowaniu: " + decodedArg)
Next
Dekodowanie Base64 w skrypcie PowerShell:
- Przekaż zakodowany ciąg do funkcji [System.Convert]::FromBase64String. To zwróci zdekodowaną wartość jako tablicę bajtów.
- Przekaż tablicę bajtów do funkcji [System.Text.Encoding]::UTF-8.GetString. To przekonwertuje tablicę bajtów na ciąg UTF-8.
Dekodowanie Base64 w skrypcie PowerShell
foreach ($arg in $args) {
$decodedArg = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($arg))
Add-Content -Path sample-base64-test.txt -Value "Przed dekodowaniem: $arg"
Add-Content -Path sample-base64-test.txt -Value "Po dekodowaniu: $decodedArg"
}