Questo documento descrive come utilizzare Cloud Monitoring per monitorare l'integrità di avvio delle istanze Shielded VM per cui è attivato il monitoraggio dell'integrità, identificare la causa di un errore di convalida dell'integrità e aggiornare la baseline delle policy di integrità.
Monitoraggio dell'integrità in fase di avvio della VM utilizzando Monitoring
Utilizza Cloud Monitoring per visualizzare gli eventi di convalida dell'integrità e impostare avvisi per questi eventi e Cloud Logging per esaminare i dettagli di questi eventi.
Visualizzazione degli eventi di convalida dell'integrità
Per visualizzare le metriche per una risorsa monitorata con Esplora metriche, segui questi passaggi:
-
Nella console Google Cloud , vai alla pagina leaderboard Esplora metriche:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti della console Google Cloud , seleziona il tuo progetto Google Cloud . Per le configurazioni di App Hub, seleziona il progetto host di App Hub o il progetto di gestione della cartella app.
- Nell'elemento Metrica, espandi il menu Seleziona una metrica,
digita
Boot Validation
nella barra dei filtri e poi utilizza i sottomenu per selezionare un tipo di risorsa e una metrica specifici:- Nel menu Risorse attive, seleziona Istanza VM.
- Nel menu Categorie di metriche attive, seleziona Istanza.
- Nel menu Metriche attive, seleziona Early Boot Validation (Convalida dell'avvio anticipato) o Late Boot Validation (Convalida dell'avvio tardivo).
- Early Boot Validation: mostra lo stato di superamento/esito negativo della partefase iniziale di avvioo dell'ultima sequenza di avvio. La fase iniziale di avvio è la sequenza di avvio dall'inizio del firmware UEFI fino a quando non passa il controllo al bootloader.
- Late Boot Validation: mostra lo stato di superamento/esito negativo della parte di avvio ritardato dell'ultima sequenza di avvio. La fase finale di avvio è la sequenza di avvio dal bootloader fino al completamento. Ciò include il caricamento del kernel del sistema operativo.
- Fai clic su Applica.
Per aggiungere filtri, che rimuovono le serie temporali dai risultati della query, utilizza l'elemento Filtro.
Per combinare le serie temporali, utilizza i menu dell'elemento Aggregazione. Ad esempio, per visualizzare l'utilizzo della CPU per le VM, in base alla zona, imposta il primo menu su Media e il secondo menu su zona.
Tutte le serie temporali vengono visualizzate quando il primo menu dell'elemento Aggregazione è impostato su Nessuna aggregazione. Le impostazioni predefinite per l'elemento Aggregazione sono determinate dal tipo di metrica che hai selezionato.
- Per la quota e altre metriche che riportano un campione al giorno, segui questi passaggi:
- Nel riquadro Visualizzazione, imposta Tipo di widget su Grafico a barre in pila.
- Imposta il periodo di tempo su almeno una settimana.
Impostazione di avvisi sugli eventi di convalida dell'integrità
Imposta avvisi sui valori delle metriche Early Boot Validation e Late Boot Validation se vuoi ricevere una notifica quando si verifica un errore di convalida dell'avvio nell'istanza VM. Per informazioni sugli avvisi, consulta la pagina Introduzione agli avvisi:
Per le impostazioni dei criteri di avviso per la convalida dell'avvio anticipato, consulta Convalida dell'fase iniziale di avvio di Compute Engine.
Per le impostazioni dei criteri di avviso per la convalida dell'avvio ritardato, consulta Convalida dell'avvio ritardato di Compute Engine.
Visualizzare i dettagli dell'evento di convalida dell'integrità
- Vai alla pagina Istanze VM
- Fai clic sull'ID istanza per aprire la pagina Dettagli istanza VM.
- In Log, fai clic su Cloud Logging.
- Individua la voce di log
earlyBootReportEvent
olateBootReportEvent
che vuoi esaminare. - Espandi la voce di log >
jsonPayload
>earlyBootReportEvent
olateBootReportEvent
, a seconda dei casi. All'interno di questa sezione, l'elementopolicyEvaluationPassed
identifica se la sezione specificata della sequenza di avvio ha superato la verifica rispetto alla baseline dei criteri di integrità. - Espandi la sezione
actualMeasurements
e gli elementi numerati al suo interno per visualizzare i valori PCR (platform configuration register) salvati dall'ultima sequenza di avvio. I valori PCR vengono salvati negli elementivalue
all'interno degli elementi numerati. I valori PCR identificano i componenti di avvio e l'ordine di caricamento dei componenti utilizzati dall'ultima sequenza di avvio e vengono confrontati con la baseline dei criteri di integrità per determinare se si è verificata una modifica nella sequenza di avvio dell'istanza VM. Per maggiori informazioni su cosa rappresentano i PCR, vedi Eventi di monitoraggio dell'integrità. - Espandi la sezione
policyMeasurements
per visualizzare i valori PCR salvati per la baseline dei criteri di integrità.
Automazione delle risposte agli eventi di convalida dell'integrità
Puoi automatizzare le risposte agli eventi di convalida dell'avvio esportando i log di Cloud Logging ed elaborandoli in un altro servizio come Cloud Run Functions. Per ulteriori informazioni, consulta Panoramica su routing e archiviazione e Automazione delle risposte a errori di convalida dell'integrità.
Determinazione della causa dell'errore di convalida dell'integrità di avvio
- Vai alla pagina Istanze VM
- Fai clic sull'ID istanza per aprire la pagina Dettagli istanza VM.
- In Log, fai clic su Cloud Logging.
- Individua le voci di log
earlyBootReportEvent
elateBootReportEvent
più recenti e verifica quale ha un valorepolicyEvaluationPassed
pari a false. - Espandi la voce di log >
jsonPayload
>earlyBootReportEvent
olateBootReportEvent
, a seconda dei casi. - Espandi le sezioni
actualMeasurements
epolicyMeasurements
e gli elementi numerati al loro interno per visualizzare i valori PCR (platform configuration register) salvati rispettivamente dalla sequenza di avvio più recente e dalla baseline dei criteri di integrità. I valori PCR identificano i componenti di avvio e l'ordine di caricamento dei componenti utilizzati dalla sequenza di avvio più recente e dalla baseline dei criteri di integrità. Confronta i valori PCR nelle sezioni
actualMeasurements
epolicyMeasurements
per determinare dove si è verificata la variazione tra la sequenza di avvio più recente e la baseline dei criteri di integrità. Il confronto che produce valori diversi è il problema che ha causato l'errore di convalida. Tieni presente che i numeri degli elementi in queste sezioni raramente corrispondono ai numeri PCR e che gli elementi numerati in modo simile inactualMeasurements
epolicyMeasurements
potrebbero rappresentare PCR diversi. Ad esempio, nella sequenzafase iniziale di avvioo sia per Windows che per Linux, l'elemento3
inactualMeasurements
e l'elemento2
inpolicyMeasurements
rappresentano entrambi PCR7.Controlla Eventi di monitoraggio dell'integrità per determinare cosa rappresenta il PCR modificato e verifica se si tratta di una modifica prevista.
Aggiornamento della baseline dei criteri di integrità
La baseline iniziale dei criteri di integrità deriva dall'immagine di avvio implicitamente attendibile quando viene creata l'istanza. L'aggiornamento della baseline aggiorna la baseline dei criteri di integrità utilizzando la configurazione dell'istanza attuale. L'istanza VM deve essere in esecuzione quando aggiorni la baseline.
Devi aggiornare la baseline dopo qualsiasi modifica pianificata specifica per l'avvio nella configurazione dell'istanza, come gli aggiornamenti del kernel o l'installazione del driver del kernel, in quanto queste modifiche causeranno errori di convalida dell'integrità. Se si verifica un errore di convalida dell'integrità imprevisto, devi indagare sul motivo dell'errore ed essere pronto a interrompere l'istanza, se necessario.
Per poter aggiornare la baseline del criterio di integrità, devi disporre dell'autorizzazione setShieldedInstanceIntegrityPolicy
.
Per aggiornare la baseline dei criteri di integrità, segui questa procedura.
gcloud
Aggiorna la baseline dei criteri di integrità dell'istanza VM utilizzando il comando compute instances update
con il flag --shielded-learn-integrity-policy
.
L'esempio seguente reimposta la baseline dei criteri di integrità per l'istanza VM my-instance:
gcloud compute instances update INSTANCE_NAME \
--zone=ZONE \
--shielded-learn-integrity-policy
Sostituisci quanto segue:
- INSTANCE_NAME: il nome della VM.
- ZONE: la zona in cui esiste la VM.
REST
Aggiorna la baseline dei criteri di integrità dell'istanza VM utilizzando l'elemento del corpo della richiesta updateAutoLearnPolicy
con il metodo setShieldedInstanceIntegrityPolicy
.
L'esempio seguente reimposta la baseline dei criteri di integrità per un'istanza VM.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setShieldedInstanceIntegrityPolicy?key=YOUR_API_KEY
{
"updateAutoLearnPolicy": true
}
Sostituisci quanto segue:
- PROJECT_ID: l'ID progetto del progetto in cui esiste la VM.
- INSTANCE_NAME: il nome della VM.
- ZONE: la zona in cui esiste la VM.
- YOUR_API_KEY: una chiave API che ti consente di accedere all'API.
Passaggi successivi
- Scopri di più sulle funzionalità di sicurezza offerte da Shielded VM.
- Scopri di più sulla modifica delle opzioni in un'istanza Shielded VM.
- Scopri un approccio per automatizzare le risposte agli eventi di monitoraggio dell'integrità.