네트워크 활동 이벤트 로깅
참고
네트워크 활동 이벤트는 CloudTrail에 대한 평가판 릴리스에서 제공되며, 변경 가능합니다.
CloudTrail 네트워크 활동 이벤트를 사용하면 VPC 엔드포인트 소유자가 프라이빗 VPC에서 AWS 서비스로 VPC 엔드포인트를 사용하여 수행된 AWS API 직접 호출을 기록할 수 있습니다. 네트워크 활동 이벤트를 통해 리소스 상에서 또는 리소스 내에서 수행되는 리소스 작업을 파악할 수 있습니다. 예를 들어, 네트워크 활동 이벤트를 로깅하면 VPC 엔드포인트 소유자가 조직 외부의 자격 증명이 VPC 엔드포인트에 액세스하려고 시도할 때 이를 감지할 수 있습니다.
다음 서비스에 대한 네트워크 활동 이벤트를 로깅할 수 있습니다.
-
AWS CloudTrail
-
Amazon EC2
-
AWS KMS
-
AWS Secrets Manager
네트워크 활동 이벤트를 로깅하도록 추적 및 이벤트 데이터 저장소를 모두 구성할 수 있습니다.
기본적으로 추적과 이벤트 데이터 저장소는 네트워크 활동 이벤트를 로깅하지 않습니다. 네트워크 활동 이벤트에는 추가 요금이 부과됩니다. 자세한 내용은 AWS CloudTrail 요금
목차
네트워크 활동 이벤트에 대한 고급 이벤트 선택기 필드
활동을 로깅할 이벤트 소스를 지정하여 네트워크 활동 이벤트를 로깅하도록 고급 이벤트 선택기를 구성합니다. AWS SDK, AWS CLI 또는 CloudTrail 콘솔을 사용하여 고급 이벤트 선택기를 구성할 수 있습니다.
네트워크 활동 이벤트를 로깅하려면 다음과 같은 고급 이벤트 선택기 필드가 필요합니다.
-
eventCategory
– 네트워크 활동 이벤트를 로깅하려면 값이NetworkActivity
여야 합니다.eventCategory
에서는Equals
연산자만 사용할 수 있습니다. -
eventSource
- 네트워크 활동 이벤트를 로깅하려는 이벤트 소스입니다.eventSource
에서는Equals
연산자만 사용할 수 있습니다. 여러 이벤트 소스에 대한 네트워크 활동 이벤트를 로깅하려면 각 이벤트 소스에 대해 별도의 필드 선택기를 생성해야 합니다.유효한 값으로는 다음이 포함됩니다.
-
cloudtrail.amazonaws.com
-
ec2.amazonaws.com
-
kms.amazonaws.com
-
secretsmanager.amazonaws.com
-
다음과 같은 고급 이벤트 선택기 필드는 선택 사항입니다.
-
eventName
- 필터링하려는 요청된 작업. 예를 들어CreateKey
또는ListKeys
와 같습니다.eventName
은 모든 연산자를 사용할 수 있습니다. -
errorCode
- 필터링하려는 요청된 오류 코드. 현재 유일한 유효errorCode
는VpceAccessDenied
입니다.errorCode
와 함께Equals
연산자만 사용할 수 있습니다. -
vpcEndpointId
– 작업이 통과한 VPC 엔드포인트를 식별합니다.vpcEndpointId
에서 모든 연산자를 사용할 수 있습니다.
추적 또는 이벤트 데이터 저장소를 생성하면 네트워크 활동 이벤트는 기본적으로 로깅되지 않습니다. CloudTrail 네트워크 활동 이벤트를 기록하려면 활동을 수집할 각 이벤트 소스를 명시적으로 구성해야 합니다.
네트워크 활동 이벤트 로깅에는 추가 요금이 부과됩니다. CloudTrail 요금은 AWS CloudTrail 요금
AWS Management Console 방법을 사용하여 네트워크 활동 이벤트 로깅
콘솔을 사용하여 네트워크 활동 이벤트를 로깅하도록 기존 추적 또는 이벤트 데이터 저장소를 업데이트할 수 있습니다.
네트워크 활동 이벤트를 로깅하도록 기존 추적 업데이트
다음 절차를 사용하여 네트워크 활동 이벤트를 로깅하도록 기존 이벤트 데이터 저장소를 업데이트합니다.
참고
네트워크 활동 이벤트 로깅에는 추가 요금이 부과됩니다. CloudTrail 요금은 AWS CloudTrail 요금
AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudtrail/
에서 CloudTrail 콘솔을 엽니다. -
CloudTrail 콘솔의 왼쪽 탐색 창에서 [추적(Trails)] 페이지를 열고 추적 이름을 선택합니다.
-
네트워크 활동 이벤트에서 편집을 선택합니다.
네트워크 활동 이벤트를 로깅하려면 다음 단계를 수행합니다.
-
네트워크 활동 이벤트 소스에서 네트워크 활동 이벤트의 소스를 선택합니다.
-
로그 선택기 템플릿(Log selector template)에서 템플릿을 선택합니다. 모든 네트워크 활동 이벤트를 로깅하거나 모든 네트워크 활동 액세스 거부 이벤트를 로깅하거나 사용자 지정을 선택하여
eventName
및vpcEndpointId
와 같은 여러 필드를 기준으로 필터링할 사용자 지정 로그 선택기를 빌드할 수 있습니다. -
(선택 사항) 선택기를 식별할 이름을 입력합니다. 선택기 이름은 고급 이벤트 선택기에서의 이름으로 나열되며 JSON 보기를 확장하면 볼 수 있습니다.
-
고급 이벤트 선택기에서 필드, 연산자 및 값을 선택하여 표현식을 빌드합니다. 사전 정의된 로그 템플릿을 사용한다면 이 단계를 건너뛸 수 있습니다.
-
네트워크 활동 이벤트를 제외하거나 포함하는 경우 콘솔의 다음 필드 중에서 선택할 수 있습니다.
-
eventName
–eventName
에서 모든 연산자를 사용할 수 있습니다. 이를 사용하여 이벤트(예:CreateKey
)를 포함하거나 제외할 수 있습니다. -
errorCode
- 이를 사용하여 오류 코드를 기준으로 필터링할 수 있습니다. 현재 지원되는 유일한errorCode
는VpceAccessDenied
입니다. -
vpcEndpointId
- 작업이 통과한 VPC 엔드포인트를 식별합니다.vpcEndpointId
에서 모든 연산자를 사용할 수 있습니다.
-
-
각 필드에 대해 [+ 조건(+ Condition)]을 선택하여 모든 조건에 대해 최대 500개의 지정된 값까지 필요한 만큼 조건을 추가합니다.
-
필요에 따라 필드를 추가하려면 [+ 필드(+ Field)]를 선택합니다. 오류를 방지하려면 필드에 충돌하거나 중복되는 값을 설정하지 마세요.
-
-
네트워크 활동 이벤트를 로깅할 다른 이벤트 소스를 추가하려면 네트워크 활동 이벤트 선택기 추가를 선택합니다.
-
선택적으로 JSON 뷰(JSON view)를 확장하여 고급 이벤트 선택기를 JSON 블록으로 볼 수 있습니다.
-
-
변경 사항을 저장하려면 변경 사항 저장을 선택합니다.
네트워크 활동 이벤트를 로깅하도록 기존 이벤트 데이터 저장소 업데이트
다음 절차를 사용하여 데이터 이벤트를 로깅하도록 기존 이벤트 데이터 저장소를 업데이트합니다.
참고
CloudTrail 이벤트 유형의 이벤트 데이터 저장소에서만 네트워크 활동 이벤트를 로깅할 수 있습니다.
AWS Management Console에 로그인하여 https://console.aws.amazon.com/cloudtrail/
에서 CloudTrail 콘솔을 엽니다. -
CloudTrail 콘솔의 왼쪽 탐색 창에서 Lake를 선택한 다음, 이벤트 데이터 스토어(Event data stores)를 선택합니다.
-
이벤트 데이터 스토어 이름을 선택합니다.
-
네트워크 활동 이벤트에서 편집을 선택합니다.
네트워크 활동 이벤트를 로깅하려면 다음 단계를 수행합니다.
-
네트워크 활동 이벤트 소스에서 네트워크 활동 이벤트의 소스를 선택합니다.
-
로그 선택기 템플릿(Log selector template)에서 템플릿을 선택합니다. 모든 네트워크 활동 이벤트를 로깅하거나 모든 네트워크 활동 액세스 거부 이벤트를 로깅하거나 사용자 지정을 선택하여
eventName
및vpcEndpointId
와 같은 여러 필드를 기준으로 필터링할 사용자 지정 로그 선택기를 빌드할 수 있습니다. -
(선택 사항) 선택기를 식별할 이름을 입력합니다. 선택기 이름은 고급 이벤트 선택기에서의 이름으로 나열되며 JSON 보기를 확장하면 볼 수 있습니다.
-
고급 이벤트 선택기에서 필드, 연산자 및 값을 선택하여 표현식을 빌드합니다. 사전 정의된 로그 템플릿을 사용한다면 이 단계를 건너뛸 수 있습니다.
-
네트워크 활동 이벤트를 제외하거나 포함하는 경우 콘솔의 다음 필드 중에서 선택할 수 있습니다.
-
eventName
–eventName
에서 모든 연산자를 사용할 수 있습니다. 이를 사용하여 이벤트(예:CreateKey
)를 포함하거나 제외할 수 있습니다. -
errorCode
- 이를 사용하여 오류 코드를 기준으로 필터링할 수 있습니다. 현재 지원되는 유일한errorCode
는VpceAccessDenied
입니다. -
vpcEndpointId
- 작업이 통과한 VPC 엔드포인트를 식별합니다.vpcEndpointId
에서 모든 연산자를 사용할 수 있습니다.
-
-
각 필드에 대해 [+ 조건(+ Condition)]을 선택하여 모든 조건에 대해 최대 500개의 지정된 값까지 필요한 만큼 조건을 추가합니다.
-
필요에 따라 필드를 추가하려면 [+ 필드(+ Field)]를 선택합니다. 오류를 방지하려면 필드에 충돌하거나 중복되는 값을 설정하지 마세요.
-
-
네트워크 활동 이벤트를 로깅할 다른 이벤트 소스를 추가하려면 네트워크 활동 이벤트 선택기 추가를 선택합니다.
-
선택적으로 JSON 뷰(JSON view)를 확장하여 고급 이벤트 선택기를 JSON 블록으로 볼 수 있습니다.
-
-
변경 사항을 저장하려면 변경 사항 저장을 선택합니다.
AWS Command Line Interface 방법을 사용하여 네트워크 활동 이벤트 로깅
AWS CLI를 사용하여 네트워크 활동 이벤트를 로깅하도록 추적이나 이벤트 데이터 저장소를 구성할 수 있습니다.
예제: 추적에 대한 네트워크 활동 이벤트 로깅
AWS CLI를 사용하여 데이터 이벤트를 로깅하도록 추적을 구성할 수 있습니다. put-event-selectors
추적이 네트워크 활동 이벤트를 로깅하는지 여부를 확인하려면 get-event-selectors
주제
예제: CloudTrail 작업에 대한 네트워크 활동 이벤트 로깅
다음 예제에서는 CreateTrail
및 CreateEventDataStore
직접 호출과 같은 CloudTrail API 작업에 대한 모든 네트워크 활동 이벤트를 포함하도록 추적을 구성하는 방법을 보여줍니다. eventSource
필드 값은 cloudtrail.amazonaws.com
입니다.
aws cloudtrail put-event-selectors / --trail-name
TrailName
/ --regionregion
/ --advanced-event-selectors '[ { "Name": "Audit all CloudTrail API calls through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["cloudtrail.amazonaws.com
"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit all CloudTrail API calls through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "
cloudtrail.amazonaws.com
" ] } ] } ] }
예제: AWS KMS에 대한 VpceAccessDenied
이벤트 로깅
다음 예제는 AWS KMS에 대한 VpceAccessDenied
이벤트를 포함하도록 추적을 구성하는 방법을 보여줍니다. 이 예제에서는 errorCode
필드를 VpceAccessDenied
이벤트와 같게 설정하고 eventSource
필드를 kms.amazonaws.com
으로 설정합니다.
aws cloudtrail put-event-selectors \ --region
region
/ --trail-nameTrailName
/ --advanced-event-selectors '[ { "Name": "Audit AccessDenied AWS KMS events through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied AWS KMS events through VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "kms.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] } ] } ] }
예제: 특정 VPC 엔드포인트에서 EC2 VpceAccessDenied
이벤트 로깅
다음 예제에서는 특정 VPC 엔드포인트에서 Amazon EC2에 대한 VpceAccessDenied
이벤트를 포함하도록 추적을 구성하는 방법을 보여줍니다. 이 예제에서는 errorCode
필드를 VpceAccessDenied
이벤트와 같게 설정하고, eventSource
필드를 ec2.amazonaws.com
으로 설정하며 vpcEndpointId
를 관심 VPC 엔드포인트와 같게 설정합니다.
aws cloudtrail put-event-selectors \ --region
region
/ --trail-nameTrailName
/ --advanced-event-selectors '[ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["ec2.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] }, { "Field": "vpcEndpointId", "Equals": ["vpce-example8c1b6b9b7"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "TrailARN": "arn:aws:cloudtrail:us-east-1:111122223333:trail/TrailName", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "ec2.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] }, { "Field": "vpcEndpointId", "Equals": [ "vpce-example8c1b6b9b7" ] } ] } ] }
예제: 이벤트 데이터 스토어에 대한 네트워크 활동 이벤트 로깅
AWS CLI를 사용하여 네트워크 활동 이벤트를 포함하도록 이벤트 데이터 저장소를 구성할 수 있습니다. create-event-data-store
update-event-data-store
이벤트 데이터 저장소에 네트워크 활동 이벤트가 포함되어 있는지 확인하려면 get-event-data-store
aws cloudtrail get-event-data-store --event-data-store
EventDataStoreARN
주제
예제: CloudTrail 작업에 대한 모든 네트워크 활동 이벤트 로깅
다음 예제에서는 CreateTrail
및 CreateEventDataStore
에 대한 직접 호출과 같은 CloudTrail 작업과 관련된 모든 네트워크 활동 이벤트를 포함하는 이벤트 데이터 저장소를 생성하는 방법을 보여줍니다. eventSource
필드 값은 cloudtrail.amazonaws.com
으로 설정됩니다.
aws cloudtrail create-event-data-store \ --name "
EventDataStoreName
" \ --advanced-event-selectors '[ { "Name": "Audit all CloudTrail API calls over VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["cloudtrail.amazonaws.com"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLE492-301f-4053-ac5e-EXAMPLE441aa", "Name": "EventDataStoreName", "Status": "ENABLED", "AdvancedEventSelectors": [ { "Name": "Audit all CloudTrail API calls over VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "cloudtrail.amazonaws.com" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }
예제: AWS KMS에 대한 VpceAccessDenied
이벤트 로깅
다음 예제에서는 AWS KMS에 대한 VpceAccessDenied
이벤트를 포함하도록 이벤트 데이터 저장소를 생성하는 방법을 보여줍니다. 이 예제에서는 errorCode
필드를 VpceAccessDenied
이벤트와 같게 설정하고 eventSource
필드를 kms.amazonaws.com
으로 설정합니다.
aws cloudtrail create-event-data-store \ --name
EventDataStoreName
\ --advanced-event-selectors '[ { "Name": "Audit AccessDenied AWS KMS events over VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["kms.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied AWS KMS events over VPC endpoints", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "kms.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }
예제: 특정 VPC 엔드포인트에서 EC2 VpceAccessDenied
이벤트 로깅
다음 예제에서는 특정 VPC 엔드포인트에서 Amazon EC2에 대한 VpceAccessDenied
이벤트를 포함하도록 이벤트 데이터 저장소를 생성하는 방법을 보여줍니다. 이 예제에서는 errorCode
필드를 VpceAccessDenied
이벤트와 같게 설정하고, eventSource
필드를 ec2.amazonaws.com
으로 설정하며 vpcEndpointId
를 관심 VPC 엔드포인트와 같게 설정합니다.
aws cloudtrail create-event-data-store \ --name
EventDataStoreName
\ --advanced-event-selectors '[ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["NetworkActivity"] }, { "Field": "eventSource", "Equals": ["ec2.amazonaws.com"] }, { "Field": "errorCode", "Equals": ["VpceAccessDenied"] }, { "Field": "vpcEndpointId", "Equals": ["vpce-example8c1b6b9b7"] } ] } ]'
이 명령은 다음 출력 예를 반환합니다.
{ "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:111122223333:eventdatastore/EXAMPLEb4a8-99b1-4ec2-9258-EXAMPLEc890", "Name": "EventDataStoreName", "Status": "CREATED", "AdvancedEventSelectors": [ { "Name": "Audit AccessDenied EC2 events over a specific VPC endpoint", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "NetworkActivity" ] }, { "Field": "eventSource", "Equals": [ "ec2.amazonaws.com" ] }, { "Field": "errorCode", "Equals": [ "VpceAccessDenied" ] }, { "Field": "vpcEndpointId", "Equals": [ "vpce-example8c1b6b9b7" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "RetentionPeriod": 366, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2024-05-20T21:00:17.673000+00:00", "UpdatedTimestamp": "2024-05-20T21:00:17.820000+00:00" }
AWS SDK를 사용하여 이벤트 로깅
GetEventSelectors 작업을 실행하여 추적이 네트워크 활동 이벤트를 로깅하고 있는지 확인합니다. PutEventSelectors 작업을 실행하여 네트워크 활동 이벤트를 로깅하도록 추적을 구성할 수 있습니다. 자세한 내용은 AWS CloudTrail API 참조를 참조하세요.
GetEventSelectors 작업을 실행하여 데이터 이벤트 스토어가 네트워크 활동 이벤트를 로깅하고 있는지 확인합니다. CreateEventDatastore 또는 UpdateEventDatastore 작업을 실행하고, 고급 이벤트 선택기를 지정하여 네트워크 활동 이벤트를 포함하는 이벤트 데이터 저장소를 구성할 수 있습니다. 자세한 내용은 AWS CLI를 사용하여 이벤트 데이터 저장소 생성, 업데이트 및 관리 및 AWS CloudTrail API 참조를 참조하십시오.