Controllare l'accesso e proteggere gli elementi

Questa pagina descrive i servizi e le funzionalità di Google Cloud che ti aiutano a difendere i tuoi artefatti.

Crittografia dei dati inattivi

Per impostazione predefinita, Google Cloud cripta automaticamente i dati in stato at-rest utilizzando chiavi di crittografia gestite da Google. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi creare repository criptati con chiavi di crittografia gestite dal cliente (CMEK).

Controllo degli accessi

Per impostazione predefinita, tutti i repository sono privati. Segui il principio di sicurezza del privilegio minimo e concedi solo le autorizzazioni minime richieste dagli utenti e dagli account di servizio.

Limitare i download di elementi

Puoi limitare i download degli elementi con le regole di download. Le regole di download ti consentono di consentire o negare i download di artefatti dai tuoi repository e pacchetti. Puoi anche impostare condizioni in modo che la regola si applichi a tag o versioni specifici.

Per ogni repository del progetto, puoi avere una regola di download a livello di repository e una regola di download per pacchetto. Quando un client tenta un download, Artifact Registry controlla innanzitutto se esiste una regola di download nel pacchetto dell'artefatto. Se una regola non esiste o se le sue condizioni non si applicano all'elemento, Artifact Registry cerca una regola nel repository.

Ad esempio, puoi creare una regola per il tuo repository per negare tutti i download, e poi creare una regola per un pacchetto per consentire i download da quel determinato pacchetto. La regola a livello di pacchetto ha la precedenza e solo gli elementi appartenenti a quel pacchetto possono essere scaricati dal repository.

Le regole di download sono disponibili in tutte le modalità del repository e per i seguenti formati del repository:

  • Docker
  • Vai
  • Maven
  • npm
  • Python

Prevenzione dell'esfiltrazione di dati

Per impedire l'esfiltrazione di dati, puoi utilizzare i Controlli di servizio VPC per inserire Artifact Registry e altri servizi Google Cloud in un perimetro di sicurezza della rete.

Analisi delle vulnerabilità

Artifact Analysis può analizzare le immagini container per rilevare vulnerabilità di sicurezza nei pacchetti monitorati pubblicamente.

Sono disponibili le seguenti opzioni:

Scansione automatica delle vulnerabilità
Se attivata, questa funzionalità identifica le vulnerabilità dei pacchetti nelle immagini container. Le immagini vengono sottoposte a scansione quando vengono caricate in Artifact Registry e i dati vengono monitorati continuamente per trovare nuove vulnerabilità fino a 30 giorni dopo il push dell'immagine.
API On-Demand Scanning
Se questa opzione è attivata, puoi eseguire manualmente la scansione delle immagini locali o archiviate in Artifact Registry. Questa funzionalità ti aiuta a rilevare e risolvere le vulnerabilità nelle prime fasi della pipeline di compilazione. Ad esempio, puoi utilizzare Cloud Build per analizzare un'immagine dopo la sua compilazione e poi bloccare il caricamento in Artifact Registry se l'analisi rileva vulnerabilità a un livello di gravità specificato. Se hai anche attivato l'analisi automatica delle vulnerabilità, Artifact Analysis analizza anche le immagini che carichi nel registry.

Criteri di deployment

Puoi utilizzare l'autorizzazione binaria per configurare un criterio applicato dal servizio quando viene tentato di eseguire il deployment di un'immagine contenitore in uno degli ambienti supportati Google Cloud .

Ad esempio, puoi configurare l'autorizzazione binaria in modo che consenta i deployment solo se un'immagine è firmata per la conformità a un criterio di analisi delle vulnerabilità.

Rimozione di immagini inutilizzate

Rimuovi le immagini dei contenitori inutilizzati per ridurre i costi di archiviazione e mitigare i rischi dell'utilizzo di software meno recenti. Esistono diversi strumenti disponibili per aiutarti a svolgere questa attività, tra cui gcr-cleaner. Lo strumento gcr-cleaner non è un prodotto Google ufficiale.

Sicurezza fin dalle prime fasi

L'integrazione degli obiettivi di sicurezza delle informazioni nel lavoro quotidiano può contribuire ad aumentare le prestazioni di distribuzione del software e a creare sistemi più sicuri. Questo approccio è anche conosciuto come shift left, perché i problemi, inclusi quelli di sicurezza, vengono affrontati prima nel ciclo di vita di sviluppo del software (ovvero a sinistra in un diagramma di pianificazione da sinistra a destra). Il movimento verso sinistra in termini di sicurezza è una delle funzionalità DevOps identificate nel programma di ricerca DORA State of DevOps.

Per saperne di più:

  • Scopri di più sulla funzionalità Sicurezza fin dalle prime fasi.
  • Leggi il white paper Shifting left on security, che descrive responsabilità, pratiche, processi, strumenti e tecniche che aumentano la fiducia nel ciclo di vita dello sviluppo del software (SDLC) e riducono i rischi per la sicurezza.

Considerazioni per i repository pubblici

Valuta attentamente i seguenti casi:

  • Utilizzo di elementi provenienti da fonti pubbliche
  • Rendere pubblici i tuoi repository Artifact Registry

Utilizzo di elementi provenienti da fonti pubbliche

Le seguenti origini pubbliche di elementi forniscono strumenti che potresti utilizzare o dipendenze per le tue build e i tuoi deployment:

Tuttavia, la tua organizzazione potrebbe avere vincoli che influiscono sul tuo utilizzo degli elementi pubblici. Ad esempio:

  • Vuoi controllare i contenuti della tua catena di fornitura del software.
  • Non vuoi dipendere da un repository esterno.
  • Vuoi controllare rigorosamente le vulnerabilità nel tuo ambiente di produzione.
  • Devi avere lo stesso sistema operativo di base in ogni immagine.

Valuta i seguenti approcci per proteggere la catena di fornitura del software:

  • Configura le build automatiche in modo che gli elementi abbiano contenuti coerenti e noti. Puoi utilizzare gli attivatori di build di Cloud Build o altri strumenti di integrazione continua.
  • Utilizza immagini di base standardizzate. Google fornisce alcune immagini di base che puoi utilizzare.
  • Risolvi le vulnerabilità nei tuoi artefatti. Puoi utilizzare l'API On-Demand Scanning per eseguire la scansione delle immagini container per rilevare eventuali vulnerabilità prima di archiviarle in Artifact Registry. Artifact Analysis può anche eseguire la scansione dei container che esegui il push in Artifact Registry.

Repository Artifact Registry pubblici

Puoi rendere pubblico un repository Artifact Registry concedendo il ruolo Lettore Artifact Registry all'identità allUsers.

Se tutti i tuoi utenti dispongono di account Google Cloud , puoi limitare l'accesso agli utenti autenticati con l'identità allAuthenticatedUsers.

Prima di rendere pubblico un repository Artifact Registry, tieni presenti le seguenti linee guida:

  • Verifica che tutti gli elementi archiviati nel repository siano condivisibili pubblicamente e non espongano credenziali, dati personali o riservati.
  • Per impostazione predefinita, i progetti prevedono quote per utente illimitate. Per evitare abusi, limita la quota per utente all'interno del tuo progetto.
  • Ti viene addebitato il costo del trasferimento di dati di rete quando gli utenti scaricano gli elementi. Se prevedi un volume elevato di traffico di download da internet, valuta i costi associati.

Indicazioni per le applicazioni web

  • La lista OWASP Top 10 elenca i principali rischi per la sicurezza delle applicazioni web secondo l'Open Web Application Security Project (OSWAP).

Indicazioni per i container

  • Il Center for Internet Security (CIS) dispone di un benchmark Docker per valutare la sicurezza di un contenitore Docker.

    Docker fornisce uno script open source chiamato Docker Bench for Security. Puoi utilizzare lo script per convalidare un container Docker in esecuzione rispetto al benchmark CIS Docker.

    Docker Bench For Security può aiutarti a verificare molti elementi nel benchmark Docker CIS, ma non tutti gli elementi sono verificabili con lo script. Ad esempio, lo script non può verificare se l'host del contenitore è protetto o se l'immagine del contenitore include dati personali. Esamina tutti gli elementi del benchmark e identifica quelli che potrebbero richiedere una verifica aggiuntiva.

Passaggi successivi

Scopri di più sulla gestione delle dipendenze