Monitorizar el uso de EKM

Puedes usar Cloud Monitoring para monitorizar tu conexión de gestor de claves externo (EKM). Las siguientes métricas pueden ayudarte a entender el uso que haces de las EKMs:

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

En esta página se explica cómo crear un panel de control para monitorizar métricas relacionadas con tus claves de EKM de Cloud y la conexión del gestor de claves externo, como el número de solicitudes y las latencias. Para obtener más información sobre estas métricas, consulta las métricas de Cloud KMS. Para obtener más información sobre el proceso de creación de paneles de control que se describe en las siguientes secciones, consulta Gestionar paneles de control mediante APIs.

Antes de empezar

En los pasos de esta página se presupone lo siguiente:

Roles obligatorios

Para obtener los permisos que necesitas para crear paneles de control con la CLI de gcloud, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para crear paneles de control con gcloud CLI. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para crear paneles de control con la CLI de gcloud, se necesitan los siguientes permisos:

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

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Crear un panel de control para monitorizar tu EKM

Para monitorizar el estado de tu EKM, crea un panel de control que monitorice el número de solicitudes y las latencias:

  1. Descarga la configuración del panel de control: ekm-dashboard.json.

  2. Crea un panel de control personalizado con el archivo de configuración ejecutando el siguiente comando:

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

Ver tu panel de control de EKM

  1. En la Google Cloud consola, ve a la página Monitoring o haz clic en el siguiente botón:

    Ir a Monitoring

  2. Selecciona Recursos > Paneles y consulta el panel llamado Cloud KMS EKM.

Crear una política de alertas para métricas de EKM

Sigue estos pasos con la CLI de gcloud:

  1. Selecciona un canal de notificaciones para recibir alertas de métricas de EKM.

    • Para usar un canal de notificaciones que ya tengas, primero debes ver tus canales:

      gcloud beta monitoring channels list
      

      Elige un canal de la lista. Anota el ID del canal de notificaciones, ya que lo necesitarás más adelante.

    • Para usar un nuevo canal de notificaciones, crea el canal con una dirección de correo electrónico:

      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
      

      Si la acción se realiza correctamente, este comando devuelve el nombre del nuevo canal. Anota el ID del canal de notificaciones, ya que lo necesitarás más adelante. La salida es similar a la siguiente:

      Created notification channel [projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL_ID]
      
  2. Crea una política de alertas con el 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'
    

    Haz los cambios siguientes:

    • NOTIFICATION_CHANNEL_ID: el ID del canal de notificaciones.
    • LOCATION: la región para la que quieres recibir alertas sobre esta métrica. Si quieres que se envíe una alerta independientemente de la región, omite metric.labels.ekm_service_region.
    • LABEL_METHOD: la etiqueta method sobre la que quieres recibir alertas (por ejemplo, wrap, unwrap, asymmetricSign, checkCryptoSpacePermissions, createKey, getInfo o getPublicKey). Puede usar el explorador de métricas para consultar las etiquetas de métricas.

Siguientes pasos