使用 CloudTrail 控制台创建跟踪
作为最佳实践,请创建应用于所有 AWS 区域 的跟踪。当您在 CloudTrail 控制台中创建跟踪时,这是默认设置。当跟踪应用于所有区域时,CloudTrail 会将您正在使用的 AWS 分区中所有区域的日志文件传送到您指定的 S3 存储桶。在创建跟踪后,AWS CloudTrail 会自动开始记录您指定的事件。
注意
创建跟踪后,您可以配置其他 AWS 服务,进一步分析在 CloudTrail 日志中收集的事件数据并采取行动。有关更多信息,请参阅 AWS 服务与 CloudTrail 日志集成。
在控制台中创建跟踪
使用以下过程创建多区域跟踪。要记录单区域中的事件(不推荐),请使用 AWS CLI。
使用 AWS Management Console创建 CloudTrail 跟踪
登录到 AWS Management Console,然后通过以下网址打开 CloudTrail 控制台:https://console.aws.amazon.com/cloudtrail
。 -
在 CloudTrail 服务主页、Trails(跟踪)页面或 Dashboard(控制面板)页面的 Trails(跟踪)部分上,选择 Create trail(创建跟踪)。
-
在 Create Trail 页面上,对于 Trail name,键入一个跟踪名。有关更多信息,请参阅 CloudTrail 资源、S3 存储桶和 KMS 密钥的命名要求。
-
如果这是 AWS Organizations 组织跟踪,您可以为组织中的所有账户启用跟踪。要查看此选项,您必须使用管理账户或委托管理员账户中的用户或角色登录到控制台。要成功创建组织跟踪,请确保相应用户或角色具有足够的权限。有关更多信息,请参阅 为组织创建跟踪。
-
对于 Storage location(存储位置,选择 Create new S3 bucket(创建 S3 存储桶)以创建存储桶。在创建存储桶时,CloudTrail 会创建并应用所需的存储桶策略。如果您选择创建新的 S3 存储桶,则您的 IAM 策略需要包含
s3:PutEncryptionConfiguration
操作的权限,因为默认情况下,存储桶已启用服务器端加密。注意
如果选择了使用现有 S3 存储桶,则在跟踪日志存储桶名称中指定一个存储桶,或选择浏览以选择自己账户中的存储桶。如果您想使用其他账户中的存储桶,则需要指定存储桶名称。存储桶策略必须授予 CloudTrail 向其写入的权限。有关手动编辑存储桶策略的信息,请参阅针对 CloudTrail 的 Simple Storage Service(Amazon S3)存储桶策略。
为了更轻松地查找日志,在现有存储桶中创建新文件夹(又称为前缀)来存储您的 CloudTrail 日志。在 Prefix(前缀)字段中输入前缀。
-
对于 Log file SSE-KMS encryption(日志文件 SSE-KMS 加密),如果您希望使用 SSE-KMS 加密而非 SSE-S3 加密对您的日志文件进行加密,请选择 Enabled(已启用)。默认值为 Enabled(已启用)。如果您未启用 SSE-KMS 加密,则将使用 SSE-S3 加密对您的日志进行加密。有关 SSE-KMS 加密的更多信息,请参阅使用具有 AWS Key Management Service 的服务器端加密(SSE-KMS)。有关 SSE-S3 加密的更多信息,请参阅配合使用服务器端加密与 Amazon S3 托管加密密钥(SSE-S3)。
如果您启用了 SSE-KMS 加密,请选择 New(新建)或 Existing(现有)AWS KMS key。在 AWS KMS Alias(Amazon KMS 别名)中,使用
alias/
MyAliasName
的格式指定别名。有关更多信息,请参阅 通过控制台更新资源以使用 KMS 密钥。CloudTrail 还支持 AWS KMS 多区域密钥。有关多区域密钥的更多信息,请参阅 AWS Key Management Service 开发人员指南中的使用多区域密钥。注意
您也可以键入其他账户的密钥 ARN。有关更多信息,请参阅 通过控制台更新资源以使用 KMS 密钥。密钥政策必须允许 CloudTrail 使用此密钥加密您的日志文件,并允许您指定的用户读取未加密形式的日志文件。有关手动编辑密钥政策的信息,请参阅为 CloudTrail 配置 AWS KMS 密钥策略。
-
在 Additional configuration(其他配置)中,请配置以下内容。
-
对于 Log file validation(日志文件验证),选择 Enabled(已启用)以将日志摘要传输到您的 S3 存储桶。您可以使用摘要文件验证日志文件在由 CloudTrail 传送之后没有发生改变。有关更多信息,请参阅 验证 CloudTrail 日志文件完整性。
-
对于 SNS notification delivery(SNS 通知传输),选择 Enabled(已启用)以在每次日志传送到您的存储桶时收到通知。CloudTrail 将多个事件存储在单个日志文件中。SNS 通知针对每个日志文件而不是每个事件发送。有关更多信息,请参阅 为 CloudTrail 配置 Amazon SNS 通知。
如果您启用了 SNS 通知,则对于 Create a new SNS topic(创建新 SNS 主题),选择 New(新建)创建主题,或选择 Existing(现有)使用现有的主题。如果您创建的是应用到所有区域的跟踪,则针对来自所有区域的日志文件传输的 SNS 通知将发送到您创建的单个 SNS 主题中。
如果选择 New(新建),CloudTrail 会为您指定新主题的名称,您也可以键入名称。如果选择 Existing(现有),则从下拉列表中选择一个 SNS 主题。您还可以输入来自另一个区域或来自一个具有适当权限的账户的主题的 ARN。有关更多信息,请参阅 针对 CloudTrail 的 Amazon SNS 主题策略。
如果您创建一个主题,则必须订阅该主题以便获取日志文件传送的通知。您可通过 Amazon SNS 控制台进行订阅。由于通知的频率,建议您将该订阅配置为使用 Amazon SQS 队列来以编程方式处理通知。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门。
-
-
或者,在 CloudWatch Logs 中选择 Enabled(已启用)以将 CloudTrail 配置将日志文件发送到 CloudWatch Logs。有关更多信息,请参阅 将事件发送到 CloudWatch Logs。
-
如果您启用了与 CloudWatch Logs 的集成,请选择 New(新建)创建新日志组,或选择 Existing(现有)使用现有的日志组。如果选择 New(新建),CloudTrail 会为您指定新日志组的名称,您也可以键入名称。
-
如果选择 Existing(现有),则从下拉列表中选择一个日志组。
-
选择 New(新建)创建新 IAM 角色,以获得将日志发送到 CloudWatch Logs 的权限。选择 Existing(现有)以从下拉列表中选择一个现有 IAM 角色。展开 Policy document(策略文档)时,将显示新角色或现有角色的策略语句。有关该角色的更多信息,请参阅 与 CloudTrail 使用 CloudWatch Logs 进行监控对应的角色策略文档。
注意
-
在您配置跟踪时,可以选择属于另一个账户的 S3 存储桶和 SNS 主题。但是,如果您希望 CloudTrail 将事件传送至 CloudWatch Logs 日志组,则必须选择当前账户中的日志组。
只有管理账户才能使用控制台为组织跟踪配置 CloudWatch Logs 日志组。委托管理员可以使用 AWS CLI 或 CloudTrail
CreateTrail
或者UpdateTrail
API 操作配置 CloudWatch Logs 日志组。
-
-
-
对于标签,您最多可以添加 50 个标签键对,以帮助您对跟踪的访问进行识别、排序和控制。标签可帮助您识别 CloudTrail 跟踪记录和包含 CloudTrail 日志文件的 Simple Storage Service(Amazon S3)存储桶。然后,您可以为您的 CloudTrail 资源使用资源组。有关更多信息,请参阅 AWS Resource Groups 和标签。
-
在 Choose log events(选择日志事件)页面中,选择要记录的事件类型。对于 Management events (管理事件),请执行以下操作。
-
对于 API activity(API 活动),选择您希望跟踪记录 Read(读取)事件、Write(写入)事件,还是记录两者。有关更多信息,请参阅 管理事件。
-
选择 Exclude AWS KMS events(排除 Amazon KMS 事件)以从跟踪中筛选出 AWS Key Management Service (AWS KMS) 事件。默认设置是包含所有 AWS KMS 事件。
只有当您在跟踪上记录管理事件时,用于记录或排除 AWS KMS 事件的选项才可用。如果选择不记录管理事件,则不会记录 AWS KMS 事件,并且您无法更改 AWS KMS 事件日志记录设置。
Encrypt
、Decrypt
和GenerateDataKey
等 AWS KMS 操作通常会生成大量事件(占比超过 99%)。这些操作现在记录为读取事件。Disable
、Delete
和ScheduleKey
(通常占不到 AWS KMS 事件量的 0.5%)等少量的相关 AWS KMS 操作记录为 Write(写入)事件。如果要排除大批量事件(例如
Encrypt
、Decrypt
和GenerateDataKey
),但仍然记录相关事件(例如Disable
、Delete
和ScheduleKey
),选择记录 Write(写入)管理事件,然后清除 Exclude AWS KMS events(排除 Amazon KMS 事件)复选框。 -
选择 Exclude Amazon RDS Data API events(排除 Amazon RDS 数据 API 事件以从跟踪中筛选出 Amazon Relational Database Service 数据 API 事件。默认设置是包含所有 Amazon RDS 数据 API 事件。有关 Amazon RDS 数据 API 事件的更多信息,请参阅 Amazon RDS Aurora 用户指南中的使用 AWS CloudTrail 记录数据 API 调用。
-
-
要记录数据事件,请选择 Data events(数据事件)。记录数据事件将收取额外费用。有关更多信息,请参阅 AWS CloudTrail 定价
。 -
重要
默认情况下,步骤 12-16 用于使用高级事件选择器配置数据事件。高级事件选择器让您可以配置更多数据事件类型,并对跟踪捕获的数据事件进行精细控制。如果您选择使用基本事件选择器,请完成 使用基本事件选择器配置数据事件设置 中的步骤,然后返回到此程序的步骤 17。
对于 Data event type(数据事件类型),选择要在其上记录数据事件的资源类型。有关可用数据事件类型的更多信息,请参阅 数据事件。
注意
要记录 Lake Formation 创建的 AWS Glue 表的数据事件,请选择 Lake Formation。
-
选择日志选择器模板。CloudTrail 包括用于记录资源类型的所有数据事件的预定义模板。要构建自定义日志选择器模板,请选择 Custom(自定义)。
注意
选择 S3 存储桶的预定义模板可为您的 AWS 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 AWS 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行。
如果跟踪仅应用于一个区域,则选择记录所有 S3 存储桶的预定义模板可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户的其他区域中的 Simple Storage Service(Amazon S3)存储桶记录数据事件。
如果您正在为所有区域创建跟踪,则选择 Lambda 函数的预定义模板将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您正在为单个区域创建跟踪(通过使用 AWS CLI 完成),则此选择将为您的 AWS 账户中的该区域中当前包含的所有函数以及您在创建跟踪后可能在该区域中创建的任何 Lambda 函数启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。
所有函数的日志记录数据事件也将为由 AWS 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行。
-
(可选)在选择器名称中,输入用于标识选择器的名称。选择器名称是高级事件选择器的描述性名称,例如“仅记录两个 S3 桶的数据事件”。选择器名称在高级事件选择器中列为
Name
,展开 JSON 视图即可查看该名称。 -
在 Advanced event selectors(高级事件选择器)中,为您要记录其数据事件的特定资源构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。
-
从下面的字段中选择。
-
readOnly
-readOnly
可以设置为等于值true
或false
。只读数据事件是不会更改资源状态的事件,例如Get*
或Describe*
事件。写入事件可添加、更改或删除资源、属性或构件,例如Put*
、Delete*
或Write*
事件。要记录read
和write
两种事件,请不要添加readOnly
选择器。 -
eventName
-eventName
可以使用任何运算符。您可以使用它来包含或排除记录到 CloudTrail 的任何数据事件,例如PutBucket
、GetItem
或GetSnapshotBlock
。 -
resources.ARN
- 您可以将任何运算符与resources.ARN
配合使用,但如果您使用等于或不等于,则该值必须与您在模板中指定为resources.type
的值的有效资源类型的 ARN 完全匹配。下表显示每个
resources.type
的有效 ARN 格式。注意
您不能使用
resources.ARN
字段筛选没有 ARN 的资源类型。resources.type resources.ARN AWS::DynamoDB::Table1
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
AWS::Lambda::Function
arn:
partition
:lambda:region
:account_ID
:function:function_name
AWS::S3::Object
2arn:
partition
:s3:::amzn-s3-demo-bucket
/ arn:partition
:s3:::amzn-s3-demo-bucket
/object_or_file_name
/AWS::AppConfig::Configuration
arn:
partition
:appconfig:region
:account_ID
:application/application_ID
/environment/environment_ID
/configuration/configuration_profile_ID
AWS::B2BI::Transformer
arn:
partition
:b2bi:region
:account_ID
:transformer/transformer_ID
AWS::Bedrock::AgentAlias
arn:
partition
:bedrock:region
:account_ID
:agent-alias/agent_ID
/alias_ID
AWS::Bedrock::FlowAlias
arn:
partition
:bedrock:region
:account_ID
:flow/flow_ID
/alias/alias_ID
AWS::Bedrock::Guardrail
arn:
partition
:bedrock:region
:account_ID
:guardrail/guardrail_ID
AWS::Bedrock::KnowledgeBase
arn:
partition
:bedrock:region
:account_ID
:knowledge-base/knowledge_base_ID
AWS::Bedrock::Model
ARN 必须采用以下格式之一:
-
arn:
partition
:bedrock:region
::foundation-model/resource_ID
-
arn:
partition
:bedrock:region
:account_ID
:provisioned-model/resource_ID
-
arn:
partition
:bedrock:region
:account_ID
:custom-model/resource_ID
AWS::Cassandra::Table
arn:
partition
:cassandra:region
:account_ID
:keyspace/keyspace_name
/table/table_name
AWS::CloudFront::KeyValueStore
arn:
partition
:cloudfront:region
:account_ID
:key-value-store/KVS_name
AWS::CloudTrail::Channel
arn:
partition
:cloudtrail:region
:account_ID
:channel/channel_UUID
AWS::CodeWhisperer::Customization
arn:
partition
:codewhisperer:region
:account_ID
:customization/customization_ID
AWS::CodeWhisperer::Profile
arn:
partition
:codewhisperer:region
:account_ID
:profile/profile_ID
AWS::Cognito::IdentityPool
arn:
partition
:cognito-identity:region
:account_ID
:identitypool/identity_pool_ID
AWS::DataExchange::Asset
arn:
partition
:dataexchange:region
:account_ID
:data-sets/data_set_ID
/revisions/revision_ID
/assets/asset_ID
AWS::Deadline::Fleet
arn:
partition
:deadline:region
:account_ID
:farm/farm_ID
/fleet/fleet_ID
AWS::Deadline::Job
arn:
partition
:deadline:region
:account_ID
:farm/farm_ID
/queue/queue_ID
/job/job_ID
AWS::Deadline::Queue
arn:
partition
:deadline:region
:account_ID
:farm/farm_ID
/queue/queue_ID
AWS::Deadline::Worker
arn:
partition
:deadline:region
:account_ID
:farm/farm_ID
/fleet/fleet_ID
/worker/worker_ID
AWS::DynamoDB::Stream
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
/stream/date_time
AWS::EC2::Snapshot
arn:
partition
:ec2:region
::snapshot/snapshot_ID
AWS::EMRWAL::Workspace
arn:
partition
:emrwal:region
:account_ID
:workspace/workspace_name
AWS::FinSpace::Environment
arn:
partition
:finspace:region
:account_ID
:environment/environment_ID
AWS::Glue::Table
arn:
partition
:glue:region
:account_ID
:table/database_name
/table_name
AWS::GreengrassV2::ComponentVersion
arn:
partition
:greengrass:region
:account_ID
:components/component_name
AWS::GreengrassV2::Deployment
arn:
partition
:greengrass:region
:account_ID
:deployments/deployment_ID
AWS::GuardDuty::Detector
arn:
partition
:guardduty:region
:account_ID
:detector/detector_ID
AWS::IoT::Certificate
arn:
partition
:iot:region
:account_ID
:cert/certificate_ID
AWS::IoT::Thing
arn:
partition
:iot:region
:account_ID
:thing/thing_ID
AWS::IoTSiteWise::Asset
arn:
partition
:iotsitewise:region
:account_ID
:asset/asset_ID
AWS::IoTSiteWise::TimeSeries
arn:
partition
:iotsitewise:region
:account_ID
:timeseries/timeseries_ID
AWS::IoTTwinMaker::Entity
arn:
partition
:iottwinmaker:region
:account_ID
:workspace/workspace_ID
/entity/entity_ID
AWS::IoTTwinMaker::Workspace
arn:
partition
:iottwinmaker:region
:account_ID
:workspace/workspace_ID
AWS::KendraRanking::ExecutionPlan
arn:
partition
:kendra-ranking:region
:account_ID
:rescore-execution-plan/rescore_execution_plan_ID
AWS::Kinesis::Stream
arn:
partition
:kinesis:region
:account_ID
:stream/stream_name
AWS::Kinesis::StreamConsumer
arn:
partition
:kinesis:region
:account_ID
:stream_type
/stream_name
/consumer/consumer_name
:consumer_creation_timestamp
AWS::KinesisVideo::Stream
arn:
partition
:kinesisvideo:region
:account_ID
:stream/stream_name
/creation_time
AWS::MachineLearning::MlModel
arn:
partition
:machinelearning:region
:account_ID
:mlmodel/model_ID
AWS::ManagedBlockchain::Network
arn:
partition
:managedblockchain:::networks/network_name
AWS::ManagedBlockchain::Node
arn:
partition
:managedblockchain:region
:account_ID
:nodes/node_ID
AWS::MedicalImaging::Datastore
arn:
partition
:medical-imaging:region
:account_ID
:datastore/data_store_ID
AWS::NeptuneGraph::Graph
arn:
partition
:neptune-graph:region
:account_ID
:graph/graph_ID
AWS::One::UKey
arn:
partition
:one:region
:account_ID
:user/user_ID
/u-key/u-key_ID
AWS::One::User
arn:
partition
:one:region
:account_ID
:user/user_ID
AWS::PaymentCryptography::Alias
arn:
partition
:payment-cryptography:region
:account_ID
:alias/alias
AWS::PaymentCryptography::Key
arn:
partition
:payment-cryptography:region
:account_ID
:key/key_ID
AWS::PCAConnectorAD::Connector
arn:
partition
:pca-connector-ad:region
:account_ID
:connector/connector_ID
AWS::PCAConnectorSCEP::Connector
arn:
partition
:pca-connector-scep:region
:account_ID
:connector/connector_ID
AWS::QApps:QApp
arn:
partition
:qapps:region
:account_ID
:application/application_UUID
/qapp/qapp_UUID
AWS::QBusiness::Application
arn:
partition
:qbusiness:region
:account_ID
:application/application_ID
AWS::QBusiness::DataSource
arn:
partition
:qbusiness:region
:account_ID
:application/application_ID
/index/index_ID
/data-source/datasource_ID
AWS::QBusiness::Index
arn:
partition
:qbusiness:region
:account_ID
:application/application_ID
/index/index_ID
AWS::QBusiness::WebExperience
arn:
partition
:qbusiness:region
:account_ID
:application/application_ID
/web-experience/web_experienc_ID
AWS::RDS::DBCluster
arn:
partition
:rds:region
:account_ID
:cluster/cluster_name
AWS::RUM::AppMonitor
arn:
partition
:rum:region
:account_ID
:appmonitor/app_monitor_name
AWS::S3::AccessPoint
3arn:
partition
:s3:region
:account_ID
:accesspoint/access_point_name
AWS::S3Express::Object
arn:
partition
:s3express:region
:account_ID
:bucket/bucket_name
AWS::S3ObjectLambda::AccessPoint
arn:
partition
:s3-object-lambda:region
:account_ID
:accesspoint/access_point_name
AWS::S3Outposts::Object
arn:
partition
:s3-outposts:region
:account_ID
:object_path
AWS::SageMaker::Endpoint
arn:
partition
:sagemaker:region
:account_ID
:endpoint/endpoint_name
AWS::SageMaker::ExperimentTrialComponent
arn:
partition
:sagemaker:region
:account_ID
:experiment-trial-component/experiment_trial_component_name
AWS::SageMaker::FeatureGroup
arn:
partition
:sagemaker:region
:account_ID
:feature-group/feature_group_name
AWS::SCN::Instance
arn:
partition
:scn:region
:account_ID
:instance/instance_ID
AWS::ServiceDiscovery::Namespace
arn:
partition
:servicediscovery:region
:account_ID
:namespace/namespace_ID
AWS::ServiceDiscovery::Service
arn:
partition
:servicediscovery:region
:account_ID
:service/service_ID
AWS::SMSVoice::OriginationIdentity
arn:
partition
:sms-voice:region
:account_ID
:.*$
AWS::SNS::PlatformEndpoint
arn:
partition
:sns:region
:account_ID
:endpoint/endpoint_type
/endpoint_name
/endpoint_ID
AWS::SNS::Topic
arn:
partition
:sns:region
:account_ID
:topic_name
AWS::SocialMessaging::PhoneNumberId
arn:
partition
:social-messaging:region
:account_ID
:phone-number-id/phone_number_ID
AWS::SQS::Queue
arn:
partition
:sqs:region
:account_ID
:queue_name
AWS::SSM::ManagedNode
ARN 必须采用以下格式之一:
-
arn:
partition
:ssm:region
:account_ID
:managed-instance/instance_ID
-
arn:
partition
:ec2:region
:account_ID
:instance/instance_ID
AWS::SSMMessages::ControlChannel
arn:
partition
:ssmmessages:region
:account_ID
:control-channel/control_channel_ID
AWS::StepFunctions::StateMachine
ARN 必须采用以下格式之一:
-
arn:
partition
:states:region
:account_ID
:stateMachine:stateMachine_name
-
arn:
partition
:states:region
:account_ID
:stateMachine:stateMachine_name
/label_name
AWS::SWF::Domain
arn:
partition
:swf:region
:account_ID
:/domain/domain_name
AWS::ThinClient::Device
arn:
partition
:thinclient:region
:account_ID
:device/device_ID
AWS::ThinClient::Environment
arn:
partition
:thinclient:region
:account_ID
:environment/environment_ID
AWS::Timestream::Database
arn:
partition
:timestream:region
:account_ID
:database/database_name
AWS::Timestream::Table
arn:
partition
:timestream:region
:account_ID
:database/database_name
/table/table_name
AWS::VerifiedPermissions::PolicyStore
arn:
partition
:verifiedpermissions:region
:account_ID
:policy-store/policy_store_ID
1 对于启用了流的表,数据事件中的
resources
字段同时包含AWS::DynamoDB::Stream
和AWS::DynamoDB::Table
。如果您为resources.type
指定AWS::DynamoDB::Table
,则原定设置情况下,它将同时记录 DynamoDB 表和 DynamoDB 流事件。要排除流事件,请对eventName
字段添加筛选条件。2 要记录特定 S3 存储桶中所有对象的所有数据事件,请使用
StartsWith
运算符,并且仅包含存储桶 ARN 作为匹配值。刻意使用尾部斜杠;切勿排除它。3 要记录 S3 接入点中的所有对象的事件,建议您仅使用接入点 ARN,而不要包含对象路径,并且使用
StartsWith
或NotStartsWith
运算符。 -
有关数据事件资源的 ARN 格式的更多信息,请参阅 AWS Identity and Access Management用户指南中的操作、资源和条件键。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。例如,要从记录到事件数据存储的数据事件中排除两个 S3 存储桶的数据事件,可以将字段设置为 resources.ARN,设置不始于运算符,然后粘贴在 S3 存储桶 ARN 中,或浏览到不想为其记录事件的 S3 存储桶。
要添加第二个 S3 存储桶,请选择 + 条件,然后重复上述说明,在 ARN 中粘贴或浏览到不同的存储桶。
有关 CloudTrail 如何评估多个条件的信息,请参阅CloudTrail 如何评估字段的多个条件。
注意
对于事件数据存储上的所有选择器,最多可以有 500 个值。这包括选择器的多个值的数组,例如
eventName
。如果所有选择器均为单个值,则最多可以向选择器添加 500 个条件。 -
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。例如,不要在一个选择器中将 ARN 指定为等于某个值,然后在另一个选择器中指定 ARN 不等于相同的值。
-
-
要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。重复步骤 12 至此步骤,为数据事件类型配置高级事件选择器。
-
要记录网络活动事件,请选择网络活动事件。网络活动事件使 VPC 端点所有者能够记录使用其 VPC 端点进行的从私有 VPC 到 AWS 的 AWS 服务 API 调用。记录网络活动事件将收取额外费用。有关更多信息,请参阅 AWS CloudTrail 定价
。 注意
网络活动事件是 CloudTrail 的预览版,可能会发生变化。
要记录网络活动事件,请执行下列操作:
-
从网络活动事件源中,选择网络活动事件的来源。
-
在 Log selector template(日志选择器模板)中,选择一个模板。您可以选择记录所有网络活动事件、记录所有网络活动访问被拒绝的事件,或者选择自定义来构建自定义日志选择器以筛选多个字段(例如
eventName
和vpcEndpointId
)。 -
(可选)输入用于标识选择器的名称。选择器名称在高级事件选择器中列为 名称,展开 JSON 视图即可查看该名称。
-
在高级事件选择器中,通过为字段、运算符和值选择值来构建表达式。如果您使用的是预定义日志模板,则可跳过此步骤。
-
要排除或包括网络活动事件,您可以从控制台中的以下字段中进行选择。
-
eventName
– 您可以将任何运算符与eventName
配合使用。您可以使用它来包含或排除任何事件(如CreateKey
)。 -
errorCode
– 您可以使用它来筛选错误代码。目前,唯一支持的errorCode
是VpceAccessDenied
。 -
vpcEndpointId
– 标识操作通过的 VPC 端点。您可以将任何运算符与vpcEndpointId
配合使用。
-
-
对于每个字段,请选择 + 条件以根据需要添加任意数量的条件,所有条件总共可有最多 500 个指定值。
-
根据需要,选择 + Field(+ 字段)以添加其他字段。为了避免错误,请不要为字段设置冲突或重复的值。
-
-
要添加您想要记录网络活动事件的另一个事件源,请选择添加网络活动事件选择器。
-
或者,展开 JSON 视图将您的高级事件选择器作为 JSON 数据块查看。
-
-
如果您希望跟踪记录 CloudTrail Insights 事件,则选择 Insights events(Insights 事件)。
在 Event type(事件类型)中,选择 Insights events(Insights 事件)。您必须记录写入管理事件,以针对 API 调用率记录 Insights 事件。您必须记录读取或写入管理事件,以针对 API 错误率记录 Insights 事件。
CloudTrail Insights 分析管理事件中的异常活动,并在检测到异常时记录事件。默认情况下,跟踪记录不记录 Insights 事件。有关 Insights 事件的更多信息,请参阅记录 Insights 事件。记录 Insights 事件将收取额外费用。有关 CloudTrail 定价的信息,请参阅 AWS CloudTrail 定价
。 Insights 事件将传递到跟踪记录详细信息页面的 Storage location(存储位置)区域中指定的同一 S3 存储桶中名为
/CloudTrail-Insight
的不同文件夹。CloudTrail 会为您创建新前缀。例如,如果当前目标 S3 存储桶命名为amzn-s3-demo-bucket/AWSLogs/CloudTrail/
,则带有新前缀的 S3 存储桶名称会命名为amzn-s3-demo-bucket/AWSLogs/CloudTrail-Insight/
。 -
完成选择要记录的事件类型的操作后,选择 Next(下一步)。
-
在 Review and create(审核和重建)页面上,审核您的选择。在相关部分中选择 Edit(编辑)以更改该部分中显示的跟踪设置。在准备好创建跟踪时,选择 Create trail(创建跟踪)。
-
新跟踪记录出现在 Trails(跟踪记录)页面上。CloudTrail 会在约 5 分钟内发布日志文件,其中显示在您的账户中发起的 AWS API 调用。您可以在指定的 S3 存储桶中查看日志文件。如果您已启用 Insights 事件日志记录并且检测到异常活动,则 CloudTrail 最多可能需要 36 个小时才能传递第一个 Insights 事件。
注意
CloudTrail 通常会在 API 调用后平均大约 5 分钟内传输日志。此时间并不能得到保证。有关更多信息,请参阅 AWS CloudTrail 服务等级协议
。 如果您错误配置了跟踪(例如,无法访问 S3 存储桶),CloudTrail 将尝试将日志文件重新传输到您的 S3 存储桶,持续 30 天,而这些尝试传输的事件将按标准的 CloudTrail 费用收取。为避免配置错误的跟踪产生费用,您需要删除跟踪。
使用基本事件选择器配置数据事件设置
您可以使用高级事件选择器来配置所有数据事件类型以及网络活动事件(预览版)。高级事件选择器允许您创建细粒度的选择器来仅记录感兴趣的事件。
如果您使用基本事件选择器来记录数据事件,则只能记录 Amazon S3 存储桶、AWS Lambda 函数和 Amazon DynamoDB 表的数据事件。您无法使用基本事件选择器对 eventName
字段进行筛选。您也无法记录网络活动事件。
按照以下程序使用基本事件选择器配置数据事件设置。
使用基本事件选择器配置数据事件设置
-
在事件中,选择数据事件以记录数据事件。记录数据事件将收取额外费用。有关更多信息,请参阅 AWS CloudTrail 定价
。 -
对于 Simple Storage Service(Amazon S3)存储桶:
-
对于 Data event source(数据事件源),选择 S3。
-
您可以选择记录 All current and future S3 buckets(所有当前和未来 S3 存储桶),也可以指定单个存储桶或函数。默认情况下,记录所有当前和未来 S3 存储桶的数据事件。
注意
保留默认 All current and future S3 buckets(所有当前和未来 S3 存储桶)选项会为您的 AWS 账户中现有的所有存储桶和您完成跟踪创建后创建的任何存储桶启用数据事件日志记录。它也将为由 AWS 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的存储桶执行。
如果您正在为单个区域创建跟踪(通过使用 AWS CLI 完成),则选择 All current and future S3 buckets(所有当前和未来 S3 存储桶)可为跟踪所在的区域中的所有存储桶和您后来在该区域中创建的任何存储桶启用数据事件日志记录。不会为您的 AWS 账户的其他区域中的 Simple Storage Service(Amazon S3)存储桶记录数据事件。
-
如果保留默认值 All current and future S3 buckets(所有当前和未来 S3 存储桶),则选择记录 Read(读取)事件、Write(写入)事件,还是记录两者。
-
要选择单个存储桶,请清空 All current and future S3 buckets(所有当前和未来 S3 存储桶)的 Read(读取)和Write(写入)复选框。在 Individual bucket selection(单个存储桶选择)中,浏览要在其上记录数据事件的存储桶。通过键入所需存储桶的存储桶前缀来查找特定存储桶。您可以在此窗口中选择多个存储桶。选择添加存储桶,记录更多存储桶的数据事件。选择记录 Read(读取)事件(如
GetObject
)、Write(写入)事件(如PutObject
)或同时记录两种事件。此设置优先于为各个存储桶配置的个别设置。例如,如果指定记录所有 S3 存储桶的 Read 事件,然后选择为数据事件日志记录添加一个特定存储桶,则所添加存储桶的 Read 已经是选中状态。您无法清除此选择。只能配置 Write 选项。
要从日志记录中删除存储桶,请选择 X。
-
-
要添加需要记录数据事件的其他数据类型,请选择 Add data event type(添加数据事件类型)。
-
对于 Lambda 函数:
-
对于 Data event source(数据事件源),选择 Lambda。
-
在 Lambda function(Lambda 函数)中,选择 All regions(所有区域)记录所有 Lambda 函数,或选择 Input function as ARN(输入函数作为 ARN)以记录特定函数上的数据事件。
要记录 AWS 账户中的所有 Lambda 函数的数据事件,请选择 Log all current and future functions(记录所有当前和未来函数)。此设置优先于为各个函数配置的个别设置。将记录所有函数,即便这些函数未显示。
注意
如果为所有区域创建了一个跟踪,则此选择将为您的 AWS 账户中当前包含的所有函数以及您在创建跟踪后可能在任何区域中创建的任何 Lambda 函数启用数据事件日志记录。如果您正在为单个区域创建跟踪(通过使用 AWS CLI 完成),则此选择将为您的 AWS 账户中的该区域中当前包含的所有函数以及您在创建跟踪后可能在该区域中创建的任何 Lambda 函数启用数据事件日志记录。它不会为在其他区域中创建的 Lambda 函数启用数据事件日志记录。
所有函数的日志记录数据事件也将为由 AWS 账户中的任何 IAM 身份执行的数据事件活动启用日志记录,即使该活动是对属于其他 AWS 账户的函数执行。
-
如果选择 Input function as ARN(输入函数作为 ARN),则输入 Lambda 函数的 ARN。
注意
如果您的账户中有 15000 个以上的 Lambda 函数,则在创建跟踪时,您无法在 CloudTrail 控制台中查看或选择所有函数。您仍可以选择该选项来记录所有函数,即使未显示这些函数也是如此。如果您要记录特定函数的数据事件,则可手动添加一个函数 (如果您知道其 ARN)。您也可以在控制台中完成跟踪的创建操作,然后使用 AWS CLI 和 put-event-selectors 命令为特定 Lambda 函数配置数据事件日志记录。有关更多信息,请参阅 使用 AWS CLI 管理跟踪记录。
-
-
对于 DynamoDB 表:
-
对于 Data event source(数据事件源),选择 DynamoDB。
-
在 DynamoDB table selection(DynamoDB 表选择)中,选择 Browse(浏览)以选择一个表,或粘贴到您有权访问的 DynamoDB 表的 ARN 中。DynamoDB 表 ARN 使用以下格式:
arn:
partition
:dynamodb:region
:account_ID
:table/table_name
要添加另一个表,请选择 Add row(添加行),然后浏览到某个表或粘贴到您有权访问的表的 ARN 中。
-
-
要为跟踪配置 Insights 事件和其他设置,请返回本主题中前面的程序 在控制台中创建跟踪。
后续步骤
创建您的跟踪后,您可以返回到该跟踪以进行更改:
-
如果尚未配置,您可以配置 CloudTrail 以将日志文件发送到 CloudWatch Logs。有关更多信息,请参阅 将事件发送到 CloudWatch Logs。
-
创建表并将其用于在 Amazon Athena 中运行查询,以便分析 AWS 服务活动。有关更多信息,请参阅 Amazon Athena 用户指南中的在 CloudTrail 控制台中为 CloudTrail Logs 创建表。
-
向跟踪添加自定义标签(键-值对)。
-
要创建另一个跟踪,打开跟踪页面并选择创建跟踪。