Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Data publikacji: 03-02-2022 | Autor: | Michał Gajda |
W tej części artykułu o chmurowym mechanizmie LAPS zaprezentowany zostanie sposób dystrybucji rozwiązania na stacje robocze w celu zarządzania hasłami lokalnych kont administracyjnych.
W poprzedniej części zaprezentowany został trzon chmurowego mechanizmu LAPS. Bazuje on na dwóch kluczowych usługach platformy obliczeniowej Azure. Mowa tu o usłudze Azure Function App, która wykorzystywana jest do przetwarzania żądań odbieranych ze stacji roboczych. Dodatkowo wykorzystywana jest również usługa Azure Key Vault, stanowiąca bezpieczny magazyn do składowania haseł lokalnych kont administratorów.
W tej części skupimy się na brakującym elemencie całego rozwiązania, czyli na styku chmurowego mechanizmu LAPS z końcowymi stacjami roboczymi użytkowników. Usługą pośredniczącą w dystrybucji mechanizmu będzie wspomniana w pierwszej części usługa Microsoft Intune, która pełni rolę chmurowej usługi zarządzania urządzeniami mobilnymi.
> PRZYGOTOWANIE APLIKACJI INTUNE
Na początek należy przygotować usługę Microsoft Intune, tak by rozdystrybuować chmurowe narzędzie LAPS na zarządzane stacje końcowe użytkowników. Architektura omawianej części rozwiązania została przybliżona na rys. 1.
Kluczową rolę będzie pełniła tutaj odpowiednio przygotowana aplikacja Intune, zawierająca skrypt języka Windows PowerShell. Podstawową rolą skryptu będzie realizacja dwóch kluczowych zadań. Pierwszą z nich jest wygenerowanie żądania zmiany hasła, które zostanie wysłane do wcześniej wspomnianej usługi Azure Function App. Wspomniana aplikacja funkcji przetworzy żądanie, wygeneruje losowe hasło konta administratora i zwrotnie prześle go do stacji roboczej generującej żądanie. Gdy hasło zostanie odebrane, zostanie zrealizowane drugie zadanie skryptu, czyli realizacja samej zmiany hasła dla wskazanego konta lokalnego administratora.
W pierwszej kolejności zajmiemy się pierwszym zadaniem skryptu, czyli wysłaniem żądania aplikacji funkcji. Aby było to możliwe, musimy zbudować treść samego żądania. Będzie ono zapisane w formacie JSON i przykładowo powinno zawierać następujący kod:
$Body = @”
{
“keyName”: “$env:COMPUTERNAME”,
“contentType”: “LAPS”,
“tags”: {
“UserName”: “$UserName”
}
}
“@
…
Konieczne także będzie określenie kilku niezbędnych parametrów:
Gdy treść żądania zostanie już odpowiednio przygotowana, pozostaje tylko je wysłać pod odpowiedni adres URL funkcji usługi Azure Function App.
$Uri = ‘https://<Nazwa instancji `
Azure Function App>.azurewebsites.net/`
api/<Nazwa Funkcji>?code=<Kod `
autoryzacyjny>’
$Password = Invoke-RestMethod `
-Uri $Uri -Method POST `
-Body $Body -ContentType `
‘application/json’ -ErrorAction Stop
Po przetworzeniu żądania przez aplikację funkcji zwrotnie do naszego skryptu zostanie przekazane losowo wygenerowane hasło. Przekazywane hasło będzie zapisane w formie jawnego tekstu, niemniej jednak cała komunikacja stacji roboczej z aplikacją funkcji jest zabezpieczana kanałem szyfrowanym – protokołem TLS 1.2.
Tekst zapisany w formie zwykłego ciągu nie może być wykorzystany podczas zmiany hasła. Dlatego aby mogło być ono wykorzystane do zmiany hasła konta administratora, musi nastąpić jego konwersja do formatu SecureString:
$SecurePassword = `
ConvertTo-SecureString `
$Password -AsPlainText -Force
[...]
Autor ma wieloletnie doświadczenie w administracji oraz implementowaniu nowych technologii w infrastrukturze serwerowej. Pasjonat technologii Microsoft. Posiada tytuł MVP Cloud and Datacenter Management. Autor webcastów, książek oraz publikacji w czasopismach i serwisach branżowych.
Artykuł pochodzi z miesięcznika: IT Professional
Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.
Transmisje online zapewnia: StreamOnline