GCP - Basic Information
Hierarchia zasobów
Google Cloud używa hierarchii zasobów, która jest podobna, koncepcyjnie, do tradycyjnego systemu plików. Zapewnia to logiczny przepływ rodzic/dziecko z określonymi punktami dołączenia polityk i uprawnień.
W ogólnym zarysie wygląda to tak:
Maszyna wirtualna (zwana instancją obliczeniową) jest zasobem. Zasób znajduje się w projekcie, prawdopodobnie obok innych instancji obliczeniowych, kubełków na przechowywanie itp.
Migracja projektów
Możliwa jest migracja projektu bez żadnej organizacji do organizacji z uprawnieniami roles/resourcemanager.projectCreator
i roles/resourcemanager.projectMover
. Jeśli projekt znajduje się w innej organizacji, należy skontaktować się z pomocą techniczną GCP, aby przenieść go najpierw poza organizację. Aby uzyskać więcej informacji, sprawdź to.
Zasady organizacji
Pozwalają na scentralizowaną kontrolę nad zasobami chmurowymi Twojej organizacji:
Skoncentruj kontrolę, aby skonfigurować ograniczenia dotyczące sposobu wykorzystywania zasobów Twojej organizacji.
Zdefiniuj i ustanów bariery ochronne dla zespołów deweloperskich, aby pozostać w granicach zgodności.
Pomóż właścicielom projektów i ich zespołom działać szybko, nie martwiąc się o naruszenie zgodności.
Te zasady mogą być tworzone, aby dotyczyć całej organizacji, folderów lub projektów. Potomkowie docelowego węzła hierarchii zasobów dziedziczą zasady organizacji.
Aby zdefiniować zasadę organizacji, wybierasz ograniczenie, które jest określonym typem ograniczenia dotyczącego usługi Google Cloud lub grupy usług Google Cloud. Następnie konfigurujesz to ograniczenie z wymaganymi ograniczeniami.
Powszechne przypadki użycia
Ograniczenie udostępniania zasobów na podstawie domeny.
Ograniczenie używania kont usługowych tożsamości i dostępu.
Ograniczenie fizycznego położenia nowo tworzonych zasobów.
Wyłączenie tworzenia kont usługowych.
Istnieje wiele innych ograniczeń, które pozwalają na precyzyjną kontrolę zasobów Twojej organizacji. Aby uzyskać więcej informacji, zobacz listę wszystkich ograniczeń usługi Zasady Organizacji.
Domyślne zasady organizacji
Role IAM
Są one podobne do polityk IAM w AWS, ponieważ każda rola zawiera zestaw uprawnień.
Jednak w odróżnieniu od AWS, nie ma centralnego repozytorium ról. Zamiast tego, zasoby nadają role dostępu X do zasobów Y, a jedynym sposobem dowiedzenia się, kto ma dostęp do zasobu, jest użycie metody get-iam-policy
na tym zasobie.
Może to być problemem, ponieważ oznacza to, że jedynym sposobem dowiedzenia się, jakie uprawnienia ma dany podmiot, jest zapytanie każdego zasobu, komu nadaje uprawnienia, a użytkownik może nie mieć uprawnień do uzyskania uprawnień od wszystkich zasobów.
Istnieją trzy rodzaje ról w IAM:
Podstawowe/ pierwotne role, które obejmują role Właściciela, Redaktora i Oglądającego, które istniały przed wprowadzeniem IAM.
Role predefiniowane, które zapewniają szczegółowy dostęp do określonej usługi i są zarządzane przez Google Cloud. Istnieje wiele predefiniowanych ról, możesz zobaczyć je wszystkie wraz z uprawnieniami, jakie mają tutaj.
Role niestandardowe, które zapewniają szczegółowy dostęp zgodnie z listą uprawnień określoną przez użytkownika.
W GCP istnieje tysiące uprawnień. Aby sprawdzić, czy rola ma określone uprawnienia, możesz wyszukać uprawnienie tutaj i zobaczyć, które role je mają.
Możesz również wyszukać tutaj predefiniowane role oferowane przez każdy produkt. Zauważ, że niektóre role nie mogą być przypisane użytkownikom, a tylko do kont usługowych z powodu zawartych w nich uprawnień. Ponadto zauważ, że uprawnienia będą miały zastosowanie tylko wtedy, gdy zostaną przypisane do odpowiedniej usługi.
Lub sprawdź, czy niestandardowa rola może używać konkretnej uprawnienia tutaj.
Użytkownicy
W konsoli GCP nie ma zarządzania Użytkownikami ani Grupami, to jest wykonywane w Google Workspace. Możesz jednak zsynchronizować inny dostawcę tożsamości w Google Workspace.
Możesz uzyskać dostęp do użytkowników i grup Workspace na https://admin.google.com.
MFA może być wymuszone dla użytkowników Workspace, jednak atakujący może użyć tokena do dostępu do GCP za pomocą wiersza poleceń, który nie będzie chroniony przez MFA (będzie chroniony przez MFA tylko wtedy, gdy użytkownik się zaloguje, aby go wygenerować: gcloud auth login
).
Grupy
Kiedy organizacja jest tworzona, zaleca się stworzenie kilku grup. Jeśli zarządzasz którąkolwiek z nich, możesz narazić całą organizację lub jej ważną część:
Domyślna polityka hasła
Wymuszaj silne hasła
Od 8 do 100 znaków
Brak ponownego użycia
Brak wygaśnięcia
Jeśli ludzie uzyskują dostęp do Workspace za pośrednictwem dostawcy zewnętrznego, te wymagania nie są stosowane.
Konta usług
Są to podmioty, które zasoby mogą mieć przypisane i uzyskiwać dostęp do interakcji z GCP. Na przykład możliwe jest uzyskanie tokena uwierzytelniającego Konta Usługi przypisanego do VM w metadanych.
Możliwe jest napotkanie konfliktów podczas korzystania zarówno z IAM, jak i zakresów dostępu. Na przykład twoje konto usługi może mieć rolę IAM compute.instanceAdmin
, ale instancja, którą naruszyłeś, została ograniczona zakresem https://www.googleapis.com/auth/compute.readonly
. Spowoduje to brak możliwości dokonywania zmian za pomocą tokena OAuth, który automatycznie jest przypisany do twojej instancji.
To jest podobne do ról IAM z AWS. Jednak w odróżnieniu od AWS, dowolne konto usługi może być przypisane do dowolnej usługi (nie musi być do tego uprawnione za pomocą polityki).
Wiele kont usług, które znajdziesz, jest tak naprawdę automatycznie generowanych przez GCP podczas korzystania z usługi, takich jak:
Jednakże istnieje także możliwość utworzenia i dołączenia do zasobów niestandardowych kont usług, które będą wyglądać tak:
Zakresy dostępu
Zakresy dostępu są dołączone do wygenerowanych tokenów OAuth w celu uzyskania dostępu do punktów końcowych interfejsu API GCP. Ograniczają one uprawnienia tokena OAuth. Oznacza to, że jeśli token należy do Właściciela zasobu, ale nie ma w zakresie tego zasobu, token nie może być użyty do (nadużywania) tych uprawnień.
Google faktycznie zaleca, aby nie używać zakresów dostępu i całkowicie polegać na IAM. Portal zarządzania internetowego faktycznie to narzuca, ale zakresy dostępu mogą nadal być stosowane do instancji za pomocą niestandardowych kont usług programistycznie.
Możesz zobaczyć, jakie zakresy są przypisane, kwerując:
Poprzednie zakresy są generowane domyślnie przy użyciu gcloud
do uzyskania dostępu do danych. Dzieje się tak dlatego, że przy użyciu gcloud
najpierw tworzony jest token OAuth, a następnie jest on używany do kontaktowania się z punktami końcowymi.
Najważniejszym zakresem z tych potencjalnych jest cloud-platform
, co w zasadzie oznacza, że jest możliwe uzyskanie dostępu do dowolnej usługi w GCP.
Możesz znaleźć listę wszystkich możliwych zakresów tutaj.
Jeśli masz poświadczenia przeglądarki gcloud
, możliwe jest uzyskanie tokenu z innymi zakresami, wykonując coś w rodzaju:
Polityki IAM, Wiązania i Członkostwa Terraform
Zdefiniowane przez terraform w https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam korzystając z terraform z GCP istnieją różne sposoby przyznawania dostępu głównemu do zasobu:
Członkostwa: Ustawiasz głównych jako członków ról bez ograniczeń dotyczących roli lub głównych. Możesz dodać użytkownika jako członka roli, a następnie dodać grupę jako członka tej samej roli oraz ustawić te główne (użytkownika i grupę) jako członków innych ról.
Wiązania: Kilka głównych może być powiązanych z rolą. Te główne mogą nadal być powiązane lub być członkami innych ról. Jednakże, jeśli główny, który nie jest powiązany z rolą, zostanie ustawiony jako członek powiązanej roli, to przy następnym zastosowaniu wiązania, członkostwo zniknie.
Polityki: Polityka jest wiążąca, określa role i główne, a następnie te główne nie mogą mieć więcej ról, a te role nie mogą mieć więcej głównych chyba że polityka zostanie zmodyfikowana (nawet w innych politykach, wiązaniach lub członkostwach). Dlatego, gdy rola lub główny jest określony w polityce, wszystkie jego uprawnienia są ograniczone przez tę politykę. Oczywiście, można to obejść w przypadku, gdy główny otrzyma możliwość modyfikacji polityki lub uprawnień eskalacji uprawnień (np. utworzenie nowego głównego i przypisanie mu nowej roli).
Odnośniki
Last updated