Crear una alarma Amazon CloudWatch para detectar el uso de una eliminación pendiente de AWS KMS key - AWS Key Management Service

Crear una alarma Amazon CloudWatch para detectar el uso de una eliminación pendiente de AWS KMS key

Puede combinar las características de AWS CloudTrail, Amazon CloudWatch Logs y Amazon Simple Notification Service (Amazon SNS) que le notifican si alguien de su cuenta intenta utilizar una clave KMS que está pendiente de eliminación en una operación criptográfica. Si recibe esta notificación, puede cancelar la eliminación de la clave KMS y reconsiderar su decisión de eliminarla.

Los siguientes procedimientos explican cómo recibir una notificación cuando una solicitud de la API de AWS KMS que genera el mensaje de error “Key ARN is pending deletion” se escribe en los archivos de registro de CloudTrail. Este mensaje de error indica que una persona o aplicación ha intentado utilizar la clave KMS en una operación criptográfica (Encrypt, Decrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext y ReEncrypt). Debido a que la notificación está vinculada al mensaje de error, no se activa cuando se utilizan operaciones de las API permitidas en las clave KMS que están pendientes de eliminación, como por ejemplo ListKeys, CancelKeyDeletion y PutKeyPolicy. Para ver una lista de las operaciones de API de AWS KMS que devuelven este mensaje de error, consulte Estado de una clave: efecto en su clave KMS.

El correo electrónico de notificación que recibe no muestra la clave KMS o la operación criptográfica. Puede encontrar esa información en su registro de CloudTrail. En lugar de ello, el correo electrónico informa de que el estado de la alarma ha cambiado de OK (Correcto) a Alarm (Alarma). Para obtener más información sobre las alarmas de CloudWatch y los cambios de estado, consulte Crear alarmas de Amazon CloudWatch en la Guía del usuario de Amazon CloudWatch.

aviso

Esta alarma de Amazon CloudWatch no puede detectar el uso de la clave pública de una clave KMS asimétrica fuera de AWS KMS. Para obtener detalles acerca de los riesgos especiales de la eliminación de las claves KMS asimétricas utilizadas para la criptografía de clave pública, incluida la creación de textos cifrados que no se pueden descifrar, consulte Eliminación de claves KMS asimétricas.

Requisitos para una alarma de CloudWatch

Antes de crear una alarma de CloudWatch, debe crear un registro de seguimiento de AWS CloudTrail y configurar CloudTrail para ofrecer archivos de registro de CloudTrail a Amazon CloudWatch Logs.

  1. Cree un registro de seguimiento de CloudTrail.

    CloudTrail se habilita automáticamente en su Cuenta de AWS cuando la crea. Sin embargo, para mantener un registro continuo de los eventos de la cuenta, incluidos los eventos de AWS KMS cree un registro de seguimiento.

  2. Configure CloudTrail para ofrecer sus archivos de registro de CloudWatch Logs.

    Configure la entrega de sus archivos de registro de CloudTrail a CloudWatch Logs. Esto permite a CloudWatch Logs monitorear los registros de solicitudes de API de AWS KMS que intenten usar una clave KMS que está pendiente de eliminación.

Creación de alarma de CloudWatch

Para recibir una notificación cuando las solicitudes de API de AWS KMS intenten usar una clave KMS que está pendiente de eliminación en una operación criptográfica, cree una alarma de CloudWatch y configure las notificaciones.

Para crear una alarma de CloudWatch que monitoree los intentos de usar una clave KMS que está pendiente de eliminación

  1. Inicie sesión en la AWS Management Console y abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. Utilice el selector de región en la esquina superior derecha para elegir la Región de AWS que desee monitorear.

  3. En el panel de navegación izquierdo, elija Logs (Registros).

  4. En la lista Log Groups (Grupos de registros), elija el botón de opciones que aparece junto a su grupo de registros. A continuación, elija Create Metric Filter.

  5. En Filter Pattern, escriba o pegue lo siguiente:

    { $.eventSource = kms* && $.errorMessage = "* is pending deletion."}

    Elija Assign Metric (Asignar métrica).

  6. En la página Create Metric Filter and Assign a Metric, haga lo siguiente:

    1. En Metric Namespace (Espacio de nombres de métrica), escriba CloudTrailLogMetrics.

    2. En Nombre de métrica, escriba KMSKeyPendingDeletionErrorCount.

    3. Elija Show advanced metric settings (Mostrar configuración avanzada de métricas) y para Metric Value (Valor métrico), escriba 1, si este no es el valor actual.

    4. Elija Create Filter.

  7. En el cuadro de filtro, elija Create Alarm.

  8. En la ventana Create Alarm, haga lo siguiente:

    1. En la sección Alarm Threshold (Umbral de alarma); en Nombre, escriba KMSKeyPendingDeletionErrorAlarm. También puede añadir una descripción opcional.

    2. Después de Whenever (Siempre que), para is (es), elija >= y, a continuación, escriba 1.

    3. Para 1 out of n datapoints (1 de n puntos de datos), si es necesario, escriba 1.

    4. En la sección Additional settings (Configuración adicional), para Treat missing data as (Tratar los datos que faltan como), elija good (not breaching threshold) (correctos (dentro del umbral)).

    5. En la sección Actions (Acciones), para Send notification to (Enviar notificación a), realice una de las siguientes acciones:

      • Para utilizar un nuevo tema de Amazon SNS, elija New list (Nueva lista) y, a continuación, escriba un nuevo nombre de tema como KMSAlert. En Email list: (Lista de correo electrónico):, escriba al menos una dirección de correo electrónico. Puede escribir varias direcciones de correo electrónico separándolas con comas.

      • Para utilizar un tema de Amazon SNS existente, elija el nombre del tema que desea usar.

    6. Elija Create Alarm.

  9. Si ha elegido enviar notificaciones a una dirección de correo electrónico, abra el mensaje de correo electrónico que reciba de no-reply@sns.amazonaws.com con el asunto "AWS Notification - Subscription Confirmation" (Notificación de AWS - Confirmación de suscripción). Confirme la dirección de correo electrónico eligiendo en el enlace Confirm subscription del mensaje de correo electrónico.

    nota

    No recibirá notificaciones por correo electrónico hasta después de haber confirmado su dirección.

Después de realizar este procedimiento, recibirá una notificación cada vez que esta alarma de CloudWatch cambie al estado ALARM. Si recibe una notificación para esta alarma, puede significar que alguien o algo todavía tiene que utilizar esta clave KMS. En ese caso, debe cancelar la eliminación de la clave KMS para darse más tiempo para determinar si realmente desea eliminarla.