고급 이벤트 선택기를 사용하여 데이터 이벤트를 필터링합니다. - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

고급 이벤트 선택기를 사용하여 데이터 이벤트를 필터링합니다.

이 섹션에서는 고급 이벤트 선택기를 사용하여 세밀한 선택기를 만드는 방법을 설명합니다. 그러면 관심 있는 특정 데이터 이벤트만 기록하여 비용을 제어할 수 있습니다.

예:

  • 필드에 필터를 추가하여 특정 API 호출을 포함하거나 제외할 수 있습니다. eventName

  • resources.ARN필드에 필터를 추가하여 특정 리소스에 대한 로깅을 포함하거나 제외할 수 있습니다. 예를 들어 S3 데이터 이벤트를 로깅하는 경우 트레일에서 S3 버킷에 대한 로깅을 제외할 수 있습니다.

  • 필드에 필터를 추가하여 쓰기 전용 이벤트만 기록하거나 읽기 전용 이벤트만 기록하도록 선택할 수 있습니다. readOnly

다음 표에는 고급 이벤트 선택기의 구성 가능한 필드에 대한 추가 정보가 나와 있습니다.

필드 필수 유효한 연산자 Description

eventCategory

Equals

이 필드는 데이터 이벤트를 Data 기록하도록 설정되어 있습니다.

resources.type

Equals

이 필드는 데이터 이벤트를 기록할 리소스 유형을 선택하는 데 사용됩니다. 데이터 이벤트 테이블에는 가능한 값이 표시됩니다.

readOnly

아니요

Equals

readOnly값을 기준으로 데이터 이벤트를 포함하거나 제외하는 데 사용되는 선택적 필드입니다. true로그 값은 이벤트만 읽습니다. false로그 값은 이벤트만 기록합니다. 이 필드를 추가하지 않으면 읽기 및 쓰기 이벤트를 모두 CloudTrail 기록합니다.

eventName

아니요

모두

이 필드는 로깅된 데이터 이벤트 (예: 또는) 를 필터링하거나 필터링하는 CloudTrail 데 사용되는 선택적 필드입니다. PutBucket GetSnapshotBlock

를 사용하는 경우 각 값을 쉼표로 구분하여 여러 값을 지정할 수 있습니다. AWS CLI

콘솔을 사용하는 경우 필터링 기준으로 사용할 각 값에 대해 조건을 만들어 여러 값을 지정할 수 eventName 있습니다.

resources.ARN

아니요

모두

이 필드는 를 제공하여 특정 리소스에 대한 데이터 이벤트를 제외하거나 포함하는 데 사용되는 선택적 resources.ARN 필드입니다. 에는 모든 연산자를 사용할 수 있지만 resources.ARNNotEquals, Equals 또는 를 사용하는 경우 값이 resoureces.type 지정한 유효한 리소스의 ARN과 정확히 일치해야 합니다.

를 사용하는 경우 각 값을 쉼표로 구분하여 여러 값을 지정할 수 있습니다. AWS CLI

콘솔을 사용하는 경우 필터링 기준으로 사용할 각 값에 대해 조건을 만들어 여러 값을 지정할 수 resources.ARN 있습니다.

CloudTrail 콘솔을 사용하여 데이터 이벤트를 로깅하려면 데이터 이벤트 옵션을 선택한 다음 트레일 또는 이벤트 데이터 저장소를 만들거나 업데이트할 때 원하는 데이터 이벤트 유형을 선택합니다. Data events 테이블은 CloudTrail 콘솔에서 선택할 수 있는 가능한 데이터 이벤트 유형을 보여줍니다.

콘솔에서 SNS 주제 데이터 이벤트 유형 선택.

를 사용하여 데이터 이벤트를 로깅하려면 데이터 이벤트를 기록하려는 리소스 유형 resources.type 값과 Data 같고 값을 같게 설정하도록 --advanced-event-selector 파라미터를 구성하십시오. AWS CLIeventCategory 데이터 이벤트 테이블에는 사용 가능한 리소스 유형이 나열됩니다.

예를 들어 모든 Cognito Identity 풀의 데이터 이벤트를 로깅하려면 다음과 같이 --advanced-event-selectors 파라미터를 구성해야 합니다.

--advanced-event-selectors '[ { "Name": "Log Cognito data events on Identity pools", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Cognito::IdentityPool"] } ] } ]'

위의 예시는 모든 Cognito 데이터 이벤트를 자격 증명 풀에 기록합니다. eventNamereadOnly, 및 resources.ARN 필드를 기준으로 필터링하여 관심 있는 특정 이벤트를 기록하거나 관심 없는 이벤트를 제외하도록 고급 이벤트 선택기를 추가로 조정할 수 있습니다.

여러 조건에 따라 데이터 이벤트를 필터링하도록 고급 이벤트 선택기를 구성할 수 있습니다. 예를 들어, 다음 예와 같이 모든 Amazon S3 PutObjectDeleteObject API 호출을 기록하지만 특정 S3 버킷에 대한 이벤트 로깅은 제외하도록 고급 이벤트 선택기를 구성할 수 있습니다. DOC-EXAMPLE-BUCKET을 버킷의 이름으로 대체합니다.

--advanced-event-selectors '[ { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/"] } ] } ]'

고급 이벤트 선택기를 사용하여 관리 이벤트와 데이터 이벤트를 모두 기록할 수 있습니다. 여러 리소스 유형에 대한 데이터 이벤트를 로깅하려면 데이터 이벤트를 기록하려는 각 리소스 유형에 대한 필드 선택기 문을 추가하십시오.

참고

트레일은 기본 이벤트 선택기 또는 고급 이벤트 선택기를 사용할 수 있지만 둘 다 사용할 수는 없습니다. 추적에 고급 이벤트 선택기를 적용하면 기존의 기본 이벤트 선택기를 모두 덮어씁니다.

데이터 이벤트 필터링 기준 eventName

고급 이벤트 선택기를 사용하면 eventName 필드 값에 따라 이벤트를 포함하거나 제외할 수 있습니다. 를 기준으로 필터링하면 새 데이터 API에 대한 지원이 추가되는 데이터 이벤트를 로깅할 때 비용이 발생하지 않으므로 비용을 제어하는 데 도움이 될 eventName 수 있습니다. AWS 서비스

필드가 있는 모든 연산자를 사용할 수 있습니다. eventName 이를 사용하여 또는 와 같이 기록된 모든 데이터 이벤트를 필터링하거나 필터링할 CloudTrail 수 있습니다. PutBucket GetSnapshotBlock

를 사용하여 데이터 이벤트를 필터링합니다. eventNameAWS Management Console

CloudTrail 콘솔을 사용하여 eventName 필드를 필터링하려면 다음 단계를 따르세요.

  1. 트레일 생성 프로시저의 단계를 따르거나 이벤트 데이터 저장소 생성 프로시저의 단계를 따르세요.

  2. 트레일 또는 이벤트 데이터 저장소를 생성하는 단계를 따르면서 다음과 같이 선택하십시오.

    1. 데이터 이벤트를 선택합니다.

    2. 데이터 이벤트를 기록하려는 데이터 이벤트 유형을 선택합니다.

    3. 로그 선택기 템플릿의 경우 사용자 지정을 선택합니다.

    4. (선택 사항) 선택자 이름(Selector name)에 선택자를 식별할 이름을 입력합니다. 선택기 이름은 "2개의 S3 버킷에 대한 데이터 이벤트 로그그"애와 같이 고급 이벤트 선택기를 설명하는 이름입니다. 선택기 이름은 고급 이벤트 선택기에서의 Name으로 나열되며, JSON 뷰(JSON view)를 확장하여 볼 수 있습니다.

    5. 고급 이벤트 선택기에서 다음을 수행하여 필터링할 수 있습니다. eventName

      1. 필드에서 이벤트 이름을 선택합니다.

      2. 연산자에서 조건 연산자를 선택합니다. 이 예제에서는 특정 API 호출을 기록하기 위해 equals를 선택합니다.

      3. [Value] 에는 필터링 기준으로 사용할 이벤트의 이름을 입력합니다.

      4. 다른 eventName 항목을 필터링하려면 + 조건을 선택합니다.

      S3 데이터 이벤트 필터링 기준 eventName
    6. 다른 필드에 필터를 추가하려면 +Field를 선택합니다.

eventName 사용하여 데이터 이벤트를 필터링합니다. AWS CLI

를 AWS CLI사용하면 eventName 필드를 필터링하여 특정 이벤트를 포함하거나 제외할 수 있습니다.

추가 이벤트 선택기를 기록하도록 기존 트레일 또는 이벤트 데이터 저장소를 업데이트하는 경우, 트레일의 경우 명령을 실행하거나 이벤트 데이터 저장소용 get-event-selectors명령을 실행하여 현재 이벤트 선택기를 가져오십시오. get-event-data-store 그런 다음 이벤트 셀렉터를 업데이트하여 기록하려는 각 데이터 리소스 유형에 대한 필드 선택기를 추가하세요.

다음 예제는 S3 데이터 이벤트를 트레일에 기록합니다. GetObject,PutObject, DeleteObject API 호출에 --advanced-event-selectors 대한 데이터 이벤트만 기록하도록 구성되어 있습니다.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors '[ { "Name": "Log GetObject, PutObject and DeleteObject S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["GetObject","PutObject","DeleteObject"] } ] } ]'

다음 예제에서는 EBS Direct API에 대한 데이터 이벤트를 기록하지만 API 호출은 제외한 ListChangedBlocks 새 이벤트 데이터 저장소를 생성합니다. update-event-data-store명령을 사용하여 기존 이벤트 데이터 저장소를 업데이트할 수 있습니다.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" --advanced-event-selectors '[ { "Name": "Log all EBS Direct API data events except ListChangedBlocks", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "eventName", "NotEquals": ["ListChangedBlocks"] } ] } ]'

데이터 이벤트 필터링 기준 resources.ARN

고급 이벤트 선택기를 사용하여 resources.ARN 필드 값을 기준으로 필터링할 수 있습니다.

에는 모든 연산자를 사용할 수 있지만 resources.ARNNotEquals, Equals 또는 를 사용하는 경우 값은 지정한 resources.type 값에 대한 유효한 리소스의 ARN과 정확히 일치해야 합니다. 특정 S3 버킷의 모든 객체에 대한 모든 데이터 이벤트를 로그하려면 StartsWith 연산자를 사용하고 버킷 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::Object2

arn:partition:s3:::DOC-EXAMPLE-BUCKET/ arn:partition:s3:::DOC-EXAMPLE-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::KnowledgeBase
arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_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::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::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::S3::AccessPoint3

arn:partition:s3:region:account_ID:accesspoint/access_point_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::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::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::StreamAWS::DynamoDB::Table이 모두 포함됩니다. resources.type으로 AWS::DynamoDB::Table을 지정하는 경우 기본적으로 DynamoDB 테이블과 DynamoDB 스트림 이벤트가 모두 로깅됩니다. 스트림 이벤트를 제외하려면 eventName 필드에 필터를 추가하십시오.

2 특정 S3 버킷의 모든 객체에 대한 모든 데이터 이벤트를 로깅하려면, StartsWith 연산자를 사용하고 일치하는 값으로 버킷 ARN만 포함합니다. 후행 슬래시는 의도적인 것입니다. 제외하지 마세요.

3 S3 액세스 포인트의 모든 객체에 대한 이벤트를 로깅하려면 액세스 포인트 ARN만을 사용하고, 객체 경로를 포함하지 않으며, StartsWith 또는 NotStartsWith 연산자를 사용할 것을 권장합니다.

resources.ARN를 사용하여 데이터 이벤트를 필터링합니다. AWS Management Console

CloudTrail 콘솔을 사용하여 resources.ARN 필드를 필터링하려면 다음 단계를 따르세요.

  1. 트레일 생성 프로시저의 단계를 따르거나 이벤트 데이터 저장소 생성 프로시저의 단계를 따르세요.

  2. 트레일 또는 이벤트 데이터 저장소를 생성하는 단계를 따르면서 다음과 같이 선택하십시오.

    1. 데이터 이벤트를 선택합니다.

    2. 데이터 이벤트를 기록하려는 데이터 이벤트 유형을 선택합니다.

    3. 로그 선택기 템플릿의 경우 사용자 지정을 선택합니다.

    4. (선택 사항) 선택자 이름(Selector name)에 선택자를 식별할 이름을 입력합니다. 선택기 이름은 "2개의 S3 버킷에 대한 데이터 이벤트 로그그"애와 같이 고급 이벤트 선택기를 설명하는 이름입니다. 선택기 이름은 고급 이벤트 선택기에서의 Name으로 나열되며, JSON 뷰(JSON view)를 확장하여 볼 수 있습니다.

    5. 고급 이벤트 선택기에서 다음을 수행하여 필터링할 수 있습니다. resources.ARN

      1. Field(필드)resources.ARN을 선택합니다.

      2. 연산자의 경우 조건 연산자를 선택합니다. 이 예제에서는 특정 S3 버킷에 대한 데이터 이벤트를 기록하기 위해 starts를 선택합니다.

      3. 값에 리소스 유형에 대한 ARN을 입력합니다 (예: arn:aws:s3: ::DOC-EXAMPLE-BUCKET).

      4. 다른 항목을 resources.ARN 필터링하려면 + 조건을 선택합니다.

      S3 데이터 이벤트 필터링 기준 resources.ARN
    6. 다른 필드에 필터를 추가하려면 +Field를 선택합니다.

resources.ARN 사용하여 데이터 이벤트를 필터링합니다. AWS CLI

를 사용하면 resources.ARN 필드를 필터링하여 특정 ARN에 대한 이벤트를 기록하거나 특정 ARN에 대한 로깅을 제외할 수 있습니다. AWS CLI

추가 이벤트 선택기를 기록하도록 기존 트레일 또는 이벤트 데이터 저장소를 업데이트하는 경우, 트레일의 경우 명령을 실행하거나 이벤트 데이터 저장소용 get-event-selectors명령을 실행하여 현재 이벤트 선택기를 가져오십시오. get-event-data-store 그런 다음 이벤트 셀렉터를 업데이트하여 기록하려는 각 데이터 리소스 유형에 대한 필드 선택기를 추가하세요.

다음 예에서는 특정 S3 버킷의 모든 Amazon S3 객체에 대한 모든 데이터 이벤트를 포함하도록 추적을 구성하는 방법을 보여 줍니다. resources.type 필드의 S3 이벤트 값은 AWS::S3::Object입니다. S3 객체와 S3 버킷에 대한 ARN 값이 약간 다르기 때문에 모든 이벤트를 캡처하려면 resources.ARN에 대해 StartsWith 연산자를 추가해야 합니다.

aws cloudtrail put-event-selectors \ --trail-name TrailName \ --region region \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/"] } ] } ]'

값별 데이터 이벤트 필터링 readOnly

고급 이벤트 선택기를 사용하여 readOnly 필드 값을 기준으로 필터링할 수 있습니다.

Equals연산자는 readOnly 필드에만 사용할 수 있습니다. readOnly값을 true 또는 로 설정할 수 false 있습니다. 이 필드를 추가하지 않으면 읽기 및 쓰기 이벤트를 모두 CloudTrail 기록합니다. true로그 값은 이벤트만 읽습니다. false로그 값은 이벤트만 기록합니다.

를 사용하여 readOnly 값별로 데이터 이벤트를 필터링합니다. AWS Management Console

CloudTrail 콘솔을 사용하여 readOnly 필드를 필터링하려면 다음 단계를 따르세요.

  1. 트레일 생성 프로시저의 단계를 따르거나 이벤트 데이터 저장소 생성 프로시저의 단계를 따르세요.

  2. 트레일 또는 이벤트 데이터 저장소를 생성하는 단계를 따르면서 다음과 같이 선택하십시오.

    1. 데이터 이벤트를 선택합니다.

    2. 데이터 이벤트를 기록하려는 데이터 이벤트 유형을 선택합니다.

    3. 로그 셀렉터 템플릿의 경우 사용 사례에 적합한 템플릿을 선택하세요.

      데이터 이벤트에 사용할 로그 선택기 템플릿을 선택하세요.
      이 작업을 수행하려는 경우 이 로그 셀렉터 템플릿을 선택하세요.

      읽기 이벤트만 기록하고 다른 필터 (예: resources.ARN 값) 는 적용하지 않습니다.

      읽기 전용 이벤트를 기록합니다.

      쓰기 이벤트만 기록하고 다른 필터 (예: resources.ARN 값) 는 적용하지 않습니다.

      쓰기 전용 이벤트를 기록합니다.

      readOnly값을 기준으로 필터링하고 추가 필터 (예: resources.ARN 값) 를 적용합니다.

      사용자 지정

      고급 이벤트 선택기에서 readOnly 값을 기준으로 필터링하려면 다음과 같이 하십시오.

      쓰기 이벤트를 기록하려면
      1. Field(필드)readOnly(읽기 전용)을 선택합니다.

      2. Operator(연산자)에서 equals(같음)을 선택합니다.

      3. Value(값)false를 입력합니다.

      4. 다른 필드에 필터를 추가하려면 +Field를 선택합니다.

      읽기 이벤트를 기록하려면
      1. Field(필드)readOnly(읽기 전용)을 선택합니다.

      2. Operator(연산자)에서 equals(같음)을 선택합니다.

      3. Value(값)true를 입력합니다.

      4. 다른 필드에 필터를 추가하려면 +Field를 선택합니다.

를 사용하여 readOnly 값별로 데이터 이벤트를 필터링합니다. AWS CLI

AWS CLI를 사용하여 readOnly 필드를 필터링할 수 있습니다.

Equals연산자는 readOnly 필드에만 사용할 수 있습니다. readOnly값을 true 또는 로 설정할 수 false 있습니다. 이 필드를 추가하지 않으면 읽기 및 쓰기 이벤트를 모두 CloudTrail 기록합니다. true로그 값은 이벤트만 읽습니다. false로그 값은 이벤트만 기록합니다.

추가 이벤트 선택기를 기록하도록 기존 트레일 또는 이벤트 데이터 저장소를 업데이트하는 경우 트레일의 경우 명령을 실행하거나 이벤트 데이터 저장소용 get-event-selectors명령을 실행하여 현재 이벤트 선택기를 가져오십시오. get-event-data-store 그런 다음 이벤트 셀렉터를 업데이트하여 기록하려는 각 데이터 리소스 유형에 대한 필드 선택기를 추가하세요.

다음 예제는 모든 Amazon S3 객체에 대한 읽기 전용 데이터 이벤트를 기록하도록 트레일을 구성하는 방법을 보여줍니다.

aws cloudtrail put-event-selectors \ --trail-name TrailName \ --region region \ --advanced-event-selectors '[ { "Name": "Log read-only S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "readOnly", "Equals": ["true"] } ] } ]'

다음 예제에서는 EBS Direct API에 대한 쓰기 전용 데이터 이벤트만 기록하는 새 이벤트 데이터 스토어를 생성합니다. update-event-data-store명령을 사용하여 기존 이벤트 데이터 저장소를 업데이트할 수 있습니다.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" \ --advanced-event-selectors \ '[ { "Name": "Log write-only EBS Direct API data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "readOnly", "Equals": ["false"] } ] } ]'