GCP - Artifact Registry Enum
Podstawowe informacje
Google Cloud Artifact Registry to w pełni zarządzana usługa, która pozwala na zarządzanie, przechowywanie i zabezpieczanie swoich artefaktów oprogramowania. To zasadniczo repozytorium do przechowywania zależności budowy, takich jak obrazy Docker, Maven, pakiety npm i inne typy artefaktów. Jest powszechnie używane w pipeline'ach CI/CD do przechowywania i wersjonowania artefaktów produkowanych w trakcie procesu rozwoju oprogramowania.
Kluczowe cechy Artifact Registry obejmują:
Zunifikowane repozytorium: Obsługuje wiele typów artefaktów, co pozwala na posiadanie jednego repozytorium dla obrazów Docker, pakietów językowych (takich jak Maven dla Javy, npm dla Node.js) i innych typów artefaktów, umożliwiając spójne kontrole dostępu i zunifikowany widok wszystkich artefaktów.
W pełni zarządzane: Jako usługa zarządzana, zajmuje się infrastrukturą, skalowaniem i bezpieczeństwem, redukując obciążenie konserwacyjne dla użytkowników.
Szczegółowa kontrola dostępu: Integruje się z Google Cloud Identity and Access Management (IAM), pozwalając na definiowanie, kto może uzyskiwać dostęp, przesyłać lub pobierać artefakty w twoich repozytoriach.
Geo-replikacja: Obsługuje replikację artefaktów w wielu regionach, poprawiając szybkość pobierania i zapewniając dostępność.
Integracja z usługami Google Cloud: Działa bezproblemowo z innymi usługami GCP, takimi jak Cloud Build, Kubernetes Engine i Compute Engine, co czyni go wygodnym wyborem dla zespołów już pracujących w ekosystemie Google Cloud.
Bezpieczeństwo: Oferuje funkcje takie jak skanowanie podatności i analiza kontenerów, aby pomóc zapewnić, że przechowywane artefakty są bezpieczne i wolne od znanych problemów z bezpieczeństwem.
Format i tryby
Podczas tworzenia nowego repozytorium można wybrać format/typ repozytorium spośród kilku, takich jak Docker, Maven, npm, Python... oraz tryb, który zazwyczaj może być jednym z tych trzech:
Repozytorium standardowe: Domyślny tryb dla przechowywania własnych artefaktów (takich jak obrazy Docker, pakiety Maven) bezpośrednio w GCP. Jest bezpieczne, skalowalne i dobrze integruje się w ekosystemie Google Cloud.
Repozytorium zdalne (jeśli dostępne): Działa jako proxy do buforowania artefaktów z zewnętrznych, publicznych repozytoriów. Pomaga zapobiegać problemom związanym ze zmianami zależności w upstreamie i redukuje opóźnienia, buforując często używane artefakty.
Repozytorium wirtualne (jeśli dostępne): Zapewnia zunifikowany interfejs do uzyskiwania dostępu do wielu (standardowych lub zdalnych) repozytoriów przez jeden punkt końcowy, upraszczając konfigurację po stronie klienta i zarządzanie dostępem do artefaktów rozproszonych w różnych repozytoriach.
Dla repozytorium wirtualnego będziesz musiał wybrać repozytoria i nadać im priorytet (repozytorium z najwyższym priorytetem będzie używane).
Możesz łączyć repozytoria zdalne i standardowe w wirtualnym, jeśli priorytet zdalnego jest większy niż standardowego, pakiety z zdalnego (na przykład PyPi) będą używane. Może to prowadzić do Dependency Confusion.
Zauważ, że w zdalnej wersji Docker możliwe jest podanie nazwy użytkownika i tokena do uzyskania dostępu do Docker Hub. Token jest następnie przechowywany w Secret Manager.
Szyfrowanie
Jak się spodziewano, domyślnie używany jest klucz zarządzany przez Google, ale można wskazać klucz zarządzany przez klienta (CMEK).
Polityki czyszczenia
Usuń artefakty: Artefakty będą usuwane zgodnie z kryteriami polityki czyszczenia.
Symulacja: (Domyślna) Artefakty nie będą usuwane. Polityki czyszczenia będą oceniane, a testowe zdarzenia usunięcia wysyłane do Cloud Audit Logging.
Skanowanie podatności
Możliwe jest włączenie skanera podatności, który sprawdzi podatności w obrazach kontenerów.
Enumeryzacja
Eskalacja Uprawnień
GCP - Artifact Registry PrivescDostęp bez uwierzytelnienia
GCP - Artifact Registry Unauthenticated EnumPoeksploatacja
GCP - Artifact Registry Post ExploitationUtrzymywanie
GCP - Artifact Registry PersistenceLast updated