Azure Active Directory (AAD) D jest przede wszystkim usługą umożliwiającą zarządzanie tożsamościami i dostępem – to właśnie tutaj tworzone są konta użytkowników, dzięki którym mogą oni logować się i uzyskiwać dostęp do przydzielonych im zasobów (np. aplikacji w chmurze), ale także grupy, pozwalające jak sama nazwa wskazuje, na grupowanie użytkowników np. w celu ułatwienia zarządzania nimi na dużą skalę. AAD pozwala również na kontrolę dostępu realizowaną przez przypisywanie odpowiednich ról i związanych z nimi uprawnień (ale także bezpośrednio innego typu uprawnień) bezpośrednio do konta pojedynczego użytkownika lub (co zalecane) do grupy, dzięki czemu określone uprawnienia/rolę zyskują automatycznie wszyscy członkowie danej grupy.
Usługę Azure Active Directory możemy znaleźć wyszukując ją z praktycznie dowolnego miejsca, także ze strony startowej, gdy tylko jesteśmy zalogowani do swojego konta na Azure:
Po wejściu do AAD w panelu po lewej stronie dostępnych mamy szeroką gamę różnych opcji. W tym wpisie skoncentruję się na pierwszej z dostępnych opcji zarządzania – Users, aby zaprezentować i wyjaśnić zarządzanie nimi:
Tworzenie nowego konta użytkownika z poziomu portalu Azure
Naturalnie konta użytkowników czy grupy w Azure jesteśmy w stanie tworzyć zarówno poprzez GUI (portal Azure), jak również z poziomu PowerShell (łącząc się poprzez dedykowany moduł za pomocą PowerShella lub CLI – Cloud Shella, czyli konsolę pozwalającą na wykonywanie poleceń PowerShell-a lub Bash-a dostępną w przeglądarce). Zacznijmy od portalu – aby utworzyć nowe konto użytkownika skorzystamy z opcji „New user” lub „New guest user” (aktualnie obie opcje przekierują nas do tego samego miejsca):
Początkowo mamy do wyboru dwie opcje:
- Create user – pozwalająca na utworzenie nowego konta użytkownika w naszym AAD
- Invite user – Zaproszenie użytkownika poprzez jego adres email, dzięki czemu jeżeli np. posiada on już konto Microsoft, to konto zostanie przypisane do naszego AAD bez konieczności posiadania przez taką osobę np. dwóch oddzielnych kont – opcja ta kierowana jest w szczególności do kontraktów B2B realizowanych przez firmę, aby wskazane osoby mogli uzyskać dostęp do określonych zasobów naszej firmy.
Zacznijmy od pierwszej z dostępnych opcji. Do utworzenia użytkownika wystarczy uzupełnić dwa wymagane pola – Nazwę (Name) oraz login (User name). Za Name najczęściej przyjmiemy po prostu imię i nazwisko danego użytkownika. User name z kolei, zgodnie z dobrymi praktykami, powinien być tworzony zgodnie z ujednoliconą w firmie konwencją nazewnictwa – np. pierwsza litera imienia + nazwisko, imię_nazwisko, nazwisko + pierwsza litera imienia itp.). Drugi człon, po znaku „@” jest zależny od tego, czy dla środowiska została skonfigurowana zewnętrzna domena. Jeżeli tak, będzie ona dostępna do wyboru na liście, jeżeli nie to należy pozostawić domyślnie wygenerowaną domenę zawierającą fragment „onmicrosoft.com”. Hasło do utworzonego konta domyślnie generowane jest automatycznie. Pozostałe pola danych, przypisanie ról czy licencji również jest istotną kwestią, natomiast można to pominąć na tym etapie. Wypełniam więc wyłącznie wymagane pola i tworzę konto użytkownika. Przykładowe dane wyglądają w moim przypadku następująco:
Konto zostało utworzone poprawnie i jest widoczne na liście użytkowników:
Aby przejść do opcji dotyczących danego konta należy kliknąć w konto danego użytkownika. Widzimy tutaj wiele pustych miejsc związanych z różnego rodzaju danymi, które w przypadku realnego środowiska warto wypełnić np. na potrzeby dynamicznego przypisywania do grup, do czego wrócimy później:
Na potrzeby środowiska testowego również uzupełniłem większą część pół przykładowymi danymi. Proces ten jest na tyle prosty i intuicyjny, że raczej nie trzeba go szczególnie omawiać:
Teraz przejdźmy do zaproszenia użytkownika, posiadającego już konto Microsoft, którego chcemy dodać do swojej domeny. Ta opcja, jak wspominałem wcześniej, dedykowana jest przede wszystkim współpracy B2B, gdzie dana osoba nie potrzebuje dedykowanego nowego konta w naszym AAD, a jedynie potrzebuje mieć możliwość uzyskania dostępu do naszych zasobów w celu wykonywania pracy. W tym celu przy okazji dodawania nowego konta użytkownika wybieram tym razem opcję Invite user oraz podaję adres email (opcjonalnie inne dane):
W takim przypadku użytkownik otrzymuje zaproszenie do „dołączenia do naszego AAD” na swój adres email:
Po zaakceptowaniu zaproszenia, jeżeli zaproszony użytkownik nie ma swojego konta Microsoft, zostanie przeprowadzony przez kreator tworzenia takiego konta. W przeciwnym przypadku użytkownik będzie musiał zalogować się na swoje konto Microsoft powiązane z adresem email, na który otrzymał zaproszenie:
Następnie zostanie on poproszony o akceptację udzielenia uprawnień osobie/organizacji zapraszającej:
Po potwierdzeniu nadania takich uprawnień użytkownik zostanie dodany do AAD. Z punktu widzenia administratora, konto będzie widoczne na liście użytkowników (z oznaczeniem parametru User type jako Guest, w przypadku nowo tworzonych kont w AAD jest to jak widać Member):
Tworzenie nowego konta użytkownika z poziomu PowerShell
Tak jak już wspominałem, nowe konta można tworzyć nie tylko poprzez portal, ale również za pomocą PowerShell-a. Znajomość tej opcji jest aktualnie niezwykle istotna – pozwala przede wszystkim na przyśpieszenie procesu dodawania dużej ilości kont np, poprzez przygotowanie odpowiedniego skryptu. Wtedy do utworzenia kont dla nowych użytkowników wymagane będzie dostarczenie odpowiednich danych (np. niezbędnych danych o użytkownikach w formie pliku .csv), a sam proces tworzenia kont będzie odbywał się z pomocą tego skryptu automatycznie.
PowerShell-a można użyć poprzez CLI wbudowane w Azure lokalizując i klikając w ikonkę przedstawioną poniżej:
Wtedy, w dolnej części ekranu otworzy się nam konsola (Azure Cloud Shell) obsługująca zarówno PowerShell jak i Bash:
Działanie jest oczywiście identyczne jak w przypadku zwykłego PowerShell-a, ja jednak zademonstruję tworzenie użytkowników za pomocą PowerShell-a uruchamianego zwyczajnie na naszym komputerze, aby zaprezentować przy okazji proces łączenia się za jego pomocą do Azure. Uruchamiamy więc PowerShell-a (z uprawnieniami administratora) lokalnie na komputerze, a następnie doinstalowujemy odpowiedni moduł za pomocą polecenia:
Install-Module -Name AzureAD -Repository PSGallery -Verbose
Po zainstalowaniu odpowiedniego modułu wykonujemy poniższe polecenie i logujemy się na konto administratora globalnego (tenanta):
Po poprawnym zalogowaniu jesteśmy już połączeni z naszym kontem Azure i możemy wykonywać polecenia związane z zarządzaniem naszym środowiskiem. Przy okazji tworzenia konta z poziomu PowerShell trudnością dla początkujących może być prawidłowe określenie hasła. Bez podania wartości parametru dotyczącego hasła utworzenie konta nie będzie możliwe. Jest na to kilka rozwiązań, jednym ze sposobów jest przygotowanie odpowiedniego typu zmiennej, a następnie zapisanie do niej wymyślonego przez nas hasła za pomocą następujących komend:
Teraz, posiadając hasło zapisane do zmiennej możemy przejść do tworzenia konta. Posłuży nam do tego polecenie Add-AzureADUser wraz z odpowiednimi przełącznikami. Dla mnie zestawem minimalnym jest konstrukcja zawierająca 5 przełączników zaprezentowanych poniżej (naturalnie dostępna jest również cała lista innych przełączników pozwalających na wypełnienie wszelkich danych dotyczących konta). Całe polecenie wygląda więc następująco:
Warto tutaj wspomnieć, że jeżeli nie jest to jednorazowo tworzone konto, dobrą praktyką w PowerShell jest stosowanie zmiennych zamiast statycznych danych. W ten sposób, jeżeli tworzymy skrypt, możemy za pomocą pętli wczytywać dane dotyczące danego użytkownika do odpowiednich zmiennych, a samo polecenie tworzące konto użytkownika będzie znacznie bardziej uniwersalne w swoim działaniu – ale kwestia dobrych praktyk i tworzenia skryptów w PowerShell to temat na zupełnie inny wpis). Jeżeli konto zostanie utworzone poprawnie, otrzymamy następujący komunikat:
Utworzone konto będzie oczywiście widoczne na liście użytkowników:
Z poziomu PowerShell możemy również dodać użytkownika-gościa wysyłając mu zaproszenie na adres email, tak jak miało to miejsce z poziomu portalu Azure. W tym celu wykonuję następujące polecenie:
Użytkownik otrzymuje zaproszenie na maila, dokładnie tak jak miało to miejsce w przypadku zaproszenia poprzez portal Azure:
Z punktu widzenia administratora konto zostało dodane do AAD jako gość:
Usuwanie kont użytkowników
Omówiliśmy już proces tworzenia kont użytkowników oraz pokrótce możliwość ich edycji. Ostatnią z najbardziej podstawowych operacji jest ich usuwania. Ta kwestia z poziomu portalu jest niezwykle prosta – wystarczy jedynie zaznaczyć użytkownika/użytkowników, a następnie kliknąć w opcję Delete user:
Z poziomu PowerShell dostępną mamy komendę Remove-AzureADUser. Aby efektywnie wykorzystać tą opcję niezbędne jest jednoznaczne wskazanie którego użytkownika chcemy usunąć. Przeprowadźmy demonstrację dla użytkownika dodanego przed chwilą do AD – „Marcin Tester”. Jednoznaczne wskazanie na to konto jest realizowane za pomocą Object ID (konto użytkownika z punktu widzenia AD/AAD jest oczywiście obiektem i posiada swój unikalny numer identyfikacyjny – ID). Aby uzyskać ID danego obiektu, możemy kliknąć na użytkownika, a następnie skopiować jego ID, wykorzystując do tego portal Azure:
Spróbujmy jednak zrealizować tą czynność za pomocą PowerShell. Do tego celu wykorzystamy polecenie Get-AzureADUser. Samo wywołanie tego polecenia bez żadnych przełączników zwróci nam wszystkie zarejestrowane konta w naszym AD – w przypadku tego środowiska nie będzie to problem, natomiast w produkcyjnym środowisku dużej firmy poszukiwanie użytkownika wśród tysięcy zarejestrowanych kont nie ma większego sensu. Wyniki możemy więc zawęzić za pomocą przełącznika -Searchstring, jako argument podając dowolny charakterystyczny dla użytkownika element – np. imię:
Następnie kopiujemy ID wybranego użytkownika i wklejamy go jako parametr -ObjectID polecenia Remove-AzureADUser i wykonujemy polecenie:
Po wykonaniu tego polecenie konto użytkownika zostaje usunięte z naszego AD, nie znajdziemy go już na liście użytkowników:
Co w przypadku, gdy usuniemy takie konto przypadkowo ? W takim przypadku mamy jeszcze dostępną zakładkę Deleted users zawierającą wszystkich usuniętych przez nas użytkowników. Po przejściu do niej i wybraniu dowolnego użytkownika mamy jeszcze możliwość przywrócenia go za pomocą opcji Restore user lub potwierdzenia chęci usunięcia takiego użytkownika za pomocą opcji Delete premanently:
To tyle jeżeli chodzi o ten wpis. Przedstawiłem tutaj wyłącznie absolutne podstawy zarządzania kontami użytkowników w Azure Active Directory, lecz zdecydowanie jest to dopiero wierzchołek góry lodowej. Pozostałe kwestie dotyczące zarządzania AAD będą poruszane w kolejnych wpisach w przyszłości. Inne wpisy dotyczące Azure znajdziesz tutaj.
Coś jest dla Ciebie niezrozumiałe? Chciałbyś wyrazić opinię na temat artykułu? Znalazłeś jakiś błąd? Koniecznie daj mi o tym znać wysyłając maila lub wypełniając formularz!