Panoramica di Autorizzazione binaria

Questo documento fornisce una panoramica di Autorizzazione binaria.

Che cos'è Autorizzazione binaria?

Autorizzazione binaria è un prodotto Google Cloud che puoi utilizzare per implementare misure di sicurezza della catena di fornitura del software durante lo sviluppo e il deployment di applicazioni basate su container.

Che cosa fa Autorizzazione binaria?

Puoi utilizzare Autorizzazione binaria per:

Quali piattaforme supporta Autorizzazione binaria?

Autorizzazione binaria supporta le seguenti piattaforme:

Autorizzazione binaria fa parte di un'architettura di deployment che include i seguenti prodotti correlati:

  • Artifact Registry, Container Registry e altri registri che archiviano le immagini di cui vuoi eseguire il deployment.
  • Artifact Analysis fornisce informazioni sulle vulnerabilità che puoi utilizzare con Autorizzazione binaria per controllare il deployment. Artifact Analysis archivia separatamente i metadati attendibili utilizzati nel processo di autorizzazione.
  • Monitoraggio della sicurezza, una dashboard che puoi utilizzare per valutare la security posture delle applicazioni nei prodotti Google Cloud interdipendenti, tra cui Autorizzazione binaria.
  • Cloud Build, che produce attestazioni e provenienza che Autorizzazione binaria può utilizzare per l'applicazione e il monitoraggio.
  • Cloud Deploy è un servizio gestito di distribuzione continua, che automatizza la distribuzione delle applicazioni in una serie di ambienti di destinazione in una sequenza definita.

Autorizzazione binaria si basa sulla specifica Kritis, che fa parte del progetto open source Grafeas.

Contesto

La sicurezza della catena di fornitura del software mira a garantire che il software venga acquisito, creato, testato, rilasciato e distribuito in base alle best practice e agli standard interni.

Le architetture basate su container consentono ai team di sviluppare sistemi altamente disaccoppiati, ad esempio quelli basati su architetture di microservizi, e incoraggiano l'uso di pratiche di sviluppo a breve termine, tra cui l'integrazione continua (CI) e il deployment continuo (CD).

In un ambiente di sviluppo basato su container, è possibile eseguire il deployment delle immagini in una successione di cluster, ad esempio test, gestione temporanea e rilascio, che fanno parte della catena di fornitura del software.

Autorizzazione binaria ha lo scopo di ridurre il rischio di deployment di software difettoso, vulnerabile o non autorizzato in questo tipo di ambiente. Utilizzando questo servizio, puoi impedire il deployment delle immagini se non soddisfano un criterio da te definito.

Sebbene Autorizzazione binaria non prescriva processi interni o best practice, ti aiuta ad applicare le tue pratiche limitando il deployment delle immagini che non hanno superato i controlli richiesti.

Lifecycle

Un ciclo di vita del deployment per le immagini può essere costituito dalle seguenti fasi, in cui il completamento di una fase è un prerequisito per il passaggio a quella successiva, ad esempio:

  1. Build e test delle unità
  2. Deployment in un ambiente di sviluppo in cui gli utenti non sono interessati
  3. Deployment in un ambiente di QA, dove solo gli utenti interni sono interessati
  4. Il deployment in un ambiente canary, che interessa solo una parte degli utenti esterni
  5. Deployment in produzione

Ogni fase può avere il proprio ambiente di deployment, ad esempio un cluster GKE o un progetto Google Cloud, e i propri criteri che devono essere soddisfatti prima che un'immagine possa passare alla fase successiva. Autorizzazione binaria consente di definire le regole in base alle quali un'immagine passa da una fase all'altra e fornisce i mezzi per applicarle.

Attestazioni

I casi d'uso più comuni di Autorizzazione binaria sono le attestations. Un'attestazione certifica che un'immagine specifica ha completato una fase precedente, come descritto in precedenza. Configura il criterio di Autorizzazione binaria per verificare l'attestazione prima di consentire il deployment dell'immagine. Al momento del deployment, anziché ripetere le attività completate nelle fasi precedenti, Autorizzazione binaria deve verificare solo l'attestazione.

I casi d'uso che coinvolgono le attestazioni includono i seguenti:

  • Verifica della build, in cui Autorizzazione binaria utilizza le attestazioni per verificare che un'immagine sia stata creata da un sistema di compilazione specifico o da una pipeline di integrazione continua (CI).

    Per informazioni su come configurare una pipeline CI basata su Cloud Build, in grado di creare un'attestazione, consulta Integrazione di Cloud Build.

  • Analisi delle vulnerabilità, in cui l'immagine creata da CI è stata anche analizzata alla ricerca di vulnerabilità da Artifact Analysis. In questo caso, l'attestazione viene creata solo se le vulnerabilità identificate soddisfano un criterio di firma delle vulnerabilità.

    Scopri come configurare una pipeline CI di analisi delle vulnerabilità con Voucher o Kritis Signer.

  • Controllo manuale, quando una persona, ad esempio un rappresentante QA, crea manualmente l'attestazione.

    Per scoprire come creare manualmente un'attestazione, consulta Creare attestazioni.

Consulta Inizia a utilizzare la console Google Cloud per un tutorial sull'attestazione end-to-end.

Funzionalità

Autorizzazione binaria fornisce:

  • Un modello di criteri che consente di descrivere i vincoli in base ai quali è possibile eseguire il deployment delle immagini
  • Un modello di attestazione che consente di definire autorità attendibili che possono attestare o verificare il completamento dei processi richiesti nel tuo ambiente prima del deployment
  • Un applicazione forzata in fase di deployment che impedisce il deployment delle immagini che violano il criterio

Modello dei criteri

Autorizzazione binaria implementa un modello di criteri, in cui un criterio è un insieme di regole che regola il deployment delle immagini container. Le regole di un criterio forniscono criteri specifici che un'immagine deve soddisfare prima di poterne eseguire il deployment.

Per saperne di più sul modello dei criteri di Autorizzazione binaria e su altri concetti, consulta Concetti chiave.

Configurazione

Per configurare Autorizzazione binaria, devi prima abilitare il servizio per i progetti Google Cloud che costituiscono la pipeline di deployment e autorizzazione.

Poi devi definire il criterio che specifica i vincoli in base ai quali è possibile eseguire il deployment delle immagini container. Se il criterio richiede attestazioni prima del deployment, devi anche configurare attestatori che possono verificare le attestazioni prima di consentire il deployment delle immagini associate.

Per configurare Autorizzazione binaria, consulta le seguenti guide:

Autorizzazione

Prima di poter eseguire il deployment di un'immagine, tutti i firmatari richiesti devono creare un'attestazione che verifichi che l'immagine sia pronta per il passaggio alla fase successiva del deployment. L'attestazione è un record che contiene il percorso e il digest del registro dell'immagine, firmato digitalmente utilizzando la chiave di crittografia privata del firmatario.

Per saperne di più sull'autorizzazione, consulta Utilizzare le attestazioni.

Applicazione forzata

Quando esegui il deployment di un'immagine, Autorizzazione binaria controlla il criterio e applica tutte le regole rilevate che ne regolano il deployment.

Se l'immagine supera i vincoli definiti nel criterio, Autorizzazione binaria consente il deployment. In caso contrario, il servizio blocca il deployment e scrive un messaggio in Cloud Audit Logs che descrive il motivo per cui l'immagine non è conforme.

Per visualizzare gli eventi di applicazione di Autorizzazione binaria in Cloud Audit Logs, consulta le seguenti guide:

Per ulteriori informazioni sul deployment, consulta le seguenti guide:

Convalida continua

La convalida continua (CV) con criteri della piattaforma basati su controllo è una funzionalità di Autorizzazione binaria che controlla periodicamente i metadati delle immagini container associate ai pod in esecuzione per garantire la continua conformità ai criteri.

Scopri di più sul CV.

Autorizzazione binaria sicura con i Controlli di servizio VPC

Controlli di servizio VPC migliora la tua capacità di mitigare il rischio di copia o trasferimento non autorizzati dei dati dalle risorse e dai servizi gestiti da Google.

Per saperne di più sulla protezione delle risorse relative a Autorizzazione binaria, consulta Sicurezza con i Controlli di servizio VPC.

Software Delivery Shield

Autorizzazione binaria fa parte della soluzione Software Delivery Shield. Software Delivery Shield è una soluzione di sicurezza della catena di fornitura del software end-to-end completamente gestita che aiuta a migliorare l'approccio di sicurezza dei flussi di lavoro e degli strumenti degli sviluppatori, delle dipendenze software, dei sistemi CI/CD utilizzati per creare ed eseguire il deployment del software e ambienti di runtime come Google Kubernetes Engine e Cloud Run. Per scoprire come utilizzare Autorizzazione binaria con altri componenti di Software Delivery Shield per migliorare il livello di sicurezza della catena di fornitura del software, consulta la panoramica di Software Delivery Shield.

Passaggi successivi