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.

A cosa serve Autorizzazione binaria?

Puoi utilizzare Autorizzazione binaria per:

  • Monitoraggio: puoi configurare la convalida continua (CV) (anteprima) per monitorare periodicamente le immagini container associate ai pod in esecuzione sono conformi a un criterio da te definito. Se le immagini non sono conformi al criterio, il CV genera voci di log in Cloud Logging.

  • Applicazione: puoi configurare l'applicazione di Autorizzazione binaria per far sì che le immagini di cui viene eseguito il deployment in una delle piattaforme basate su container supportate siano conformi a un criterio da te definito. Puoi eseguire il deployment delle immagini conformi al criterio, altrimenti non ne è consentito.

Quali piattaforme sono supportate da 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 possono essere utilizzate 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 postura di sicurezza delle applicazioni nei prodotti interdipendenti di Google Cloud, 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 di 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 reperito, creato, testato, rilasciato e implementato in base a best practice e 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'utilizzo di pratiche di sviluppo a ciclo di vita breve, 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 su una successione di cluster, ad esempio test, gestione temporanea e rilascio, che fanno parte della catena di fornitura del software.

Autorizzazione binaria mira a 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 a meno che non soddisfi un criterio da te definito.

Anche se Autorizzazione binaria non prescrive processi interni o best practice, consente di 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 composto dalle seguenti fasi, dove il completamento di una fase è un prerequisito per l'avanzamento a quella successiva, ad esempio:

  1. Test della build e delle unità
  2. Deployment in un ambiente di sviluppo in cui gli utenti non sono interessati
  3. Deployment in un ambiente QA, nel quale sono interessati solo gli utenti interni
  4. Il deployment in un ambiente canary, nel quale sono interessati solo alcuni 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 riguardano le attestations. Un'attestazione certifica che una determinata immagine ha completato una fase precedente, come descritto in precedenza. Puoi configurare 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 solo verificare l'attestazione.

I casi d'uso che coinvolgono le attestazioni includono:

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

    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 con CI è stata analizzata anche da Artifact Analysis per rilevare eventuali vulnerabilità. 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.

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

Funzionalità

Autorizzazione binaria fornisce:

  • Un modello policy 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 sistema di applicazione delle norme in fase di deployment che impedisce il deployment di immagini che violano il criterio

Modello di criterio

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

Per ulteriori informazioni 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.

Quindi definisci il criterio che specifica i vincoli in cui è possibile eseguire il deployment delle immagini container. Se il criterio richiede le attestazioni prima del deployment, devi anche configurare attestatori che possano 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 di deployment successiva. L'attestazione è un record che contiene il percorso e il digest del registro dell'immagine e che è stato firmato digitalmente utilizzando la chiave di crittografia privata del firmatario.

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

Applicazione forzata

Quando esegui il deployment di un'immagine, Autorizzazione binaria controlla il criterio e applica qualsiasi regola trovata che ne regola il deployment.

Se l'immagine supera i vincoli definiti nel criterio, Autorizzazione binaria ne consente il deployment. In caso contrario, il servizio blocca il deployment e scrive un messaggio in Cloud Audit Logs che descrive perché 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) è una funzionalità di Autorizzazione binaria che controlla periodicamente le 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 ridurre il rischio di copia o trasferimento non autorizzati di dati da servizi e risorse gestiti da Google.

Per ulteriori informazioni sulla protezione delle risorse relative ad Autorizzazione binaria, consulta Protezione 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 per la catena di fornitura del software end-to-end completamente gestita che consente di migliorare la strategia di sicurezza di strumenti e flussi di lavoro degli sviluppatori, dipendenze software, 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 la strategia di sicurezza della catena di fornitura del software, consulta la panoramica di Software Delivery Shield.

Passaggi successivi