Informazioni sulla creazione di immagini di contenitori protetti per le funzioni OCI
In questa guida sulle soluzioni condividiamo le best practice per creare immagini per il registro Docker in modo sicuro.
Architettura
I Dockerfile predefiniti vengono creati da un'immagine di base (fnproject/python:3.9-dev) e potrebbero mancare le versioni più recenti dei pacchetti dipendenti.
Ecco alcuni motivi per cui le scansioni delle immagini dei container sono importanti e devono essere corrette se vengono rilevate eventuali vulnerabilità:
- Rilevamento anticipato: la scansione delle immagini durante la fase di creazione consente di identificare le vulnerabilità prima che possano essere distribuite in produzione.
- Conveniente in termini di costi: correggere le vulnerabilità in anticipo è meno costoso che correggerle dopo la distribuzione.
- Riduce la superficie di attacco: le immagini dei contenitori sono composte da più livelli, ognuno dei quali potrebbe contenere vulnerabilità. La scansione consente di identificare e risolvere queste vulnerabilità.
- Migliora il livello di sicurezza: l'utilizzo di immagini di base minime e ben conservate provenienti da fonti attendibili può contribuire a migliorare il livello di sicurezza.
Il seguente diagramma illustra il flusso di lavoro di questa architettura di riferimento utilizzando un Dockerfile predefinito.
build-container-image-oci-functions-default-docker.zip
Il seguente diagramma illustra il flusso di lavoro di questa architettura di riferimento utilizzando un Dockerfile personalizzato.
build-container-image-oci-functions-custom-docker.zip
Questa architettura supporta i componenti elencati di seguito.
- Area
Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).
- Tenancy
Una tenancy è una partizione sicura e isolata che Oracle imposta all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. Puoi creare, organizzare e amministrare le risorse in Oracle Cloud all'interno della tua tenancy. Una tenancy è sinonimo di azienda o organizzazione. Di solito, un'azienda avrà una singola tenancy e rifletterà la sua struttura organizzativa all'interno di quella tenancy. Una singola tenancy viene in genere associata a una singola sottoscrizione e una singola sottoscrizione in genere ha una sola tenancy.
- Registro
Oracle Cloud Infrastructure Registry è un registro gestito da Oracle e che ti consente di semplificare il flusso di lavoro da sviluppo a produzione. Registry semplifica la memorizzazione, la condivisione e la gestione degli artifact di sviluppo, ad esempio le immagini Docker. L'architettura altamente disponibile e scalabile di Oracle Cloud Infrastructure ti assicura di poter distribuire e gestire le tue applicazioni in modo affidabile.
- Funzioni
Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). È alimentato dal motore open source Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o di attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.
- Streaming
Oracle Cloud Infrastructure Streaming offre una soluzione di storage completamente gestita, scalabile e duratura dedicata all'inclusione di flussi di dati continui e a elevato volume che puoi utilizzare ed elaborare in tempo reale. Puoi utilizzare Streaming per l'inclusione di dati a elevato volume, quali i log dell'applicazione, la telemetria operativa, i dati di click-stream Web o per altri casi d'uso in cui i dati vengono prodotti ed elaborati in modo continuo e sequenziale in un modello di messaggistica di tipo pubblicazione/iscrizione.
- Servizio di analisi delle vulnerabilità
Oracle Cloud Infrastructure Vulnerability Scanning Service aiuta a migliorare il livello di sicurezza in Oracle Cloud controllando regolarmente porte e host per potenziali vulnerabilità. Il servizio genera report con metriche e dettagli su queste vulnerabilità.