GCP - Artifact Registry Enum
Informazioni di base
Google Cloud Artifact Registry è un servizio completamente gestito che consente di gestire, archiviare e proteggere i tuoi artefatti software. È essenzialmente un repository per archiviare le dipendenze di compilazione, come immagini Docker, pacchetti Maven, pacchetti npm e altri tipi di artefatti. Viene comunemente utilizzato nelle pipeline CI/CD per archiviare e versionare gli artefatti prodotti durante il processo di sviluppo del software.
Le caratteristiche principali di Artifact Registry includono:
Repository unificato: supporta diversi tipi di artefatti, consentendo di avere un singolo repository per immagini Docker, pacchetti di linguaggio (come Maven di Java, npm di Node.js) e altri tipi di artefatti, consentendo controlli di accesso coerenti e una vista unificata di tutti gli artefatti.
Completamente gestito: essendo un servizio gestito, si occupa dell'infrastruttura sottostante, della scalabilità e della sicurezza, riducendo l'onere di manutenzione per gli utenti.
Controllo degli accessi dettagliato: si integra con Identity and Access Management (IAM) di Google Cloud, consentendo di definire chi può accedere, caricare o scaricare artefatti nei tuoi repository.
Replicazione geografica: supporta la replica degli artefatti su più regioni, migliorando la velocità di download e garantendo la disponibilità.
Integrazione con i servizi di Google Cloud: funziona in modo trasparente con altri servizi GCP come Cloud Build, Kubernetes Engine e Compute Engine, rendendolo una scelta conveniente per i team che già lavorano nell'ecosistema di Google Cloud.
Sicurezza: offre funzionalità come scansione delle vulnerabilità e analisi dei contenitori per garantire che gli artefatti archiviati siano sicuri e privi di problemi di sicurezza noti.
Formati e modalità
Durante la creazione di un nuovo repository è possibile selezionare il formato/tipo del repository tra diversi come Docker, Maven, npm, Python... e la modalità che di solito può essere una di queste tre:
Repository standard: modalità predefinita per archiviare i propri artefatti (come immagini Docker, pacchetti Maven) direttamente in GCP. È sicuro, scalabile e si integra bene nell'ecosistema di Google Cloud.
Repository remoto (se disponibile): funge da proxy per memorizzare nella cache artefatti da repository esterni e pubblici. Aiuta a prevenire problemi derivanti da modifiche alle dipendenze a monte e riduce la latenza memorizzando nella cache gli artefatti frequentemente accessati.
Repository virtuale (se disponibile): fornisce un'interfaccia unificata per accedere a più repository (standard o remoti) tramite un singolo punto di accesso, semplificando la configurazione lato client e la gestione dell'accesso per gli artefatti distribuiti in vari repository.
Per un repository virtuale sarà necessario selezionare i repository e assegnare loro una priorità (il repository con la priorità più alta verrà utilizzato).
È possibile mixare repository remoti e standard in uno virtuale, se la priorità del repository remoto è maggiore di quella dello standard, verranno utilizzati i pacchetti dal repository remoto (ad esempio PyPi). Ciò potrebbe portare a una Confusione delle Dipendenze.
Si noti che nella versione remota di Docker è possibile fornire un nome utente e un token per accedere a Docker Hub. Il token viene quindi archiviato nel Secret Manager.
Crittografia
Come previsto, di default viene utilizzata una chiave gestita da Google, ma è possibile indicare una chiave gestita dal cliente (CMEK).
Politiche di pulizia
Elimina artefatti: gli artefatti verranno eliminati in base ai criteri di pulizia.
Prova a secco: (predefinita) gli artefatti non verranno eliminati. Le politiche di pulizia verranno valutate e gli eventi di eliminazione di prova verranno inviati a Cloud Audit Logging.
Scansione delle vulnerabilità
È possibile abilitare lo scanner delle vulnerabilità che controllerà la presenza di vulnerabilità all'interno delle immagini dei contenitori.
Enumerazione
Escalazione dei privilegi
pageGCP - Artifact Registry PrivescAccesso non autenticato
pageGCP - Artifact Registry Unauthenticated EnumPost-Esploitation
pageGCP - Artifact Registry Post ExploitationPersistenza
pageGCP - Artifact Registry PersistenceLast updated