Kf punta a offrire un'esperienza di sviluppo simile a quella di Cloud Foundry, replicando il ciclo di vita di build, push e deployment. Per farlo, crea un livello UX degli sviluppatori sulla base di tecnologie ampiamente note, ampiamente utilizzate e adottate come Kubernetes, Istio e i registri di container, anziché implementare tutte le funzionalità da zero.
Panoramica sulla sicurezza
Nel prendere decisioni in materia di sicurezza, Kf mira a fornire soluzioni complete che siano native dei rispettivi componenti e che possano essere integrate con altri meccanismi. Nel dettaglio:
- Soluzioni complete significa che Kf cerca di non fornire soluzioni parziali che possono portare a un falso senso di sicurezza.
- Nativo significa che le soluzioni devono essere una parte del componente piuttosto che un costrutto Kf per evitare modifiche che provocano un errore.
- Può essere aumentato significa che l'approccio adottato da Kf dovrebbe funzionare perfettamente con altri strumenti Kubernetes e Google Cloud per una difesa in profondità.
Considerazioni importanti
Oltre alle Limitazioni attuali descritte di seguito, è importante leggere e comprendere le informazioni descritte in questa sezione.
Workload Identity
Per impostazione predefinita, Kf utilizza Workload Identity per garantire la consegna e la rotazione sicure delle credenziali dell'account di servizio utilizzate da Kf per interagire con il progetto Google Cloud. A questo scopo, Workload Identity mappa un account di servizio Kubernetes (KSA) a un account di servizio Google (GSA). Il controller Kf viene eseguito nello spazio dei nomi kf
e utilizza un dominio KSA denominato controller
mappato a Google Search per eseguire le seguenti operazioni:
- Scrivi le metriche in Stackdriver
- Quando viene creato un nuovo spazio Kf (
kf create-space
), il controller Kf crea un nuovo KSA denominatokf-builder
nel nuovo spazio e lo mappa alla stessa Google Search Console. - L'Arabia Saudita
kf-builder
viene utilizzata da Tekton per eseguire il push e il pull delle immagini container in Google Container Registry (gcr.io)
Questo diagramma illustra queste interazioni:
Limitazioni correnti
- Kf non fornisce ruoli RBAC predefiniti.
- Fino a quando Kf fornisce questo, utilizza RBAC.
- Uno sviluppatore che esegue il push di un'app con Kf può anche creare pod (con
kubectl
) che possono utilizzare l'Arabia Sauditakf-builder
con le autorizzazioni della relativa versione di Google Analytics associata. - Il deployment in Kf richiede l'accesso in scrittura a un Container Registry.
- Esegui il deployment di Kf in un progetto dedicato senza accesso alle risorse di produzione.
- Concedi agli sviluppatori l'accesso per eseguire il push del codice al repository di artefatti concedendo loro
roles/storage.admin
sul progetto o sui bucket utilizzati da Artifact Repository.
- Kf utilizza lo stesso pod per recuperare, creare e archiviare le immagini.
- Supponi che le credenziali che fornisci siano note agli autori e agli editori dei buildpack utilizzati.
- Kf non supporta le quote per proteggere da vicini rumorosi.
- Utilizza le quote delle risorse di Kubernetes.
Altre risorse
Generale
- Panoramica sulla sicurezza di GKE
- Multi-tenancy dei cluster GKE
- Identità carico di lavoro
- Criteri GKE e IAM