AWS CloudWatch 로그 수집
이 문서에서는 AWS CloudWatch 로그를 Google Security Operations에 수집하는 방법을 설명합니다. AWS CloudWatch는 로그, 측정항목, 이벤트 형식으로 운영 데이터를 수집하는 모니터링 및 관측 가능성 서비스입니다. 이 통합을 사용하면 분석 및 모니터링을 위해 이러한 로그를 Google SecOps로 보낼 수 있습니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- AWS에 대한 액세스 권한
Amazon S3 버킷 만들기
CloudWatch 로그용으로 특별히 생성된 버킷을 사용하는 것이 좋습니다.
- Amazon S3 콘솔을 엽니다.
- 필요한 경우 지역을 변경할 수 있습니다.
- 탐색 메뉴에서 CloudWatch Logs가 있는 리전을 선택합니다.
- 버킷 만들기를 클릭합니다.
- 버킷 이름: 버킷의 의미 있는 이름을 입력합니다.
- 리전: CloudWatch Logs 데이터가 상주하는 리전을 선택합니다.
- 만들기를 클릭합니다.
Amazon S3 및 CloudWatch 로그에 대한 모든 권한이 있는 IAM 사용자 만들기
- IAM 콘솔을 엽니다.
- 사용자 > 사용자 추가를 클릭합니다.
- 사용자 이름을 입력합니다 (예: CWExport).
- 프로그래매틱 액세스 및 AWS 관리 콘솔 액세스를 선택합니다.
- 자동 생성 비밀번호 또는 맞춤 비밀번호를 선택합니다.
- 다음 > 권한을 클릭합니다.
- 기존 정책 직접 연결을 선택합니다.
- AmazonS3FullAccess 및 CloudWatchLogsFullAccess 정책을 검색하여 사용자에게 선택합니다.
- 다음 > 태그를 클릭합니다.
- 다음 > 검토를 클릭합니다.
- 사용자 만들기를 클릭합니다.
Amazon S3 버킷에 대한 권한 구성
- Amazon S3 콘솔에서 이전에 만든 버킷을 선택합니다.
- 권한 > 버킷 정책을 클릭합니다.
버킷 정책 편집기에서 다음 정책을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::cw-exported-logs", "Principal": { "Service": "logs.us-east-1.amazonaws.com" } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/random-string/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } }, "Principal": { "Service": "logs.us-east-1.amazonaws.com" } } ] }
다음
json
변수를 변경하고 업데이트합니다.cw-exported-logs
을 S3 버킷 이름으로 변경합니다.random-string
을 무작위로 생성된 문자열로 변경합니다.- 주 구성원에 올바른 리전 엔드포인트를 지정합니다.
저장을 클릭하여 방금 추가한 정책을 버킷의 액세스 정책으로 설정합니다.
CloudWatch 내보내기를 구성하는 방법
- 이전에 만든 IAM 사용자로 로그인합니다.
- CloudWatch 콘솔을 엽니다.
- 탐색 메뉴에서 로그 그룹을 선택합니다.
- 기존 로그 그룹의 이름을 선택하거나 새 로그 그룹을 만듭니다.
- 작업 > Amazon S3로 데이터 내보내기를 선택합니다.
- Amazon S3로 데이터 내보내기 화면에서 데이터 내보내기 정의를 찾습니다.
시작 및 종료를 사용하여 내보낼 데이터의 기간을 설정합니다.
S3 버킷 선택: Amazon S3 버킷과 연결된 계정을 선택합니다.
S3 버킷 이름: Amazon S3 버킷을 선택합니다.
S3 버킷 접두사: 버킷 정책에 지정한 무작위로 생성된 문자열을 입력합니다.
내보내기를 선택하여 로그 데이터를 Amazon S3로 내보냅니다.
Amazon S3로 내보낸 로그 데이터의 상태를 보려면 작업 > Amazon S3로 내보낸 항목 모두 보기를 선택합니다.
피드 설정
Google SecOps 플랫폼에서 피드를 설정하는 방법은 두 가지입니다.
- SIEM 설정 > 피드
- 콘텐츠 허브 > 콘텐츠 팩
SIEM 설정 > 피드에서 피드 설정
이 제품군 내에서 다양한 로그 유형에 대해 여러 피드를 구성하려면 제품별 피드 구성을 참고하세요.
단일 피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정> 피드로 이동합니다.
- 새 피드 추가를 클릭합니다.
- 다음 페이지에서 단일 피드 구성을 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: AWS CloudWatch Logs).
- 소스 유형으로 Amazon S3를 선택합니다.
- 로그 유형으로 AWS CloudWatch를 선택합니다.
- 다음을 클릭합니다.
다음 입력 매개변수의 값을 지정합니다.
- 리전: Amazon S3 버킷이 있는 리전입니다.
- S3 URI: 버킷 URI입니다.
s3://your-log-bucket-name/
your-log-bucket-name
을 실제 S3 버킷 이름으로 바꿉니다.
- URI is a: 버킷 구조에 따라 Directory 또는 Directory which includes subdirectories를 선택합니다.
소스 삭제 옵션: 수집 환경설정에 따라 삭제 옵션을 선택합니다.
액세스 키 ID: S3 버킷에서 읽을 권한이 있는 사용자의 액세스 키입니다.
보안 비밀 액세스 키: S3 버킷에서 읽을 수 있는 권한이 있는 사용자의 보안 비밀 키입니다.
다음을 클릭합니다.
확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
콘텐츠 허브에서 피드 설정하기
다음 필드의 값을 지정합니다.
- 리전: Amazon S3 버킷이 있는 리전입니다.
- S3 URI: 버킷 URI입니다.
s3://your-log-bucket-name/
your-log-bucket-name
을 실제 S3 버킷 이름으로 바꿉니다.
- URI is a: 버킷 구조에 따라 Directory 또는 Directory which includes subdirectories를 선택합니다.
- 소스 삭제 옵션: 수집 환경설정에 따라 삭제 옵션을 선택합니다.
액세스 키 ID: S3 버킷에서 읽을 권한이 있는 사용자의 액세스 키입니다.
보안 비밀 액세스 키: S3 버킷에서 읽을 수 있는 권한이 있는 사용자의 보안 비밀 키입니다.
고급 옵션
- 피드 이름: 피드를 식별하는 미리 채워진 값입니다.
- 소스 유형: Google SecOps로 로그를 수집하는 데 사용되는 방법입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
UDM 매핑 테이블
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
account |
principal.user.userid |
원시 로그의 account 값이 principal.user.userid 필드에 매핑됩니다. |
account_id |
principal.user.userid |
원시 로그의 account_id 값이 principal.user.userid 필드에 매핑됩니다. |
AlertId |
metadata.product_log_id |
원시 로그의 AlertId 값이 metadata.product_log_id 필드에 매핑됩니다. |
arrivalTimestamp |
metadata.event_timestamp |
원시 로그의 arrivalTimestamp 값이 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
attemptsMade |
additional.fields |
원시 로그의 attemptsMade 값이 문자열로 변환되고 키가 'Attempts Made'인 키-값 쌍으로 additional.fields 에 추가됩니다. |
awsAccountId |
principal.asset_id |
원시 로그의 awsAccountId 값 앞에 'AWS 계정 ID: '가 추가되고 principal.asset_id 필드에 매핑됩니다. |
billed_duration |
additional.fields |
원시 로그의 billed_duration 값이 키가 'billed_duration'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
BytesIn |
network.received_bytes |
원시 로그의 BytesIn 값이 부호 없는 정수로 변환되고 network.received_bytes 필드에 매핑됩니다. |
cipher |
network.tls.cipher |
원시 로그의 cipher 값이 network.tls.cipher 필드에 매핑됩니다. |
Ciphers |
network.tls.client.supported_ciphers |
원시 로그의 Ciphers 값은 쉼표로 분할되고 각 값은 network.tls.client.supported_ciphers 배열에 추가됩니다. |
cloudwatchLog |
security_result.description |
원시 로그의 cloudwatchLog 값이 security_result.description 필드에 매핑됩니다. |
CloudAccountId |
metadata.product_deployment_id |
원시 로그의 CloudAccountId 값이 metadata.product_deployment_id 필드에 매핑됩니다. |
CloudType |
target.resource.attribute.cloud.environment |
원시 로그의 CloudType 값에 따라 target.resource.attribute.cloud.environment 값이 결정됩니다. CloudType 이 'gcp'인 경우 값은 'GOOGLE_CLOUD_PLATFORM'입니다. CloudType 이 'aws'인 경우 값은 'AMAZON_WEB_SERVICES'입니다. CloudType 이 'azure'이면 값은 'MICROSOFT_AZURE'입니다. |
Context.Execution.Id |
target.resource.attribute.labels |
원시 로그의 Context.Execution.Id 값이 키가 'Context Id'인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
Context.Execution.Name |
target.resource.attribute.labels |
원시 로그의 Context.Execution.Name 값이 키-값 쌍으로 target.resource.attribute.labels 에 추가되며 키는 'Context Name'입니다. |
Context.Execution.RoleArn |
target.resource.product_object_id |
원시 로그의 Context.Execution.RoleArn 값이 target.resource.product_object_id 필드에 매핑됩니다. |
descr |
metadata.description |
추가 공백을 삭제한 후 원시 로그의 descr 값이 '-'가 아닌 경우 metadata.description 필드에 매핑됩니다. descr 이 비어 있으면 log 값이 대신 사용됩니다. |
destination.name |
target.location.country_or_region |
원시 로그의 destination.name 값이 target.location.country_or_region 필드에 매핑됩니다. |
destination.properties.prefix |
target.resource.attribute.labels |
원시 로그의 destination.properties.prefix 값이 키가 'Destination properties prefix'인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.additionalEventData.configRuleArn |
security_result.rule_id |
원시 로그의 detail.additionalEventData.configRuleArn 값이 security_result.rule_id 필드에 매핑됩니다. |
detail.additionalEventData.configRuleName |
security_result.rule_name |
원시 로그의 detail.additionalEventData.configRuleName 값이 security_result.rule_name 필드에 매핑됩니다. |
detail.additionalEventData.managedRuleIdentifier |
additional.fields |
원시 로그의 detail.additionalEventData.managedRuleIdentifier 값이 키 'managedRuleIdentifier'와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.additionalEventData.notificationJobType |
additional.fields |
원시 로그의 detail.additionalEventData.notificationJobType 값이 키 'notificationJobType'과 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.awsAccountId |
principal.asset_id |
원시 로그의 detail.awsAccountId 값 앞에 'AWS 계정 ID: '가 추가되고 principal.asset_id 필드에 매핑됩니다. |
detail.awsRegion |
principal.location.name |
원시 로그의 detail.awsRegion 값이 principal.location.name 필드에 매핑됩니다. |
detail.configRuleArn |
security_result.rule_id |
원시 로그의 detail.configRuleArn 값이 security_result.rule_id 필드에 매핑됩니다. |
detail.configRuleName |
security_result.rule_name |
원시 로그의 detail.configRuleName 값이 security_result.rule_name 필드에 매핑됩니다. |
detail.configurationItem.awsAccountId |
principal.user.userid |
원시 로그의 detail.configurationItem.awsAccountId 값이 principal.user.userid 필드에 매핑됩니다. |
detail.configurationItem.awsRegion |
target.location.country_or_region |
원시 로그의 detail.configurationItem.awsRegion 값이 target.location.country_or_region 필드에 매핑됩니다. |
detail.configurationItem.configuration.complianceType |
security_result.summary |
원시 로그의 detail.configurationItem.configuration.complianceType 값이 security_result.summary 필드에 매핑됩니다. |
detail.configurationItem.configuration.targetResourceId |
target.resource.attribute.labels |
원시 로그의 detail.configurationItem.configuration.targetResourceId 값이 키 'configurationItem configuration targetResourceId'와 함께 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.configurationItem.configuration.targetResourceType |
target.resource.attribute.labels |
원시 로그의 detail.configurationItem.configuration.targetResourceType 값이 키 'configurationItem configuration targetResourceType'와 함께 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.configurationItem.configurationItemCaptureTime |
_target.asset.attribute.creation_time |
원시 로그의 detail.configurationItem.configurationItemCaptureTime 값이 타임스탬프로 변환되고 _target.asset.attribute.creation_time 필드에 매핑됩니다. |
detail.configurationItem.configurationItemStatus |
target.resource.attribute.labels |
원시 로그의 detail.configurationItem.configurationItemStatus 값이 키 'configurationItem configurationItemStatus'와 함께 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.configurationItem.configurationStateId |
target.resource.attribute.labels |
원시 로그의 detail.configurationItem.configurationStateId 값이 문자열로 변환되고 키가 configurationItem configurationStateId 인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.configurationItem.resourceId |
target.resource.id |
원시 로그의 detail.configurationItem.resourceId 값이 target.resource.id 필드에 매핑됩니다. |
detail.configurationItem.resourceType |
target.resource.resource_subtype |
원시 로그의 detail.configurationItem.resourceType 값이 target.resource.resource_subtype 필드에 매핑됩니다. |
detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn |
security_result.rule_id |
원시 로그의 detail.configurationItemDiff.changedProperties.Configuration.configRuleList.1.updatedValue.configRuleArn 값이 security_result.rule_id 필드에 매핑됩니다. |
detail.eventCategory |
security_result.category_details |
원시 로그의 detail.eventCategory 값이 security_result.category_details 필드에 매핑됩니다. |
detail.eventID |
metadata.product_log_id |
원시 로그의 detail.eventID 값이 metadata.product_log_id 필드에 매핑됩니다. |
detail.eventName |
additional.fields |
원시 로그의 detail.eventName 값이 키-값 쌍으로 additional.fields 에 추가되며 키는 'Event Name'입니다. |
detail.eventSource |
target.application |
원시 로그의 detail.eventSource 값이 target.application 필드에 매핑됩니다. |
detail.eventType |
additional.fields |
원시 로그의 detail.eventType 값이 키-값 쌍으로 additional.fields 에 추가되며 키는 'Event Type'입니다. |
detail.eventVersion |
metadata.product_version |
원시 로그의 detail.eventVersion 값이 metadata.product_version 필드에 매핑됩니다. |
detail.managementEvent |
additional.fields |
원시 로그의 detail.managementEvent 값이 문자열로 변환되고 키 'detail managementEvent'와 함께 키-값 쌍으로 additional.fields 에 추가됩니다. |
detail.messageType |
target.resource.attribute.labels |
원시 로그의 detail.messageType 값이 키-값 쌍으로 target.resource.attribute.labels 에 추가되며, 키는 '메시지 유형'입니다. |
detail.newEvaluationResult.complianceType |
security_result.summary |
원시 로그의 detail.newEvaluationResult.complianceType 값이 security_result.summary 필드에 매핑됩니다. |
detail.newEvaluationResult.configRuleInvokedTime |
additional.fields |
원시 로그의 detail.newEvaluationResult.configRuleInvokedTime 값이 키 'newEvaluationResult_configRuleInvokedTime'이 있는 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName |
additional.fields |
원시 로그의 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName 값이 키-값 쌍으로 additional.fields 에 추가되며 키는 'newEvaluationResult_configRuleName'입니다. |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId |
additional.fields |
원시 로그의 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId 값이 키 'newEvaluationResult_resourceId'와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType |
additional.fields |
원시 로그의 detail.newEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType 값이 키 'newEvaluationResult_resourceType'과 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.newEvaluationResult.resultRecordedTime |
additional.fields |
원시 로그의 detail.newEvaluationResult.resultRecordedTime 값이 키 'newEvaluationResult_resultRecordedTime'을 사용하여 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.oldEvaluationResult.configRuleInvokedTime |
additional.fields |
원시 로그의 detail.oldEvaluationResult.configRuleInvokedTime 값이 키가 'oldEvaluationResult_configRuleInvokedTime'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName |
additional.fields |
원시 로그의 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.configRuleName 값이 키 oldEvaluationResult_configRuleName 와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId |
additional.fields |
원시 로그의 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceId 값이 키가 'oldEvaluationResult_resourceId'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType |
additional.fields |
원시 로그의 detail.oldEvaluationResult.evaluationResultIdentifier.evaluationResultQualifier.resourceType 값이 키 'oldEvaluationResult_resourceType'과 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.oldEvaluationResult.resultRecordedTime |
additional.fields |
원시 로그의 detail.oldEvaluationResult.resultRecordedTime 값이 'oldEvaluationResult_resultRecordedTime' 키와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
detail.readOnly |
additional.fields |
원시 로그의 detail.readOnly 값이 문자열로 변환되고 키 'detail readOnly'와 함께 키-값 쌍으로 additional.fields 에 추가됩니다. |
detail.recipientAccountId |
target.resource.attribute.labels |
원시 로그의 detail.recipientAccountId 값이 키-값 쌍으로 target.resource.attribute.labels 에 추가되며 키는 'Recipient Account Id'입니다. |
detail.recordVersion |
metadata.product_version |
원시 로그의 detail.recordVersion 값이 metadata.product_version 필드에 매핑됩니다. |
detail.requestID |
target.resource.attribute.labels |
원시 로그의 detail.requestID 값이 키가 '세부 요청 ID'인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.resourceType |
target.resource.resource_subtype |
원시 로그의 detail.resourceType 값이 target.resource.resource_subtype 필드에 매핑됩니다. |
detail.s3Bucket |
about.resource.name |
원시 로그의 detail.s3Bucket 값이 about.resource.name 필드에 매핑됩니다. |
detail.s3ObjectKey |
target.resource.attribute.labels |
원시 로그의 detail.s3ObjectKey 값이 키가 's3ObjectKey'인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.userAgent |
network.http.user_agent |
원시 로그의 detail.userAgent 값이 network.http.user_agent 필드에 매핑됩니다. |
detail.userIdentity.accessKeyId |
target.user.userid |
원시 로그의 detail.userIdentity.accessKeyId 값이 target.user.userid 필드에 매핑됩니다. |
detail.userIdentity.accountId |
metadata.product_deployment_id |
원시 로그의 detail.userIdentity.accountId 값이 metadata.product_deployment_id 필드에 매핑됩니다. |
detail.userIdentity.arn |
target.user.userid |
원시 로그의 detail.userIdentity.arn 값이 target.user.userid 필드에 매핑됩니다. |
detail.userIdentity.principalId |
principal.user.product_object_id |
원시 로그의 detail.userIdentity.principalId 값이 principal.user.product_object_id 필드에 매핑됩니다. |
detail.userIdentity.sessionContext.attributes.mfaAuthenticated |
principal.user.attribute.labels |
원시 로그의 detail.userIdentity.sessionContext.attributes.mfaAuthenticated 값이 키가 'mfaAuthenticated'인 principal.user.attribute.labels 에 키-값 쌍으로 추가됩니다. |
detail.userIdentity.sessionContext.sessionIssuer.userName |
target.user.user_display_name |
원시 로그의 detail.userIdentity.sessionContext.sessionIssuer.userName 값이 target.user.user_display_name 필드에 매핑됩니다. |
detail.userIdentity.type |
principal.resource.type |
원시 로그의 detail.userIdentity.type 값이 principal.resource.type 필드에 매핑됩니다. |
detail-type |
metadata.product_event_type |
원시 로그의 detail-type 값이 metadata.product_event_type 필드에 매핑됩니다. |
device |
principal.asset.product_object_id |
원시 로그의 device 값이 principal.asset.product_object_id 필드에 매핑됩니다. |
digestPublicKeyFingerprint |
target.file.sha1 |
원시 로그의 digestPublicKeyFingerprint 값이 target.file.sha1 필드에 매핑됩니다. |
digestS3Bucket |
principal.resource.name |
원시 로그의 digestS3Bucket 값이 principal.resource.name 필드에 매핑됩니다. |
digestS3Object |
principal.asset.asset_id |
원시 로그의 digestS3Object 값에 'S3 객체: '가 추가되고 principal.asset.asset_id 필드에 매핑됩니다. |
digestSignatureAlgorithm |
network.tls.cipher |
원시 로그의 digestSignatureAlgorithm 값이 network.tls.cipher 필드에 매핑됩니다. |
digestStartTime |
metadata.event_timestamp |
원시 로그의 digestStartTime 값이 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
dimensions.VolumeId |
additional.fields |
원시 로그의 dimensions.VolumeId 값이 키가 'VolumeId'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
duration |
additional.fields |
원시 로그의 duration 값이 키가 'duration'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
errorCode |
security_result.rule_name |
원시 로그의 errorCode 값이 security_result.rule_name 필드에 매핑됩니다. |
errorMessage |
security_result.summary |
원시 로그의 errorMessage 값이 security_result.summary 필드에 매핑됩니다. |
executionId |
principal.process.pid |
원시 로그의 executionId 값이 principal.process.pid 필드에 매핑됩니다. |
host |
principal.hostname , principal.ip |
하이픈이 점으로 대체된 원시 로그의 host 값이 IP 주소로 파싱되고 성공하면 principal.ip 필드에 매핑됩니다. 그렇지 않으면 principal.hostname 필드에 매핑됩니다. |
http_verb |
network.http.method |
원시 로그의 http_verb 값이 대문자로 변환되고 network.http.method 필드에 매핑됩니다. |
kubernetes.container_hash |
additional.fields |
원시 로그의 kubernetes.container_hash 값이 키 'container_hash'와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
kubernetes.container_image |
additional.fields |
원시 로그의 kubernetes.container_image 값이 키가 'container_image'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
kubernetes.container_name |
additional.fields |
원시 로그의 kubernetes.container_name 값이 키 'container_name'과 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
kubernetes.docker_id |
principal.asset_id |
원시 로그의 kubernetes.docker_id 값 앞에 'id: '가 추가되고 principal.asset_id 필드에 매핑됩니다. |
kubernetes.host |
principal.hostname , principal.ip |
하이픈이 점으로 대체된 원시 로그의 kubernetes.host 값이 IP 주소로 파싱되고 성공하면 principal.ip 필드에 매핑됩니다. 그렇지 않으면 principal.hostname 필드에 매핑됩니다. |
kubernetes.namespace |
principal.namespace |
원시 로그의 kubernetes.namespace 값이 principal.namespace 필드에 매핑됩니다. |
kubernetes.namespace_name |
principal.namespace |
원시 로그의 kubernetes.namespace_name 값이 principal.namespace 필드에 매핑됩니다. |
kubernetes.pod_id |
principal.asset.asset_id |
원시 로그의 kubernetes.pod_id 값 앞에 'pod_id: '가 추가되고 principal.asset.asset_id 필드에 매핑됩니다. |
kubernetes.pod_name |
additional.fields |
원시 로그의 kubernetes.pod_name 값이 키-값 쌍으로 additional.fields 에 추가되며 키는 'pod name'입니다. |
lambdaArn |
principal.hostname |
원시 로그의 lambdaArn 값이 principal.hostname 필드에 매핑됩니다. |
level |
security_result.severity |
원시 로그의 level 값에 따라 security_result.severity 값이 결정됩니다. level 이 'Info'인 경우 값은 'INFORMATIONAL'입니다. level 가 'Error'인 경우 값은 'ERROR'입니다. level 이 '경고'이면 값은 'MEDIUM'입니다. |
log |
metadata.description |
descr 가 비어 있으면 원시 로그의 log 값이 metadata.description 필드에 매핑됩니다. |
logFiles |
about |
원시 로그의 logFiles 배열에 있는 각 요소에 대해 file.full_path 이 s3Object 로 설정되고, asset.hostname 이 s3Bucket 로 설정되고, file.sha256 이 hashValue 로 설정된 about 객체가 생성됩니다. |
log_processed.cause |
security_result.summary |
원시 로그의 log_processed.cause 값이 security_result.summary 필드에 매핑됩니다. |
log_processed.ids |
intermediary.hostname |
원시 로그의 log_processed.ids 배열에 있는 각 요소에 대해 hostname 이 요소의 값으로 설정된 intermediary 객체가 생성됩니다. |
log_processed.level |
security_result.severity |
원시 로그의 log_processed.level 값이 security_result.severity 필드에 매핑됩니다. |
log_processed.msg |
metadata.description |
원시 로그의 log_processed.msg 값이 metadata.description 필드에 매핑됩니다. |
log_processed.ts |
metadata.event_timestamp |
원시 로그의 log_processed.ts 값이 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
log_type |
metadata.log_type |
원시 로그의 log_type 값이 metadata.log_type 필드에 매핑됩니다. 컨텍스트를 위해 추가된 맞춤 필드입니다. |
logevent.message |
security_result.description |
원시 로그의 logevent.message 값이 security_result.description 필드에 매핑됩니다. 또한 grok을 사용하여 파싱하여 추가 필드를 추출합니다. |
logGroup |
security_result.about.resource.name |
원시 로그의 logGroup 값이 security_result.about.resource.name 필드에 매핑됩니다. |
logStream |
security_result.about.resource.attribute.labels |
원시 로그의 logStream 값이 키가 'logStream'인 security_result.about.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
memory_used |
additional.fields |
원시 로그의 memory_used 값이 키가 'memory_used'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
metric_name |
additional.fields |
원시 로그의 metric_name 값이 키 'metric_name'과 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
metric_stream_name |
additional.fields |
원시 로그의 metric_stream_name 값이 키가 'metric_stream_name'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
namespace |
principal.namespace |
원시 로그의 namespace 값이 principal.namespace 필드에 매핑됩니다. |
owner |
principal.user.userid |
원시 로그의 owner 값이 principal.user.userid 필드에 매핑됩니다. |
parameters |
additional.fields |
원시 로그의 parameters 값이 키가 'Parameters'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
Path |
principal.process.file.full_path |
원시 로그의 Path 값이 principal.process.file.full_path 필드에 매핑됩니다. |
pid |
principal.process.pid |
원시 로그의 pid 값이 principal.process.pid 필드에 매핑됩니다. |
PolicyName |
security_result.rule_name |
원시 로그의 PolicyName 값이 security_result.rule_name 필드에 매핑됩니다. |
prin_host |
principal.hostname |
원시 로그의 prin_host 값이 principal.hostname 필드에 매핑됩니다. |
principal_hostname |
principal.hostname |
원시 로그의 principal_hostname 값이 principal.hostname 필드에 매핑됩니다. |
process |
principal.application |
원시 로그의 process 값이 principal.application 필드에 매핑됩니다. |
rawData |
additional.fields |
원시 로그의 rawData 값이 키가 '원시 데이터'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
Recommendation |
security_result.detection_fields |
원시 로그의 Recommendation 값이 키가 'Recommendation'인 security_result.detection_fields 에 키-값 쌍으로 추가됩니다. |
referral_url |
network.http.referral_url |
원시 로그의 referral_url 값이 network.http.referral_url 필드에 매핑됩니다. |
region |
principal.location.name |
원시 로그의 region 값이 principal.location.name 필드에 매핑됩니다. |
resp_code |
network.http.response_code |
원시 로그의 resp_code 값이 정수로 변환되고 network.http.response_code 필드에 매핑됩니다. |
resource_url |
network.http.referral_url |
원시 로그의 resource_url 값이 network.http.referral_url 필드에 매핑됩니다. |
ResourceType |
target.resource.resource_subtype |
원시 로그의 ResourceType 값이 target.resource.resource_subtype 필드에 매핑됩니다. |
response_body |
additional.fields |
원시 로그의 response_body 값이 키가 'Response body'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
Role |
target.resource.product_object_id |
원시 로그의 Role 값이 target.resource.product_object_id 필드에 매핑됩니다. |
s3_bucket_path |
target.file.full_path |
원시 로그의 s3_bucket_path 값이 target.file.full_path 필드에 매핑됩니다. |
sec_result.category |
security_result.category |
sec_result.category 값은 파서 로직에서 파생됩니다. descr 에 '인증이 필요함'이 포함된 경우 값은 'AUTH_VIOLATION'입니다. |
sec_result.description |
security_result.description |
sec_result.description 값은 파서 로직에서 파생됩니다. 있는 경우 cloudwatchLog 값으로 설정됩니다. |
sec_result.severity |
security_result.severity |
sec_result.severity 값은 파서 로직에서 파생됩니다. severity 또는 level 의 값에 따라 설정됩니다. |
sec_result.summary |
security_result.summary |
sec_result.summary 값은 파서 로직에서 파생됩니다. 값이 있는 경우 log_processed.cause 또는 errorMessage 값으로 설정됩니다. |
security_result |
security_result |
security_result 객체는 다양한 필드와 파서 로직으로 구성됩니다. |
serverId |
additional.fields |
원시 로그의 serverId 값이 키 'server_id'와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
severity |
security_result.severity |
원시 로그의 severity 값이 대문자로 변환되고 정규화되어 security_result.severity 필드에 매핑됩니다. |
Source |
principal.hostname |
원시 로그의 Source 값이 principal.hostname 필드에 매핑됩니다. |
source |
principal.hostname |
원시 로그의 source 값이 principal.hostname 필드에 매핑됩니다. |
SourceIP |
principal.ip |
원시 로그의 SourceIP 값이 principal.ip 필드에 매핑됩니다. |
src_port |
principal.port |
src_port 이 '80'인 경우 정수로 변환되어 principal.port 필드에 매핑되고 network.application_protocol 은 'HTTP'로 설정됩니다. |
stream |
additional.fields |
원시 로그의 stream 값이 키가 'stream'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
subscriptionFilters |
security_result.about.resource.attribute.labels |
원시 로그의 subscriptionFilters 배열에 있는 각 요소에 대해 키가 'subscriptionFilter'이고 값이 배열에서 가져온 키-값 쌍이 security_result.about.resource.attribute.labels 에 추가됩니다. |
support_contact |
target.resource.attribute.labels |
원시 로그의 support_contact 값이 키가 'Support Contact'인 target.resource.attribute.labels 에 키-값 쌍으로 추가됩니다. |
t_ip |
target.ip |
하이픈을 삭제한 후 원시 로그의 t_ip 값이 IP 주소로 파싱되고 성공하면 target.ip 필드에 매핑됩니다. |
time |
metadata.event_timestamp |
원시 로그의 time 값이 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
timestamp |
metadata.event_timestamp |
원시 로그의 timestamp 값이 다양한 형식을 사용하여 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
tls |
network.tls.version |
원시 로그의 tls 값이 network.tls.version 필드에 매핑됩니다. |
transferDetails.serverId |
additional.fields |
원시 로그의 transferDetails.serverId 값이 키 'server_id'와 함께 additional.fields 에 키-값 쌍으로 추가됩니다. |
transferDetails.sessionId |
network.session_id |
원시 로그의 transferDetails.sessionId 값이 network.session_id 필드에 매핑됩니다. |
transferDetails.username |
principal.user.user_display_name |
원시 로그의 transferDetails.username 값이 principal.user.user_display_name 필드에 매핑됩니다. |
ts |
metadata.event_timestamp |
원시 로그의 ts 값이 시간대(있는 경우)와 결합되어 타임스탬프로 변환되고 metadata.event_timestamp 필드에 매핑됩니다. |
type |
metadata.product_event_type |
원시 로그의 type 값이 metadata.product_event_type 필드에 매핑됩니다. |
unit |
additional.fields |
원시 로그의 unit 값이 키가 'unit'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
url |
target.url |
원시 로그의 url 값이 target.url 필드에 매핑됩니다. |
url_back_to_product |
metadata.url_back_to_product |
원시 로그의 url_back_to_product 값이 metadata.url_back_to_product 필드에 매핑됩니다. |
User |
principal.user.userid |
원시 로그의 User 값이 principal.user.userid 필드에 매핑됩니다. |
user |
target.user.userid , metadata.event_type , extensions.auth.mechanism |
user 가 있으면 metadata.event_type 이 'USER_LOGIN'으로 설정되고 extensions.auth.mechanism 이 'NETWORK'로 설정되며 user 값이 target.user.userid 에 매핑됩니다. |
value.count |
additional.fields |
원시 로그의 value.count 값이 문자열로 변환되고 키가 'count'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
value.max |
additional.fields |
원시 로그의 value.max 값이 문자열로 변환되고 키가 'max'인 키-값 쌍으로 additional.fields 에 추가됩니다. |
value.min |
additional.fields |
원시 로그의 value.min 값이 문자열로 변환되고 키가 'min'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
value.sum |
additional.fields |
원시 로그의 value.sum 값이 문자열로 변환되고 키가 'sum'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
workflowId |
additional.fields |
원시 로그의 workflowId 값이 키가 'workflowId'인 additional.fields 에 키-값 쌍으로 추가됩니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.