Identity and Access Management (IAM) to kluczowy element bezpieczeństwa w każdej infrastrukturze chmurowej, a w szczególności w Google Cloud. Zarządzanie tożsamością i dostępem, czyli właśnie IAM, umożliwia administratorom autoryzację osób, które mogą podejmować działania na określonych zasobach, zapewniając pełną kontrolę i wgląd w centralne zarządzanie zasobami Google Cloud.
Jest to szczególnie istotne w przypadku przedsiębiorstw o złożonych strukturach organizacyjnych, a więć setkach grup roboczych i wielu projektach. W takim przypadku uprawnienia IAM zapewniają ujednolicony wgląd w politykę bezpieczeństwa w całej organizacji, z wbudowanymi audytami ułatwiającymi procesy zapewniania zgodności.
Przyjrzyjmy się, czym dokładnie jest IAM w Google Cloud, jak działa, jakie są jego kluczowe komponenty oraz jakie praktyki warto stosować, aby zapewnić bezpieczeństwo i efektywność zarządzania dostępem.
Czym jest IAM?
W najprostszych słowach, IAM to system, który pozwala na zarządzanie tożsamościami (Identity) oraz na kontrolę dostępu (Access Management) w obrębie środowiska Google Cloud.
Tożsamości mogą reprezentować zarówno użytkowników, jak i grupy, konta serwisowe oraz inne jednostki mogące uzyskać dostęp do zasobów. Z kolei kontrola dostępu obejmuje mechanizmy określające, jakie działania dana tożsamość może wykonywać na konkretnych zasobach.
Zarządzanie uprawnieniami bywa procesem czasochłonnym. Stąd zaszyty w IAM “Recommender”, czyli usługa pomagająca administratorom usuwać niechciany dostęp do zasobów Google Cloud. W procesie tym wykorzystywane jest uczenie maszynowe, dzięki któremu tworzone są inteligentne rekomendacje dotyczące kontroli dostępu. “Recommender: wspiera zespoły ds. Bezpieczeństwa w automatycznym wykrywaniu zbyt liberalnego dostępu (overly permissive access) i pozwala dostosować jego wielkość w oparciu o podobnych użytkownikó w organizacji oraz ich wzorce dostępu.
Dostęp zależny od kontekstu
IAM umożliwia udzielanie dostępu do zasobów w chmurze na bardzo szczegółowych poziomach, znacznie wykraczających poza dostęp na poziomie projektu. Korzytstając z IAM możesz tworzyć bardziej szczegółowe zasady kontroli dostępu do zasobów w oparciu o atrybuty takie jak:
- stan zabezpieczeń urządzenia,
- adres IP,
- typ zasobu
- data/godzina.
Zasady te pomagają zapewnić zastosowanie odpowiednich kontroli bezpieczeństwa podczas udzielania dostępu do zasobów w chmurze.
Wbudowana ścieżka audytów
Pełna historia ścieżki audytu autoryzacji, usuwania i delegowania uprawnień jest automatycznie udostępniana administratorom. Uprawnienia pozwalają skupić się na regulaminach biznesowych dotyczących zasobów i ułatwiają przestrzeganie tych zasad.
Jak Działa IAM w Google Cloud?
Aby dobrze zrozumieć sposób działania IAM w Google Cloud należy zacząć od przeczytania dokumentacji. Ale skoro już tu jesteś, to używając popularnego określenia vlogerów: zrobliśmy to, żebyś ty nie musiał. Nasi architekci chmurowi i pozostali certyfikowani ekspercie Google Cloud działający w FOTC będą w stanie przeprowadzić Was przez konfigurację IAM krok po kroku. Wystarczy, że skontaktuj się z nami. W tym artykule pokażemy kilka kluczowych kroków dla całego procesu.
Po pierwsze, należy dobrze zrozumieć hierarchię. Kluczową koncepcją IAM jest wykorzystanie hierarchicznego podejścia do wdrażania począwszy od węzła organizacja (oznaczonego na powyższym schemacie jako poziom “Organization”), w dół. GCP, jak niegdyś nazywało się Google Cloud i część użytkowników wciąż posługuje się tym skrótem, umożliwia grupowanie i hierarchiczne organizowanie wszystkich zasobów chmury Google w kontenery zasobów, takie jak organizacje, foldery i projekty.
Powyższy diagram przedstawia przykład różnych zasobów i ich hierarchiczną organizację w GCP.
Politykę uprawnień możesz ustawić na poziomie organizacji, folderu, projektu lub (w niektórych przypadkach) poziomu zasobu. Zasób dziedziczy zasady swojego węzła nadrzędnego. Jeśli ustawisz politykę na poziomie organizacji, wszystkie jej foldery podrzędne i projekty odziedziczą tę politykę. Podobnie, jeśli ustawisz zasady na poziomie projektu, jego zasoby podrzędne również odziedziczą tę politykę. Innymi słowy, polityka dotycząca zasobu jest w rzeczywistości połączeniem polityk ustalonych dla zasobu, a także wszystkich polityk, które dziedziczy on od swoich przodków.
Następnym krokiem jest zdefiniowanie ról funkcjonalnych lub specydicznych dla danego produktu. Planując wdrożenie IAM, możesz skorzystać z dwóch podejść: użyć roli funkcjonalnej lub ustawić dostęp według danych lub typu produktu.
Zwykle kilka pierwszych zasad uprawnień, które należy zmapować, jest funkcjonalnych i opartych na rolach, na przykład istniejących ról Network and Billing.
Tymczasem ograniczanie dostępu według produktu dotyczy konkretnego zasobu i koncentruje się na zdefiniowaniu polityki skupionej na tym zasobie. Możesz na przykład ograniczyć dostęp do określonych zasobników Cloud Storage, zbiorów danych BigQuery lub tematów i subskrypcji Pub/Sub.
Idąc dalej, należy zdefiniować role niestandardowe. Jeśli wstępnie zdefiniowane role IAM nie spełniają Twoich potrzeb w zakresie bezpieczeństwa, możesz utworzyć rolę niestandardową z jednym lub większą liczbą uprawnień. Tworząc rolę niestandardową, eksperci Google zalecają rozpoczęcie od istniejącej wstępnie zdefiniowanej roli i dodanie lub usunięcie do niej uprawnień, zamiast zaczynać od pusta lista uprawnień.
Tworzenie ról niestandardowych jest zaawansowaną akcją konfiguracyjną, ponieważ zarządzanie nimi wiąże się z dodatkowym obciążeniem operacyjnym. Odpowiadasz za utrzymanie swoich ról niestandardowych i musisz dodać do nich wszelkie nowe uprawnienia. Wszelkie zmiany wprowadzone przez Google Cloud we wstępnie zdefiniowanych rolach nie zostaną odzwierciedlone w Twoich rolach niestandardowych. Możesz użyć dziennika zmian uprawnień IAM, aby śledzić historię zmian uprawnień. To ten etap, na którym warto skorzystać z pomocy eksperów FOTC.
Po przejście powyższych kroków możesz zacząć przydzielać rolę użytkownikom, tworząc politykę Cloud IAM, która jest zbiorem instrukcji definiujących, kto ma jaki typ dostępu. Zasady te składają się z zestawu powiązań członków (którzy mają dostęp) z jedną lub większą liczbą ról IAM.
Kolejną najlepszą praktyką jest używanie grup do definiowania członków, co zapewnia czytelność zasad i pozwala łatwo dostosować, kto ma dostęp do zasobu, bez konieczności aktualizowania samych zasad.
W tym momencie możesz zacząć testować i jeżeli wszystko jest ok, pora przejść do wdrożenia polityk. Ścieżek do wyboru jest sporo. Zasady możesz stosować za pomocą interfejsu wiersza polecenia gcloud, interfejsu IAM API, konsoli GCP, Cloud Deployment Manager lub oprogramowania typu open source, takiego jak Terraform, które obejmuje przykładowe zasady uprawnień, które można zastosować za pomocą polecenia gcloud i interfejsu API. Oczywiście możemy Ci w tym towarzyszyć. Wystarczy, że się z nami skontaktujesz.
Podsumowanie
Identity and Access Management w Google Cloud to kompleksowy system umożliwiający zarządzanie tożsamościami i kontrolą dostępu do zasobów chmurowych. Korzystając z IAM organizacje mogą precyzyjnie kontrolować, kto i jakie działania może wykonywać na zasobach. Jest to kluczowe dla zapewnienia bezpieczeństwa i zgodności z politykami organizacyjnymi.
Trudno wyobrazić sobie, aby chmura mogła stać na solidnym fundamencie. Jest w końcu chmurą. Ale gdyby z jakiegoś powodu musiała przyziemić, to IAM zapewni jej miękkie lądowanie.