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:
- Ya has configurado Cloud EKM en un proyecto, incluida una conexión EKM y una o varias claves externas.
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:
-
Editor de configuración del panel de control de Monitoring (
roles/monitoring.dashboardEditor
) -
Consumidor de uso del servicio (
roles/serviceusage.serviceUsageConsumer
)
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:
Descarga la configuración del panel de control:
ekm-dashboard.json
.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
En la Google Cloud consola, ve a la página Monitoring o haz clic en el siguiente botón:
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:
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]
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
ogetPublicKey
). Puede usar el explorador de métricas para consultar las etiquetas de métricas.
Siguientes pasos
- Explora tus datos en varias dimensiones de métricas con el explorador de métricas.
- Opcional: Crea políticas de alertas.