Registrar llamadas a la API de AWS KMS con AWS CloudTrail - AWS Key Management Service

Registrar llamadas a la API de AWS KMS con AWS CloudTrail

AWS KMS está integrado con AWS CloudTrail, un servicio que registra todas las llamadas a AWS KMS que hacen los usuarios, los roles y otros servicios de AWS. CloudTrail captura todas las llamadas a la API a AWS KMS como eventos, incluidas las llamadas procedentes de la consola de AWS KMS, API de AWS KMS, las plantillas de AWS CloudFormation, la AWS Command Line Interface (AWS CLI) y AWS Tools for PowerShell.

CloudTrail registra todas las operaciones de AWS KMS, incluidas las operaciones de solo lectura, como operaciones ListAliases y GetKeyRotationStatus, que administran claves KMS, como CreateKey y PutKeyPolicy, y operaciones criptográficas, como, por ejemplo, GenerateDataKey y Decrypt. También registra las operaciones internas que AWS KMS llama en su nombre, como DeleteExpiredKeyMaterial, DeleteKey, SynchronizeMultiRegionKey y RotateKey.

CloudTrail registra operaciones correctas e intentos de llamadas que han fallado, como cuando se deniega el acceso a un recurso a la persona que llama. Las operaciones que utilizan claves de KMS en otras cuentas se registran tanto en la cuenta del autor de la llamada como en la cuenta del propietario de la clave de KMS. Sin embargo, las solicitudes de entre AWS KMS cuentas que se rechazan porque se deniega el acceso solo se registran en la cuenta de la persona que llama.

Por razones de seguridad, algunos campos se omiten entradas de registro de AWS KMS, como los parámetros Plaintext de una solicitud Encrypt, y la respuesta a GetKeyPolicy o cualquier operación criptográfica. Para facilitar la búsqueda de entradas de registro de CloudTrail para determinadas claves de KMS, AWS KMS agrega el ARN de clave de la clave de KMS afectada al campo responseElements en las entradas de registro para algunas operaciones de administración de claves de AWS KMS, incluso cuando la operación de la API no devuelve el ARN de clave.

Aunque, de forma predeterminada, todas las acciones de AWS KMS se registren como eventos de CloudTrail, puede excluir las acciones de AWS KMS de un registro de seguimiento de CloudTrail. Para obtener más información, consulte Excluir eventos de AWS KMS de un registro de seguimiento.

Eventos de registro en CloudTrail

CloudTrail se habilita en su Cuenta de AWS cuando la crea. Cuando se produce una actividad en AWS KMS, esa actividad se registra en un evento de CloudTrail junto con otros eventos de servicio de AWS en el Historial de eventos. Puede ver, buscar y descargar los últimos eventos de la Cuenta de AWS. Para obtener más información, consulte Ver eventos con el historial de eventos de CloudTrail.

Para mantener un registro continuo de eventos en la Cuenta de AWS, incluidos los eventos de AWS KMS, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Regiones de AWS. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de Amazon S3 especificado. También es posible configurar otros Servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte:

Para obtener más información acerca de CloudTrail, consulte la Guía del usuario de AWS CloudTrail. Para obtener más información acerca de otras formas para monitorear el uso de las claves KMS, consulte Monitorización de AWS KMS keys.

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:

  • Si la solicitud se realizó con credenciales de usuario raíz o credenciales de usuario de IAM.

  • Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.

  • Si la solicitud la realizó otro Servicio de AWS.

Para obtener más información, consulte el Elemento userIdentity de CloudTrail.

Buscar eventos en CloudTrail

Para buscar entradas de registro de CloudTrail, utilice la consola de CloudTrail o la operación CloudTrail LookupEvents. CloudTrail admite numerosos valores de atributos para filtrar la búsqueda, incluidos el nombre del evento, el nombre de usuario y la fuente del evento.

Para ayudarlo a buscar entradas de registro de AWS KMS en CloudTrail,AWS KMS rellena los siguientes campos de entrada de registro de CloudTrail.

nota

A partir de diciembre de 2022, AWS KMS rellena los atributos Tipo de recurso y Nombre de recurso en todas las operaciones de administración que cambien una clave de KMS determinada. Estos valores de atributos pueden ser nulos en las entradas antiguas de CloudTrail para las siguientes operaciones: CreateAlias, CreateGrant, DeleteAlias, DeleteImportedKeyMaterial, ImportKeyMaterial, ReplicateKey, RetireGrant, RevokeGrant, UpdateAlias y UpdatePrimaryRegion.

Atributo Valor Entradas de registro
Fuente del evento (EventSource) kms.amazonaws.com Todas las operaciones.
Tipo de recurso (ResourceType) AWS::KMS::Key Operaciones de administración que cambian una clave de KMS en particular, como CreateKey y EnableKey, pero no ListKeys.
Nombre del recurso (ResourceName) ARN de clave (o ID de clave y ARN de clave) Operaciones de administración que cambian una clave de KMS en particular, como CreateKey y EnableKey, pero no ListKeys.

Para ayudarlo a encontrar las entradas de registro para las operaciones de administración en determinadas claves de KMS, AWS KMS registra el ARN de la clave de KMS afectada en el elemento responseElements.keyId de la entrada de registro, incluso cuando la operación de AWS KMS de la API no devuelve el ARN de clave.

Por ejemplo, una llamada correcta a la operación DisableKey no devuelve ningún valor en la respuesta, sino que, en lugar de un valor nulo, el valor de responseElements.keyId de la entrada de registro DisableKey incluye el ARN de la clave de KMS deshabilitada.

Esta función se agregó en diciembre de 2022 y afecta a las siguientes entradas de registro de CloudTrail: CreateAlias, CreateGrant, DeleteAlias, DeleteKey, DisableKey, EnableKey, EnableKeyRotation, ImportKeyMaterial, RotateKey, SynchronizeMultiRegionKey, TagResource, UntagResource, UpdateAlias y UpdatePrimaryRegion.

Excluir eventos de AWS KMS de un registro de seguimiento

La mayoría de los usuarios de AWS KMS confían en los eventos de un registro de seguimiento de CloudTrail para brindar un registro del uso y la administración de sus recursos de AWS KMS. El registro de seguimiento puede ser una valiosa fuente de datos para auditar eventos críticos, como la creación, deshabilitación y eliminación AWS KMS keys, el cambio de la política de claves y el uso de las claves KMS por los servicios de AWS en su nombre. En algunos casos, los metadatos de una entrada de un registro de CloudTrail, como el contexto de cifrado en una operación de cifrado, pueden ayudarle a evitar o resolver errores.

Sin embargo, dado que AWS KMS puede generar un gran número de eventos, AWS CloudTrail le permite excluir eventos de AWS KMS de un registro de seguimiento. Esta configuración por registro de seguimiento excluye todos los eventos de AWS KMS; no se pueden excluir eventos de AWS KMS concretos.

aviso

La exclusión de eventos de AWS KMS de un registro de CloudTrail puede ocultar las acciones que utilizan sus claves KMS. Actúe con precaución al conceder a las entidades principales el permiso cloudtrail:PutEventSelectors necesario para realizar esta operación.

Para excluir los eventos de AWS KMS de un registro de seguimiento:

Puede desactivar esta exclusión en cualquier momento cambiando la configuración de la consola o los selectores de eventos de un registro de seguimiento. A continuación, el registro de seguimiento comenzará a registrar eventos de AWS KMS. Sin embargo, no puede recuperar los eventos de AWS KMS que se produjeran mientras la exclusión estaba en vigor.

Al excluir eventos de la AWS KMS con la consola o la API, la operación resultante de la API PutEventSelectors CloudTrail también se registra en los registros de CloudTrail. Si los eventos de la AWS KMS no aparecen en los registros de CloudTrail, busque un evento PutEventSelectors con el atributo ExcludeManagementEventSources establecido en kms.amazonaws.com.