Enriquecer los eventos de CloudTrail mediante la agregación de etiquetas de recurso y claves de condición global de IAM - AWS CloudTrail

Enriquecer los eventos de CloudTrail mediante la agregación de etiquetas de recurso y claves de condición global de IAM

Puede enriquecer los eventos de administración y de datos de CloudTrail si agrega claves de etiquetas de recursos, claves de etiqueta de entidad principal y claves de condición global de IAM al crear o actualizar un almacén de datos de eventos. Esto le permite clasificar, buscar y analizar los eventos de CloudTrail en función del contexto empresarial, como la asignación de costos y la gestión financiera, las operaciones y los requisitos de seguridad de los datos. Puede analizar los eventos mediante la ejecución de consultas en CloudTrail Lake. También puede elegir federar su almacén de datos de eventos y ejecutar consultas en Amazon Athena. Puede agregar claves de etiquetas de recursos y claves de condición global de IAM a un almacén de datos de eventos mediante la consola de CloudTrail, AWS CLI y SDK.

nota

Es posible que las etiquetas de recursos que agregue después de la creación o las actualizaciones de los recursos tengan un retraso antes de que se reflejen en los eventos de CloudTrail. Es posible que los eventos de CloudTrail para la eliminación de los recursos no incluyan información de etiquetas.

Las claves de condición global de IAM siempre estarán visibles en el resultado de una consulta, pero es posible que el propietario del recurso no las vea.

Cuando agregue claves de etiqueta de recurso para enriquecer los eventos, CloudTrail incluirá las claves de las etiquetas seleccionadas asociadas a los recursos que han participado en la llamada a la API.

Cuando agregue claves de condición global de IAM a un almacén de datos de eventos, CloudTrail incluirá información sobre las claves de condición seleccionadas que se evaluaron durante el proceso de autorización, como los detalles adicionales sobre la entidad principal, la sesión y la propia solicitud.

nota

Configurar CloudTrail para incluir una clave de condición o etiqueta de la entidad principal no significa que esta clave de condición o etiqueta de la entidad principal vaya a estar presente en todos los eventos. Por ejemplo, si configuró CloudTrail para incluir una clave de condición global específica, pero no la ve en un evento concreto, esto indica que la clave no era pertinente para la evaluación de la política de IAM para esa acción.

Después de agregar las claves de etiquetas de recursos o las claves de condición de IAM, CloudTrail incluye un campo eventContext en los eventos de CloudTrail que ofrece la información contextual seleccionada para la acción de la API.

Existen algunas excepciones en las que el evento no incluirá el campo eventContext, como las siguientes:

  • Los eventos de la API relacionados con recursos eliminados pueden tener etiquetas de recurso o no tenerlas.

  • El campo eventContext no tendrá datos sobre los eventos retrasados y no estará presente para los eventos que se hayan actualizado después de la llamada a la API. Por ejemplo, si se produce un retraso o una interrupción en Amazon EventBridge, es posible que las etiquetas de los eventos permanezcan desactualizadas durante algún tiempo después de que se resuelva la interrupción. Algunos servicios de AWS tendrán demoras más prolongadas. Para obtener más información, consulte Actualizaciones de etiquetas de recursos en CloudTrail para los eventos enriquecidos.

  • Si modifica o elimina el rol vinculado al servicio AWSServiceRoleForCloudTrailEventContext que se utiliza para los eventos enriquecidos, CloudTrail no completará ninguna etiqueta de recurso en eventContext.

nota

El campo eventContext solo está presente en los eventos de los almacenes de datos de eventos que están configurados para incluir claves de etiquetas de recursos, claves de etiqueta de entidad principal y claves de condición global de IAM. Los eventos enviados al Historial de eventos de Amazon EventBridge, que se pueden ver con el comando AWS CLI lookup-events y se envían a los registros de seguimiento, no incluirán el campo eventContext.

Etiquetas de recursos compatibles de Servicios de AWS

Todas las etiquetas de recursos compatibles de Servicios de AWS. Para obtener más información, consulte Servicios que admiten AWS Resource Groups Tagging API.

Actualizaciones de etiquetas de recursos en CloudTrail para los eventos enriquecidos

Cuando se configura para ello, CloudTrail captura información sobre las etiquetas de recursos y las utiliza para ofrecer información en los eventos enriquecidos. Al trabajar con etiquetas de recursos, existen ciertas condiciones en las que es posible que una etiqueta de recurso no se refleje con precisión en el momento en que el sistema solicita los eventos. Durante el funcionamiento estándar, las etiquetas aplicadas en el momento de la creación del recurso están siempre presentes y tendrán un retraso mínimo o nulo. Sin embargo, se espera que los servicios que se encuentran a continuación retrasen los cambios en las etiquetas de recursos que aparecen en los eventos de CloudTrail:

  • Amazon Chime Voice Connector

  • AWS CloudTrail

  • AWS CodeConnections

  • Amazon DynamoDB

  • Amazon ElastiCache

  • Amazon Keyspaces (for Apache Cassandra)

  • Amazon Kinesis

  • Amazon Lex

  • Amazon MemoryDB

  • Amazon S3

  • Amazon Security Lake

  • AWS Direct Connect

  • AWS IAM Identity Center

  • AWS Key Management Service

  • AWS Lambda

  • AWS Marketplace Vendor Insights

  • AWS Organizations

  • AWS Payment Cryptography

  • Amazon Simple Queue Service

Las interrupciones del servicio también pueden ocasionar demoras en las actualizaciones de la información de las etiquetas de recursos. En caso de que se produzca un retraso en la interrupción del servicio, los eventos posteriores de CloudTrail incluirán un campo addendum con información sobre el cambio en la etiqueta de recurso. Esta información adicional se utilizará según lo especificado para ofrecer eventos enriquecidos de CloudTrail.

Servicios de AWS compatibles con las claves de condición global de IAM

Los siguientes Servicios de AWS admiten claves de condición global de IAM para los eventos enriquecidos:

  • AWS Certificate Manager

  • AWS CloudTrail

  • Amazon CloudWatch

  • Amazon CloudWatch Logs

  • AWS CodeBuild

  • AWS CodeCommit

  • AWS CodeDeploy

  • Amazon Cognito Sync

  • Amazon Comprehend

  • Amazon Comprehend Medical

  • Amazon Connect Voice ID

  • AWS Control Tower

  • Amazon Data Firehose

  • Amazon Elastic Block Store

  • Elastic Load Balancing

  • AWS End User Messaging Social

  • Amazon EventBridge

  • Programador de Amazon EventBridge

  • Amazon Data Firehose

  • Amazon FSx

  • AWS HealthImaging

  • AWS IoT Events

  • AWS IoT FleetWise

  • AWS IoT SiteWise

  • AWS IoT TwinMaker

  • AWS IoT Wireless

  • Amazon Kendra

  • AWS KMS

  • AWS Lambda

  • AWS License Manager

  • Amazon Lookout for Equipment

  • Amazon Lookout for Vision

  • AWS Network Firewall

  • AWS Payment Cryptography

  • Amazon Personalize

  • AWS Proton

  • Amazon Rekognition

  • Amazon SageMaker AI

  • AWS Secrets Manager

  • Amazon Simple Email Service (Amazon SES)

  • Amazon Simple Notification Service (Amazon SNS)

  • Amazon SQS

  • AWS Step Functions

  • AWS Storage Gateway

  • Amazon SWF

  • AWS Supply Chain

  • Amazon Timestream

  • Amazon Timestream para InfluxDB

  • Amazon Transcribe

  • AWS Transfer Family

  • AWS Trusted Advisor

  • Amazon WorkSpaces

  • AWS X-Ray

Claves de condición global de IAM compatibles para los eventos enriquecidos

En la siguiente tabla se enumeran las claves de condición global de IAM compatibles para los eventos enriquecidos de CloudTrail, con valores de muestra:

Claves de condición global y valores de muestra
Clave Ejemplo de valor
aws:FederatedProvider "IdP"
aws:TokenIssueTime "123456789"
aws:MultiFactorAuthAge "99"
aws:MultiFactorAuthPresent "true"
aws:SourceIdentity "UserName"
aws:PrincipalAccount "111122223333"
aws:PrincipalArn "arn:aws:iam::555555555555:role/myRole"
aws:PrincipalIsAWSService "false"
aws:PrincipalOrgID "o-rganization"
aws:PrincipalOrgPaths ["o-rganization/path-of-org"]
aws:PrincipalServiceName "cloudtrail.amazonaws.com"
aws:PrincipalServiceNamesList ["cloudtrail.amazonaws.com","s3.amazonaws.com"]
aws:PrincipalType "AssumedRole"
aws:userid "userid"
aws:username "usuario"
aws:RequestedRegion us-east-2"
aws:SecureTransport "true"
aws:ViaAWSService "false"
aws:CurrentTime "2025-04-30 15:30:00"
aws:EpochTime "1746049800"
aws:SourceAccount "111111111111"
aws:SourceOrgID "o-rganization"

Ejemplos de evento

En el siguiente ejemplo, el campo eventContext incluye la clave de condición global de IAM aws:ViaAWSService con un valor de false, lo que indica que la llamada a la API no la realizó un Servicio de AWS.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:sts::123456789012:assumed-role/admin", "accountId": "123456789012", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "ASIAIOSFODNN7EXAMPLE", "arn": "arn:aws:iam::123456789012:role/admin", "accountId": "123456789012", "userName": "admin" }, "attributes": { "creationDate": "2025-01-22T22:05:56Z", "mfaAuthenticated": "false" } } }, "eventTime": "2025-01-22T22:06:16Z", "eventSource": "cloudtrail.amazonaws.com", "eventName": "GetTrailStatus", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.0", "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0", "requestParameters": { "name": "arn:aws:cloudtrail:us-east-1:123456789012:trail/myTrail" }, "responseElements": null, "requestID": "d09c4dd2-5698-412b-be7a-example1a23", "eventID": "9cb5f426-7806-46e5-9729-exampled135d", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789012", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "cloudtrail.us-east-1.amazonaws.com" }, "sessionCredentialFromConsole": "true", "eventContext": { "requestContext": { "aws:ViaAWSService": "false" }, "tagContext": {} } }