Guida rapida: monitora la sicurezza dei pod con la convalida continua
Scopri come iniziare a utilizzare la convalida continua (CV) di Autorizzazione binaria con le norme basate sui controlli. In questa guida rapida, utilizzi i seguenti controlli�� CV per convalidare continuamente i pod in esecuzione per le seguenti condizioni:
- Directory attendibile: Verifica che le immagini associate al pod si trovino in una o più directory attendibili che specifichi nelle norme.
- Aggiornamento delle immagini: verifica che le immagini del pod siano state caricate entro un numero di giorni specificato nella norma.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita le API Autorizzazione binaria e Google Kubernetes Engine:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable container.googleapis.com
binaryauthorization.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
Abilita le API Autorizzazione binaria e Google Kubernetes Engine:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable container.googleapis.com
binaryauthorization.googleapis.com - Installa lo strumento a riga di comando
kubectl. - Se i criteri di Autorizzazione binaria e i cluster GKE si trovano in progetti diversi, assicurati che Autorizzazione binaria sia abilitata in entrambi i progetti.
Creare una policy della piattaforma
Per configurare una policy della piattaforma GKE CV, procedi nel seguente modo:
Crea il file YAML della policy della piattaforma:
cat << EOF > /tmp/my-policy.yaml gkePolicy: checkSets: - checks: - trustedDirectoryCheck: trustedDirPatterns: - us-central1-docker.pkg.dev/my-project/my-directory displayName: My trusted directory check - imageFreshnessCheck: maxUploadAgeDays: 30 displayName: My image freshness check displayName: My trusted directory and image freshness check set EOFQuesta policy verifica la presenza delle seguenti condizioni:
Le immagini dei pod sono archiviate nel repository Artifact Registry denominato
us-central1-docker.pkg.dev/my-project/my-directory.Le immagini dei pod sono state caricate nei repository Artifact Registry o Container Registry negli ultimi 30 giorni.
Crea la policy della piattaforma:
gcloud beta container binauthz policy create POLICY_ID \ --platform=gke \ --policy-file=/tmp/my-policy.yaml \ --project=POLICY_PROJECT_IDSostituisci quanto segue:
POLICY_ID: un ID a tua sceltaPOLICY_PROJECT_ID: l'ID progetto della policy
Crea o aggiorna un cluster
Per abilitare CV su un cluster, puoi creare un nuovo cluster o aggiornare un cluster esistente.
Per creare un cluster con il criterio della piattaforma basato sul controllo abilitato, esegui questo comando:
gcloud beta container clusters create CLUSTER_NAME\ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_IDSostituisci quanto segue:
CLUSTER_NAME: il nome del clusterLOCATION: la posizione, ad esempio:us-central1oasia-south1POLICY_PROJECT_ID: l'ID del progetto in cui è archiviata la policyPOLICY_ID: l'ID della policyCLUSTER_PROJECT_ID: l'ID progetto del cluster
Attendi la creazione del cluster.
Per aggiornare un cluster esistente con i criteri basati su controlli abilitati, esegui il seguente comando.
gcloud beta container clusters update CLUSTER_NAME \ --location=LOCATION \ --binauthz-evaluation-mode=POLICY_BINDINGS \ --binauthz-policy-bindings=name=projects/POLICY_PROJECT_ID/platforms/gke/policies/POLICY_ID \ --project=CLUSTER_PROJECT_IDSostituisci quanto segue:
CLUSTER_NAME: il nome del clusterLOCATION: la posizione, ad esempio:us-central1oasia-south1POLICY_PROJECT_ID: l'ID del progetto in cui è archiviata la policyPOLICY_ID: l'ID della policyCLUSTER_PROJECT_ID: l'ID progetto del cluster
Attendi l'aggiornamento del cluster.
Esegui il deployment di un'immagine
Recupera la credenziale per
kubectl:gcloud container clusters get-credentials CLUSTER_NAMEEsegui il deployment di un'immagine:
kubectl run hello-app