Este tópico descreve como usar o Cloud Monitoring para monitorar a integridade de inicialização de instâncias de VMs protegidas que têm o monitoramento de integridade ativado , identificar a causa de uma falha na validação de integridade e atualizar a linha de base da política de integridade.
Monitorando a integridade da inicialização da VM usando o Monitoring
Use o Cloud Monitoring para visualizar eventos de validação de integridade e definir alertas para eles, e o Cloud Logging para revisar os detalhes desses eventos.
Visualizando eventos de validação de integridade
Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:
No console do Google Cloud, acesse a página do explorador de métricas leaderboard :
Vá para o explorador de métricas
Se você usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitoramento .
- Na barra de ferramentas do console do Google Cloud, selecione seu projeto do Google Cloud. Para configurações do App Hub , selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta habilitada para aplicativo.
- No elemento Métrica , expanda o menu Selecionar uma métrica , insira
Boot Validation
na barra de filtros e use os submenus para selecionar um tipo de recurso e uma métrica específicos:- No menu Recursos ativos , selecione Instância de VM .
- No menu Categorias de métricas ativas , selecione Instância .
- No menu Métricas ativas , selecione Validação de inicialização antecipada ou Validação de inicialização tardia .
- Validação de inicialização antecipada : mostra o status de aprovação/reprovação da parte de inicialização inicial da última sequência de inicialização. A inicialização antecipada é a sequência de inicialização desde o início do firmware UEFI até que ele passe o controle para o gerenciador de inicialização.
- Validação de inicialização tardia : mostra o status de aprovação/reprovação da parte de inicialização tardia da última sequência de inicialização. A inicialização tardia é a sequência de inicialização do bootloader até a conclusão. Isso inclui o carregamento do kernel do sistema operacional.
- Clique em Aplicar .
Para remover séries temporais da exibição, use o elemento Filter .
Para combinar séries temporais, use os menus no elemento Aggregation . Por exemplo, para exibir a utilização da CPU das suas VMs, com base em suas zonas, defina o primeiro menu como Mean e o segundo menu como zone .
Todas as séries temporais são exibidas quando o primeiro menu do elemento Aggregation é definido como Ungregated . As configurações padrão do elemento Agregação são determinadas pelo tipo de métrica selecionado.
- Para cotas e outras métricas que relatam uma amostra por dia, faça o seguinte:
- No painel Exibir , defina o tipo de widget como Stacked bar chart .
- Defina o período de tempo para pelo menos uma semana.
Configurando alertas sobre eventos de validação de integridade
Defina alertas sobre os valores das métricas Early Boot Validation e Late Boot Validation se quiser ser notificado quando houver uma falha na validação de inicialização em sua instância de VM. Para obter informações sobre alertas, consulte Introdução aos alertas :
Para configurações de política de alerta de validação de inicialização antecipada, consulte Validação de inicialização antecipada do Compute Engine .
Para configurações de política de alerta de validação de inicialização tardia, consulte Validação de inicialização tardia do Compute Engine .
Visualizando detalhes do evento de validação de integridade
- Acesse a página de instâncias de VM
- Clique no ID da instância para abrir a página de detalhes da instância de VM .
- Em Logs , clique em Cloud Logging .
- Localize a entrada de log
earlyBootReportEvent
oulateBootReportEvent
que você deseja revisar. - Expanda a entrada de log >
jsonPayload
>earlyBootReportEvent
oulateBootReportEvent
, conforme apropriado. Nessa seção, o elementopolicyEvaluationPassed
identifica se determinada seção da sequência de inicialização passou na verificação em relação à linha de base da política de integridade. - Expanda a seção
actualMeasurements
e os elementos numerados dentro dela para ver os valores do registro de configuração da plataforma (PCR) salvos da última sequência de inicialização. Os valores PCR são salvos nos elementosvalue
dentro dos elementos numerados. Os valores de PCR identificam os componentes de inicialização e a ordem de carregamento dos componentes usados pela sequência de inicialização mais recente e são comparados à linha de base da política de integridade para determinar se houve alguma alteração na sequência de inicialização da instância de VM. Para obter mais informações sobre o que os PCRs representam, consulte Eventos de monitoramento de integridade . - Expanda a seção
policyMeasurements
para ver os valores de PCR salvos para a linha de base da política de integridade.
Automatizando respostas a eventos de validação de integridade
Você pode automatizar respostas para eventos de validação de inicialização exportando os registros do Cloud Logging e processando-os em outro serviço, como funções do Cloud Run. Para obter mais informações, consulte Visão geral de roteamento e armazenamento e Automatizando respostas a falhas de validação de integridade .
Determinando a causa da falha na validação da integridade da inicialização
- Acesse a página de instâncias de VM
- Clique no ID da instância para abrir a página de detalhes da instância de VM .
- Em Logs , clique em Cloud Logging .
- Localize as entradas de log
earlyBootReportEvent
elateBootReportEvent
mais recentes e veja qual delas tem um valorpolicyEvaluationPassed
igual a false . - Expanda a entrada de log >
jsonPayload
>earlyBootReportEvent
oulateBootReportEvent
, conforme apropriado. - Expanda as seções
actualMeasurements
epolicyMeasurements
e os elementos numerados dentro delas para ver os valores do registro de configuração da plataforma (PCR) salvos da sequência de inicialização mais recente e da linha de base da política de integridade, respectivamente. Os valores de PCR identificam os componentes de inicialização e a ordem de carregamento dos componentes usados pela sequência de inicialização mais recente e pela linha de base da política de integridade. Compare os valores de PCR nas seções
actualMeasurements
epolicyMeasurements
para determinar onde ocorreu a variação entre a sequência de inicialização mais recente e a linha de base da política de integridade. Qualquer comparação que produza valores diferentes é o problema que causou a falha na validação. Esteja ciente de que os números dos elementos nestas seções raramente correspondem aos números do PCR, e os elementos numerados de forma semelhante emactualMeasurements
epolicyMeasurements
podem representar PCRs diferentes. Por exemplo, na sequência de inicialização inicial do Windows e do Linux, o elemento3
emactualMeasurements
e o elemento2
empolicyMeasurements
representam PCR7.Verifique os eventos de monitoramento de integridade para determinar o que o PCR alterado representa e investigue se essa é uma mudança esperada.
Atualizando a linha de base da política de integridade
A linha de base inicial da política de integridade é derivada da imagem de inicialização implicitamente confiável quando a instância é criada. A atualização da linha de base atualiza a linha de base da política de integridade usando a configuração da instância atual. A instância de VM deve estar em execução quando você atualizar a linha de base.
Você deve atualizar a linha de base após quaisquer alterações planejadas específicas de inicialização na configuração da instância, como atualizações do kernel ou instalação do driver do kernel, pois elas causarão falhas na validação de integridade. Se você tiver uma falha inesperada na validação de integridade, deverá investigar o motivo da falha e estar preparado para interromper a instância, se necessário.
Você deve ter a permissão setShieldedInstanceIntegrityPolicy
para poder atualizar a linha de base da política de integridade.
Use o procedimento a seguir para atualizar a linha de base da política de integridade.
gcloud
Atualize a linha de base da política de integridade da instância de VM usando o comando compute instances update
com a sinalização --shielded-learn-integrity-policy
.
O exemplo a seguir redefine a linha de base da política de integridade para a instância de VM my-instance :
gcloud compute instances update INSTANCE_NAME \
--zone=ZONE \
--shielded-learn-integrity-policy
Substitua o seguinte:
- INSTANCE_NAME : nome da VM.
- ZONE : Zona onde existe a VM.
API
Atualize a linha de base da política de integridade da instância de VM usando o item do corpo da solicitação updateAutoLearnPolicy
com o método setShieldedInstanceIntegrityPolicy
.
O exemplo a seguir redefine a linha de base da política de integridade para uma instância de VM.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setShieldedInstanceIntegrityPolicy?key=YOUR_API_KEY
{
"updateAutoLearnPolicy": true
}
Substitua o seguinte:
- PROJECT_ID : ID do projeto onde existe VM.
- INSTANCE_NAME : nome da VM.
- ZONE : Zona onde existe a VM.
- YOUR_API_KEY : uma chave de API que permite acessar a API.
O que vem a seguir
- Leia mais sobre os recursos de segurança oferecidos pelo Shielded VM.
- Saiba mais sobre como modificar opções em uma instância de VM protegida .
- Aprenda sobre uma abordagem para automatizar respostas a eventos de monitoramento de integridade .