Questo documento fornisce una panoramica di Autorizzazione binaria.
Che cos'è Autorizzazione binaria?
L'autorizzazione binaria è un prodotto Google Cloud che puoi utilizzare per implementare misure di sicurezza della catena di approvvigionamento del software durante lo sviluppo e il deployment di applicazioni basate su container.
Che cos'è Autorizzazione binaria?
Puoi utilizzare l'autorizzazione binaria per:
Monitoraggio: puoi configurare la convalida continua (CV) con criteri della piattaforma basati su controlli (anteprima) per monitorare periodicamente che le immagini dei contenitori associate ai pod in esecuzione siano conformi a un criterio che hai definito. Se le immagini non sono conformi alle norme, il CV genera voci di log in Cloud Logging.
Applicazione: puoi configurare l'applicazione di Autorizzazione binaria per imporre che le immagini di cui viene eseguito il deployment in una delle piattaforme basate su container supportate rispettino un criterio definito da te. È consentito il deployment delle immagini conformi alle norme; in caso contrario, il deployment non è consentito.
Quali piattaforme supporta l'autorizzazione binaria?
L'autorizzazione binaria supporta le seguenti piattaforme:
- Google Kubernetes Engine (GKE): esegue le immagini in cluster ospitati su Google Cloud.
- Cloud Run: consente di eseguire applicazioni containerizzate su una piattaforma serverless completamente gestita.
- Cloud Service Mesh: gestisce un mesh di servizi affidabile on-premise o su Google Cloud.
- Software Google Distributed Cloud: consente di eseguire le immagini nei cluster GKE che ospiti sul tuo hardware.
Prodotti correlati ad Autorizzazione binaria
L'autorizzazione binaria fa parte di un'architettura di deployment che include i seguenti prodotti correlati:
- Artifact Registry, Container Registry e altri registry 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. Separatamente, Artifact Analysis archivia i metadati attendibili utilizzati nella procedura di autorizzazione.
- Monitoraggio della sicurezza, una dashboard che puoi utilizzare per valutare la posizione di sicurezza delle tue applicazioni su prodotti Google Cloud interdipendenti, inclusa l'Autorizzazione binaria.
- Cloud Build, che produce attestazioni e provenienza che l'autorizzazione binaria può utilizzare per l'applicazione e il monitoraggio.
- Cloud Deploy è un servizio di distribuzione continua gestito che automatizza la distribuzione delle applicazioni in una serie di ambienti di destinazione in una sequenza definita.
L'autorizzazione binaria si basa sulla specifica Kritis, che fa parte del progetto open source Grafeas.
Sfondo
La sicurezza della catena di fornitura del software ha lo scopo di garantire che il software venga acquisito, compilato, provato, 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 con ciclo di vita breve, tra cui l'integrazione continua (CI) e il deployment continuo (CD).
In un ambiente di sviluppo basato su container, le immagini possono essere implementate su una serie di cluster, ad esempio test, gestione temporanea e rilascio, che fanno parte della catena di fornitura del software.
L'obiettivo di Autorizzazione binaria è ridurre il rischio di implementare software difettoso, vulnerabile o unauthorized in questo tipo di ambiente. Con questo servizio puoi impedire il deployment delle immagini, a meno che non soddisfino un criterio definito da te.
Sebbene Autorizzazione binaria non prescriva procedure interne o best practice, ti aiuta a applicare le tue pratiche limitando il deployment delle immagini che non hanno superato i controlli richiesti.
Ciclo di vita
Un ciclo di vita di deployment per le immagini può essere costituito dalle seguenti fasi, in cui il completamento di una fase è un prerequisito per passare alla successiva, ad esempio:
- Build e test di unità
- Deployment in un ambiente di sviluppo in cui gli utenti non sono interessati
- Deployment in un ambiente QA, in cui sono interessati solo gli utenti interni
- Deployment in un ambiente canary, in cui è interessata solo una parte degli utenti esterni
- 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. L'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 attestazioni. 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, invece di ripetere le attività completate nelle fasi precedenti, l'Autorizzazione binaria deve solo verificare l'attestazione.
I casi d'uso che coinvolgono le attestazioni includono:
Verifica della build, in cui 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) specifici.
Per scoprire come configurare una pipeline CI basata su Cloud Build che può creare un'attestazione, consulta Integrazione di Cloud Build.
Scansione delle vulnerabilità, in cui l'immagine creata con CI è stata anche analizzata per rilevare vulnerabilità da parte di Artifact Analysis. In questo caso, l'attestazione viene creata solo se le vulnerabilità identificatesoddisfano un criterio di firma delle vulnerabilità.
Scopri come configurare una pipeline CI di analisi delle vulnerabilità con Voucher o Kritis Signer.
Controllo manuale, in cui una persona, ad esempio un rappresentante del QA, crea manualmente la certificazione.
Per scoprire come creare manualmente un'attestazione, consulta Creare attestazioni.
Per un tutorial sull'attestazione end-to-end, consulta Iniziare a utilizzare la console Google Cloud.
Funzionalità
L'autorizzazione binaria fornisce:
- Un modello di criteri che consente di descrivere le limitazioni in base alle quali è possibile eseguire il deployment delle immagini
- Un modello di attestazione che ti consente di definire autorità attendibili che possono attestare o verificare che le procedure richieste nel tuo ambiente siano state completate prima del deployment
- Un'applicazione dei criteri al momento del deployment che impedisce il deployment delle immagini che violano i criteri
Modello di criteri
L'autorizzazione binaria implementa un modello di criteri, in cui un criterio è un insieme di regole che regolano il deployment delle immagini container. Le regole in un criterio forniscono criteri specifici che un'immagine deve soddisfare prima di poter essere eseguita. Il deployment.
Per saperne di più sul modello di criteri di Autorizzazione binaria e su altri concetti, consulta Concetti chiave.
Configurazione
Per configurare l'autorizzazione binaria, devi prima attivare il servizio per i progetti Google Cloud che compongono la pipeline di autorizzazione e di deployment.
Poi definisci il criterio che specifica i vincoli in base ai quali è possibile eseguire il deployment delle immagini dei contenitori. Se i tuoi criteri richiedono attestazioni prima del deployment, devi anche configurare gli attestatori che possono verificare le attestazioni prima di consentire il deployment delle immagini associate.
Per configurare l'autorizzazione binaria, consulta le seguenti guide:
- Configurare l'autorizzazione binaria su GKE
- Configurare l'autorizzazione binaria su Distributed Cloud
- Configurare Autorizzazione binaria su Cloud Run
Autorizzazione
Prima che un'immagine possa essere implementata, tutti i firmatari richiesti devono creare un'attestazione che verifichi che l'immagine è pronta per passare alla fase di deployment successiva. L'attestazione è un record che contiene il percorso del registry e il digest dell'immagine e che è stato firmato digitalmente utilizzando la chiave crittografica privata del firmatario.
Per ulteriori informazioni sull'autorizzazione, consulta Utilizzare le attestazioni.
Applicazione
Quando esegui il deployment di un'immagine, Autorizzazione binaria controlla il criterio e applica qualsiasi regola trovata che regola il relativo deployment.
Se l'immagine soddisfa le limitazioni definite nel criterio, Autorizzazione binaria consente di eseguirne 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 dellAutorizzazione binaria in Cloud Audit Logs, consulta le seguenti guide:
- Visualizzare gli audit log (GKE)
- Visualizzare gli audit log (Cloud Run)
- Visualizzare gli audit log (Distributed Cloud)
Per ulteriori informazioni sul deployment, consulta le seguenti guide:
- Esegui il deployment dei container (GKE)
- Esegui il deployment di container (esempio di cloud distribuito)
- Utilizzare Autorizzazione binaria con Cloud Run
Convalida continua
La convalida continua (CV) con criteri della piattaforma basati su controlli è una funzionalità di Autorizzazione binaria che controlla periodicamente i metadati delle immagini container associate ai pod in esecuzione per verificare la conformità continua ai criteri.
Autorizzazione binaria sicura con Controlli di servizio VPC
Controlli di servizio VPC migliorano la tua capacità di mitigare il rischio di copia o trasferimento non autorizzato di dati dalle tue risorse e dai tuoi servizi gestiti da Google.
Per ulteriori informazioni sulla protezione delle risorse correlate all'autorizzazione binaria, consulta Protezione con i Controlli di servizio VPC.
Sicurezza della catena di fornitura del software
L'autorizzazione binaria è uno dei componenti di Google Cloud che puoi utilizzare per proteggere la catena di fornitura del software. Puoi utilizzare Autorizzazione binaria insieme ad altri prodotti e funzionalità di Google Cloud per migliorare la posizione di sicurezza dei flussi di lavoro e degli strumenti per gli sviluppatori, delle dipendenze del software, dei sistemi CI/CD utilizzati per compilare ed eseguire il deployment del software e degli ambienti di runtime come Google Kubernetes Engine e Cloud Run. Per scoprire di più, consulta la sezione Sicurezza della catena di fornitura del software.
Passaggi successivi
- Per tutorial completi e end-to-end, consulta quanto segue:
- Configura un criterio di autorizzazione binaria per Cloud Service Mesh utilizzando la console Google Cloud o lo strumento a riga di comando.