Monitorar o uso do EKM

É possível usar o Cloud Monitoring para monitorar a conexão do gerenciador de chaves externo (EKM, na sigla em inglês). As métricas a seguir podem ajudar você a entender o uso do EKM:

  • cloudkms.googleapis.com/ekm/external/request_latencies
  • cloudkms.googleapis.com/ekm/external/request_count

Nesta página, mostramos como criar um painel para acompanhar métricas relacionadas às suas chaves do EKM do Cloud e à conexão do gerenciador de chaves externo, como contagens de solicitações e latências. Para mais informações sobre essas métricas, consulte Métricas do Cloud KMS. Para mais informações sobre o processo de criação de painéis descrito nas seções a seguir, consulte Como gerenciar painéis por API.

Antes de começar

As etapas desta página pressupõem o seguinte:

Funções exigidas

Para receber as permissões necessárias para criar painéis usando a CLI gcloud, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar painéis usando a CLI gcloud. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar painéis usando a CLI gcloud:

  • monitoring.dashboards.create
  • monitoring.dashboards.delete
  • monitoring.dashboards.update
  • serviceusage.services.use

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar um painel para monitorar o EKM

Para monitorar o status do EKM, crie um painel que monitore a contagem de solicitações e latências:

  1. Faça o download da configuração do painel: ekm-dashboard.json.

  2. Crie um painel personalizado com o arquivo de configuração executando o seguinte comando:

    gcloud monitoring dashboards create \
    --config-from-file=ekm-dashboard.json

Acessar o painel da EKM

  1. No console do Google Cloud, acesse a página Monitoring ou use o seguinte botão:

    Acessar Monitoring

  2. Selecione Recursos > Painéis e acesse o painel chamado EKM do Cloud KMS.

Criar uma política de alertas para métricas do EKM

Conclua as etapas a seguir usando a CLI gcloud:

  1. Selecione um canal de notificação para receber alertas de métricas do EKM.

    • Para usar um canal de notificação existente, primeiro confira seus canais:

      gcloud beta monitoring channels list
      

      Escolha um canal na lista. Anote o ID do canal de notificação. Ele será necessário mais tarde.

    • Para usar um novo canal de notificação, crie-o usando um endereço de e-mail:

      gcloud beta monitoring channels create \
      --display-name="Notification channel for EKM latency alert" \
      --description="This notification channel receives EKM latency metric alerts" \
      --type=email \
      --channel-labels=email_address=NOTIFICATION_EMAIL
      

      Se bem-sucedido, este comando vai retornar o nome do novo canal. Anote o ID do canal de notificação. Ele será necessário mais tarde. A resposta será parecida com esta:

      Created notification channel [projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL_ID]
      
  2. Crie uma política de alertas usando o comando monitoring policies create:

        gcloud alpha monitoring policies create \
            --notification-channels=NOTIFICATION_CHANNEL_ID \
            --aggregation=' {"alignmentPeriod": "60s","perSeriesAligner": "ALIGN_PERCENTILE_99"}' \
            --condition-display-name="EKM Request Latency > 150ms" \
            --condition-filter='resource.type="cloudkms.googleapis.com/Project"
                                metric.type="cloudkms.googleapis.com/ekm/external/request_latencies"
                                metric.labels.ekm_service_region="LOCATION"
                                metric.labels.method="LABEL_METHOD"' \
            --duration="0s" \
            --if="> 150" \
            --display-name="EKM metric latency alert" \
            --trigger-count=1 \
            --combiner='AND'
    

    Substitua:

    • NOTIFICATION_CHANNEL_ID: o ID do canal de notificação.
    • LOCATION: a região para a qual você quer enviar um alerta sobre essa métrica. Se você quiser enviar um alerta independente da região, omita metric.labels.ekm_service_region.
    • LABEL_METHOD: o rótulo method para o qual você quer receber um alerta. Por exemplo, wrap, unwrap, asymmetricSign, checkCryptoSpacePermissions, createKey, getInfo ou getPublicKey. Use o Metrics Explorer para conferir os rótulos das métricas.

A seguir