本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过添加资源标签键和 IAM 全局条件键来丰富 CloudTrail 事件
在创建或更新事件数据存储时,您可以通过添加资源标签键、主体标签键和 IAM 全局条件键来丰富 CloudTrail 管理事件和数据事件。这使您可以根据业务环境(例如,成本分配和财务管理、运营和数据安全要求)对 CloudTrail 事件进行分类、搜索和分析。您可以通过在 CloudTrail Lake 中运行查询来分析事件。您也可以选择联合事件数据存储并在 Amazon Athena 中运行查询。您可以使用 CloudTrail 控制台、AWS CLI 和 SDK 将资源标签键和 IAM 全局条件键添加到事件数据存储中。
注意
您在创建或更新资源后添加的资源标签可能会延迟,然后才会反映在 CloudTrail 事件中。CloudTrail 资源删除事件可能不包含标签信息。
IAM 全局条件键将始终显示在查询的输出中,但资源所有者可能看不到它们。
当您向丰富事件添加资源标签键时,CloudTrail 会将与 API 调用中涉及的资源关联的选定标签键包含在内。
当您将 IAM 全局条件键添加到事件数据存储时,CloudTrail 会包含有关授权过程中评估的所选条件键的信息,包括有关主体、会话和请求本身的更多详细信息。
注意
将 CloudTrail 配置为包含条件键或主体标签并不意味着该条件键或主体标签将出现在每个事件中。例如,如果您已将 CloudTrail 设置为包含特定全局条件键,但您在特定事件中没有看到它,则表明该键与该操作的 IAM 策略评估无关。
在您添加资源标签键或 IAM 条件键后,CloudTrail 会在 CloudTrail 事件中包含一个 eventContext 字段,该字段提供 API 操作的选定上下文信息。
在某些例外情况下,事件不包括 eventContext 字段,包括:
-
与已删除资源相关的 API 事件可能有资源标签,也可能没有资源标签。
-
eventContext字段没有延迟事件的数据,并且对于在 API 调用后更新的事件,该字段将不存在。例如,如果 Amazon EventBridge 出现延迟或中断,即使中断已解决,事件标签也可能在一段时间内保持过期状态。某些 AWS 服务可能会出现更长的延迟。有关更多信息,请参阅 CloudTrail 中丰富事件的资源标签更新。 -
如果您修改或删除用于丰富事件的 AWSServiceRoleForCloudTrailEventContext 服务相关角色,CloudTrail 将不会在
eventContext中填充任何资源标签。
注意
eventContext 字段仅存在于配置为包含资源标签键、主体标签键和 IAM 全局条件键的事件数据存储的事件中。传输到事件历史记录、Amazon EventBridge 且可使用 AWS CLI lookup-events 命令查看的事件将不包括 eventContext 字段。
AWS 服务 支持资源标签
所有 AWS 服务 支持资源标签。有关更多信息,请参阅 Services that support the AWS Resource Groups Tagging API。
CloudTrail 中丰富事件的资源标签更新
配置为这样做时,CloudTrail 会捕获有关资源标签的信息,并使用它们在丰富事件中提供信息。在使用资源标签时,在某些情况下,系统请求事件时可能无法准确反映资源标签。在标准操作期间,创建资源时应用的标签始终存在,并且不会出现延迟或延迟极少。但是,预计以下服务的资源标签更改在 CloudTrail 事件中的显示会发生延迟:
Amazon Chime Voice Connector
AWS CloudTrail
AWS CodeConnections
Amazon DynamoDB
Amazon ElastiCache
Amazon Keyspaces (for Apache Cassandra)
Amazon Kinesis
Amazon Lex
Amazon 内存 DB
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
服务中断也可能导致资源标签信息更新出现延迟。如果出现服务中断延迟,后续 CloudTrail 事件将包含 addendum 字段,其中包含有关资源标签更改的信息。这些额外信息将按规定用于提供丰富的 CloudTrail 事件。
AWS 服务 支持 IAM 全局条件键
以下 AWS 服务 对丰富事件支持 IAM 全局条件键:
-
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 最终用户社交消息
-
Amazon EventBridge
-
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 for InfluxDB
-
Amazon Transcribe
-
AWS Transfer Family
-
AWS Trusted Advisor
-
Amazon WorkSpaces
-
AWS X-Ray
丰富事件支持的 IAM 全局条件键
下表列出了 CloudTrail 丰富事件支持的 IAM 全局条件键以及示例值:
| 键 | 示例值 |
|---|---|
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 |
:username(用户名) |
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" |
事件示例
在以下示例中,eventContext 字段包含值为 false 的 IAM 全局条件键 aws:ViaAWSService,这表示 API 调用不是由 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": {} } }