AWS Config 로그 수집
파서 버전: 5.0
이 문서에서는 Amazon S3를 사용하여 AWS Config 로그를 Google Security Operations로 수집하는 방법을 설명합니다.
AWS Config는 AWS 리소스의 구성을 평가, 감사, 평가할 수 있는 서비스입니다. AWS Config는 AWS 리소스 구성을 지속적으로 모니터링하고 기록하며, 기록된 구성을 선택한 구성과 비교하여 평가하는 작업을 자동화할 수 있습니다. 구성 기록 파일은 6시간마다 전송되며 구성 스냅샷은 요청 시 Amazon S3 버킷으로 전송될 수 있습니다.
자세한 내용은 AWS Config 로그 수집을 참고하세요.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- AWS (S3, IAM, Config)에 대한 액세스 권한
Amazon S3에 로그를 전송하도록 AWS Config 구성
리소스 구성을 기록하고 S3 버킷에 전송하도록 AWS Config를 구성하려면 다음 안내를 따르세요.
- AWS 관리 콘솔에 로그인합니다.
- AWS Config > 설정으로 이동합니다.
- AWS Config를 처음 설정하는 경우 시작하기를 클릭합니다. 그렇지 않으면 수정을 클릭합니다.
- 녹화 전략 섹션에서 다음을 구성합니다.
- 맞춤설정 가능한 재정의가 있는 모든 리소스 유형: 현재 및 향후 지원되는 모든 리소스 유형을 기록합니다. 기본 녹음 빈도를 구성할 수 있습니다.
- 연속 녹화: 변경이 발생할 때마다 구성 변경사항을 지속적으로 녹화합니다.
- 일일 기록: 지난 24시간 동안의 최신 상태를 나타내는 구성 항목 하나를 기록합니다.
- 특정 리소스 유형: 기록할 개별 리소스 유형을 선택하고 빈도를 설정합니다.
- 맞춤설정 가능한 재정의가 있는 모든 리소스 유형: 현재 및 향후 지원되는 모든 리소스 유형을 기록합니다. 기본 녹음 빈도를 구성할 수 있습니다.
- 데이터 거버넌스 섹션에서 다음을 구성합니다.
- 데이터 보관 기간: 보관 기간을 설정합니다 (기본값은 7년, 최소값은 30일).
- AWS Config용 IAM 역할: 서비스 연결 역할 (권장)을 선택하거나 기존 IAM 역할을 선택합니다.
- 전송 방법 섹션에서 다음을 구성합니다.
- S3 버킷: 버킷 만들기를 선택하여 새 버킷을 만들거나 계정에서 버킷 선택을 선택하여 기존 버킷을 사용합니다.
- S3 버킷 이름: 버킷 이름을 입력합니다 (예:
aws-config-logs). - Amazon SNS 주제 (선택사항): 알림을 받으려면 Amazon SNS 주제로 구성 변경사항 및 알림 스트리밍을 선택합니다.
- 다음을 클릭합니다.
- 규칙 섹션에서 관리형 규칙을 구성합니다(선택사항). 다음을 클릭합니다.
- 설정을 검토하고 확인을 클릭합니다.
자세한 내용은 콘솔을 사용하여 AWS Config 설정을 참조하세요.
Google SecOps용 AWS S3 버킷 및 IAM 구성
- AWS Config에서 새 버킷을 만든 경우 S3 > 버킷에서 버킷 이름과 리전을 기록해 둡니다.
- AWS Config 설정 중에 기존 버킷을 선택한 경우 버킷 이름과 리전을 기록해 둡니다.
- 이 사용자 가이드(IAM 사용자 만들기)에 따라 사용자를 만듭니다.
- 생성된 사용자를 선택합니다.
- 보안용 사용자 인증 정보 탭을 선택합니다.
- 액세스 키 섹션에서 액세스 키 만들기를 클릭합니다.
- 사용 사례로 서드 파티 서비스를 선택합니다.
- 다음을 클릭합니다.
- 선택사항: 설명 태그를 추가합니다.
- 액세스 키 만들기를 클릭합니다.
- .csv 파일 다운로드를 클릭하여 나중에 참고할 수 있도록 액세스 키와 보안 비밀 액세스 키를 저장합니다.
- 완료를 클릭합니다.
- 권한 탭을 선택합니다.
- 권한 정책 섹션에서 권한 추가를 클릭합니다.
- 권한 추가를 선택합니다.
- 정책을 직접 연결을 선택합니다.
- AmazonS3ReadOnlyAccess 정책을 검색합니다.
- 정책을 선택합니다.
- 다음을 클릭합니다.
권한 추가를 클릭합니다.
피드 설정하기
Google SecOps 플랫폼에서 피드를 설정하는 방법에는 두 가지가 있습니다.
- SIEM 설정 > 피드 > 새로 추가
- 콘텐츠 허브 > 콘텐츠 팩 > 시작하기
AWS Config 로그를 수집하도록 Google SecOps에서 피드 구성
- Amazon Cloud Platform 팩을 클릭합니다.
- AWS Config 로그 유형을 찾습니다.
- 소스 유형으로 Amazon S3 V2를 선택합니다.
다음 필드의 값을 지정합니다.
S3 URI: AWS Config 로그의 S3 URI를 입력합니다.
s3://aws-config-logs/AWSLogs/소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다 (기본값은 180일).
액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키
보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키
고급 옵션
- 피드 이름: 피드를 식별하는 미리 입력된 값입니다.
- 애셋 네임스페이스: 피드와 연결된 네임스페이스입니다.
- 수집 라벨: 이 피드의 모든 이벤트에 적용되는 라벨입니다.
피드 만들기를 클릭합니다.
이 제품군 내에서 다양한 로그 유형에 대해 여러 피드를 구성하는 방법에 대한 자세한 내용은 제품별 피드 구성을 참고하세요.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 로직 |
|---|---|---|
AccountId_label |
additional.fields |
병합됨 |
AllSupported_label |
additional.fields |
병합됨 |
AuthenticationType_label |
additional.fields |
병합됨 |
DeploymentDurationInMinutes_label |
additional.fields |
병합됨 |
DomainName_label |
additional.fields |
병합됨 |
EnableTerminationProtection_label |
additional.fields |
병합됨 |
Enable_label |
additional.fields |
병합됨 |
EventBusName_label |
additional.fields |
병합됨 |
EventPattern_detail_eventSource_label |
additional.fields |
병합됨 |
EventPattern_detail_managementEvent_label |
additional.fields |
병합됨 |
EventPattern_detail_type_label |
additional.fields |
병합됨 |
EventPattern_source_label |
additional.fields |
병합됨 |
FinalBakeTimeInMinutes_label |
additional.fields |
병합됨 |
FindingPublishingFrequency_label |
additional.fields |
병합됨 |
GrowthFactor_label |
additional.fields |
병합됨 |
GrowthType_label |
additional.fields |
병합됨 |
Id_label |
additional.fields |
병합됨 |
IncludeGlobalResourceTypes_label |
additional.fields |
병합됨 |
Kubernetes_AuditLogs_Enable_label |
additional.fields |
병합됨 |
Name_label |
additional.fields |
병합됨 |
Reason_label |
additional.fields |
병합됨 |
RecordingStrategy_UseOnly_label |
additional.fields |
병합됨 |
ReplicateTo_label |
additional.fields |
병합됨 |
ResolverRuleAssociationId_label |
additional.fields |
병합됨 |
ResolverRuleId_label |
additional.fields |
병합됨 |
S3Logs_Enable_label |
additional.fields |
병합됨 |
ServiceType_label |
additional.fields |
병합됨 |
StandardsArn_label |
additional.fields |
병합됨 |
StandardsControlArn_label |
additional.fields |
병합됨 |
State_label |
additional.fields |
병합됨 |
TlsConfig_SecurityPolicy_label |
additional.fields |
병합됨 |
VPCId_label |
additional.fields |
병합됨 |
WorkGroupConfiguration_EnforceWorkGroupConfiguration_label |
additional.fields |
병합됨 |
WorkGroupConfiguration_EngineVersion_EffectiveEngineVersion_label |
additional.fields |
병합됨 |
WorkGroupConfiguration_EngineVersion_SelectedEngineVersion_label |
additional.fields |
병합됨 |
WorkGroupConfiguration_PublishCloudWatchMetricsEnabled_label |
additional.fields |
병합됨 |
WorkGroupConfiguration_RequesterPaysEnabled_label |
additional.fields |
병합됨 |
accountState_resourceState_codeRepository_status_label |
additional.fields |
병합됨 |
accountState_resourceState_ec2_status_label |
additional.fields |
병합됨 |
accountState_resourceState_ecr_status_label |
additional.fields |
병합됨 |
accountState_resourceState_lambdaCode_status_label |
additional.fields |
병합됨 |
accountState_resourceState_lambda_status_label |
additional.fields |
병합됨 |
accountState_state_status_label |
additional.fields |
병합됨 |
asso_cidr_label |
additional.fields |
병합됨 |
asso_id_label |
additional.fields |
병합됨 |
asso_state_label |
additional.fields |
병합됨 |
associationState_state_label |
additional.fields |
병합됨 |
canaryInterval_label |
additional.fields |
병합됨 |
canaryPercentage_label |
additional.fields |
병합됨 |
cidrBlock_label |
additional.fields |
병합됨 |
computePlatform_label |
additional.fields |
병합됨 |
config_description_label |
additional.fields |
병합됨 |
configurationItemVersion_label |
additional.fields |
병합됨 |
configurationStateId_label |
additional.fields |
병합됨 |
createdTime_label |
additional.fields |
병합됨 |
defaultCooldown_label |
additional.fields |
병합됨 |
deletionPolicy_label |
additional.fields |
병합됨 |
deploymentConfigId_label |
additional.fields |
병합됨 |
description_label |
additional.fields |
병합됨 |
desiredCapacity_label |
additional.fields |
병합됨 |
destinationCidrBlock_label |
additional.fields |
병합됨 |
digest_s3_bucket_label |
additional.fields |
병합됨 |
digest_s3_object_label |
additional.fields |
병합됨 |
digest_signature_algorithm_label |
additional.fields |
병합됨 |
disableRollback_label |
additional.fields |
병합됨 |
egress_label |
additional.fields |
병합됨 |
feature_label |
additional.fields |
병합됨 |
field_ |
additional.fields |
병합됨 |
field_value |
additional.fields |
병합됨 |
fromPort_label |
additional.fields |
병합됨 |
gatewayId_label |
additional.fields |
병합됨 |
groupId_label |
additional.fields |
병합됨 |
instanceStatus_label |
additional.fields |
병합됨 |
ipProtocol_label |
additional.fields |
병합됨 |
ipProtocol_label_egress |
additional.fields |
병합됨 |
isDefault_label |
additional.fields |
병합됨 |
lastUpdatedTime_label |
additional.fields |
병합됨 |
lastUpdatedTimestamp_label |
additional.fields |
병합됨 |
logicalResourceId_label |
additional.fields |
병합됨 |
main_label |
additional.fields |
병합됨 |
managementEvent_label |
additional.fields |
병합됨 |
maxSize_label |
additional.fields |
병합됨 |
max_results_label |
additional.fields |
병합됨 |
message |
additional.fields |
매핑된 값 (총 5개, 예: Records → managementEvent_label, Records → `readOnly_labe… |
mfaAuthenticated_label |
additional.fields |
병합됨 |
minSize_label |
additional.fields |
병합됨 |
minimumHealthyHosts_type_label |
additional.fields |
병합됨 |
minimumHealthyHosts_value_label |
additional.fields |
병합됨 |
networkAclId_label |
additional.fields |
병합됨 |
newInstancesProtectedFromScaleIn_label |
additional.fields |
병합됨 |
origin_label |
additional.fields |
병합됨 |
output_desc_label |
additional.fields |
병합됨 |
output_label |
additional.fields |
병합됨 |
parameter_label |
additional.fields |
병합됨 |
physicalResourceId_label |
additional.fields |
병합됨 |
protocol_label |
additional.fields |
병합됨 |
readOnly_label |
additional.fields |
병합됨 |
relationship_resource_ids |
additional.fields |
병합됨 |
relationship_resource_names |
additional.fields |
병합됨 |
relationship_resource_types |
additional.fields |
병합됨 |
resourceStatus_label |
additional.fields |
병합됨 |
resourceType_label_ |
additional.fields |
병합됨 |
routeTableAssociationId_label |
additional.fields |
병합됨 |
routeTableId_label |
additional.fields |
병합됨 |
ruleAction_label |
additional.fields |
병합됨 |
ruleNumber_label |
additional.fields |
병합됨 |
serviceLinkedRoleARN_label |
additional.fields |
병합됨 |
session_issuer_type_label |
additional.fields |
병합됨 |
stackDriftStatus_label |
additional.fields |
병합됨 |
stackId_label |
additional.fields |
병합됨 |
stackName_label |
additional.fields |
병합됨 |
stackResourceDriftStatus_label |
additional.fields |
병합됨 |
stackStatus_label |
additional.fields |
병합됨 |
state_label |
additional.fields |
병합됨 |
toPort_label |
additional.fields |
병합됨 |
trafficRoutingConfig_type_label |
additional.fields |
병합됨 |
unsupportedResources_resourceId_label |
additional.fields |
병합됨 |
unsupportedResources_resourceType_label |
additional.fields |
병합됨 |
updateReplacePolicy_label |
additional.fields |
병합됨 |
userId_label |
additional.fields |
병합됨 |
vpczoneIdentifier_label |
additional.fields |
병합됨 |
has_principal_user |
extensions.auth.type |
매핑됨: true → MACHINE |
message |
extensions.auth.type |
매핑됨: Records → MACHINE |
message |
intermediary |
매핑됨: Records → intermediary |
record.userIdentity.sessionContext.sessionIssuer.accountId |
intermediary.cloud.project.id |
직접 매핑됨 |
record.userIdentity.sessionContext.sessionIssuer.arn |
intermediary.resource.name |
직접 매핑됨 |
record.userIdentity.sessionContext.sessionIssuer.principalId |
intermediary.resource.product_object_id |
직접 매핑됨 |
messageType |
metadata.description |
직접 매핑됨 |
record.eventCategory |
metadata.description |
직접 매핑됨 |
configItem.resourceCreationTime |
metadata.event_timestamp |
ISO8601로 파싱됨 |
configurationItem.configurationItemCaptureTime |
metadata.event_timestamp |
ISO8601로 파싱됨 |
configuration_Item_CaptureTime |
metadata.event_timestamp |
RFC3339(으)로 파싱됨 |
digestEndTime |
metadata.event_timestamp |
yyyy-MM-dd'T'HH:mm:ssZ로 파싱됨 |
digestStartTime |
metadata.event_timestamp |
yyyy-MM-dd'T'HH:mm:ssZ(으)로 파싱됨 |
record.eventTime |
metadata.event_timestamp |
yyyy-MM-dd'T'HH:mm:ss'Z'(으)로 파싱됨 |
record.requestParameters.endTime |
metadata.event_timestamp |
RFC3339(으)로 파싱됨 |
record.requestParameters.startTime |
metadata.event_timestamp |
RFC3339로 파싱됨 |
record.userIdentity.sessionContext.attributes.creationDate |
metadata.event_timestamp |
RFC3339로 파싱됨 |
resource_Creation_Time |
metadata.event_timestamp |
RFC3339로 파싱됨 |
event_type |
metadata.event_type |
직접 매핑됨 |
has_principal |
metadata.event_type |
매핑됨: true → STATUS_UPDATE |
has_principal_user |
metadata.event_type |
매핑됨: true → USER_LOGIN, true → USER_UNCATEGORIZED |
message |
metadata.event_type |
매핑됨: Records → USER_LOGIN, Records → USER_UNCATEGORIZED, Records → `STATUS_UPDA… |
config_snapshot_id_value |
metadata.id |
직접 매핑됨 |
message |
metadata.id |
매핑됨: Records → bytes |
record.eventID |
metadata.id |
직접 매핑됨 |
record.eventName |
metadata.product_event_type |
직접 매핑됨 |
record.requestID |
metadata.product_log_id |
직접 매핑됨 |
message |
metadata.product_name |
매핑됨: Records → AWS Config |
configurationItem.configurationItemVersion |
metadata.product_version |
직접 매핑됨 |
file_version_value |
metadata.product_version |
직접 매핑됨 |
record.eventVersion |
metadata.product_version |
직접 매핑됨 |
message |
metadata.vendor_name |
매핑됨: Records → AMAZON |
message |
network.http.parsed_user_agent |
매핑됨: Records → parseduseragent |
record.userAgent |
network.http.parsed_user_agent |
직접 매핑됨 |
record.userAgent |
network.http.user_agent |
직접 매핑됨 |
record.tlsDetails.cipherSuite |
network.tls.cipher |
직접 매핑됨 |
record.tlsDetails.tlsVersion |
network.tls.version |
직접 매핑됨 |
record.sourceIPAddress |
principal.asset.hostname |
직접 매핑됨 |
ip_val |
principal.asset.ip |
병합됨 |
ip_val_1 |
principal.asset.ip |
병합됨 |
message |
principal.asset.ip |
매핑됨: Records → source_ip |
source_ip |
principal.asset.ip |
병합됨 |
record.userIdentity.type |
principal.cloud.project.type |
직접 매핑됨 |
record.sourceIPAddress |
principal.hostname |
직접 매핑됨 |
ip_val |
principal.ip |
병합됨 |
ip_val_1 |
principal.ip |
병합됨 |
message |
principal.ip |
매핑됨: Records → source_ip |
source_ip |
principal.ip |
병합됨 |
availabilityZone_1 |
principal.location.country_or_region |
직접 매핑됨 |
index |
principal.location.country_or_region |
직접 매핑됨 |
record.awsRegion |
principal.location.country_or_region |
직접 매핑됨 |
availabilityZone_1_label |
principal.resource.attribute.labels |
병합됨 |
name_label |
principal.resource.attribute.labels |
병합됨 |
resourceId_label |
principal.resource.attribute.labels |
병합됨 |
resourceType_label |
principal.resource.attribute.labels |
병합됨 |
record.userIdentity.arn |
principal.resource.name |
직접 매핑됨 |
resource.ARN |
principal.resource.name |
직접 매핑됨 |
resource.type |
principal.resource.type |
직접 매핑됨 |
email |
principal.user.email_addresses |
병합됨 |
record.userIdentity.principalId |
principal.user.product_object_id |
직접 매핑됨 |
configItem.tags.Contact |
principal.user.user_display_name |
직접 매핑됨 |
record.userIdentity.sessionContext.sessionIssuer.userName |
principal.user.user_display_name |
직접 매핑됨 |
user_name |
principal.user.user_display_name |
이름 변경/매핑됨 |
awsAccountId |
principal.user.userid |
직접 매핑됨 |
configItem.awsAccountId |
principal.user.userid |
직접 매핑됨 |
configurationItem.awsAccountId |
principal.user.userid |
직접 매핑됨 |
record.userIdentity.accessKeyId |
principal.user.userid |
직접 매핑됨 |
resource.accountId |
principal.user.userid |
직접 매핑됨 |
message |
security_result |
매핑됨: Records → security_result |
security_result_outer |
security_result |
병합됨 |
security_result_rule_list |
security_result |
병합됨 |
keySpec_label |
security_result.about.labels |
병합됨 |
message |
security_result.about.labels |
매핑됨: Records → keySpec_label |
record.requestParameters.keyId |
security_result.about.resource.id |
직접 매핑됨 |
record.eventSource |
security_result.about.resource.name |
직접 매핑됨 |
attribute_key_value_label |
security_result.detection_fields |
병합됨 |
aws_cloudtrail_arn_label |
security_result.detection_fields |
병합됨 |
aws_s3_arn_label |
security_result.detection_fields |
병합됨 |
clientProvidedHostHeader_label |
security_result.detection_fields |
병합됨 |
digest_public_key_fingerprint_label |
security_result.detection_fields |
병합됨 |
eventType_label |
security_result.detection_fields |
병합됨 |
hashAlgorithm_label |
security_result.detection_fields |
병합됨 |
hashValue_label |
security_result.detection_fields |
병합됨 |
invokedBy_label |
security_result.detection_fields |
병합됨 |
message |
security_result.detection_fields |
매핑된 값 (총 6개, 예: Records → eventType_label, Records → `attribute_key_value… |
s3Bucket_label |
security_result.detection_fields |
병합됨 |
s3Object_label |
security_result.detection_fields |
병합됨 |
message |
target.asset.attribute.cloud.environment |
매핑됨: Records → AMAZON_WEB_SERVICES |
relationship.resourceId |
target.asset.attribute.cloud.vpc.id |
직접 매핑됨 |
attribute_label |
target.asset.attribute.labels |
병합됨 |
configItem.awsRegion |
target.asset.location.country_or_region |
직접 매핑됨 |
configurationItem.awsRegion |
target.asset.location.country_or_region |
직접 매핑됨 |
message |
target.asset.platform_software.platform |
매핑됨: Windows → WINDOWS, (Linux/LINUX) → LINUX |
configItem.configuration.privateIpAddress |
target.ip |
병합됨 |
configItem.configuration.publicIpAddress |
target.ip |
병합됨 |
configItem.availabilityZone |
target.location.name |
직접 매핑됨 |
ARN_label |
target.resource.attribute.labels |
병합됨 |
KeyspaceName_label |
target.resource.attribute.labels |
병합됨 |
autoScalingGroupARN_label |
target.resource.attribute.labels |
병합됨 |
autoScalingGroupName_label |
target.resource.attribute.labels |
병합됨 |
awsAccountId_label |
target.resource.attribute.labels |
병합됨 |
configurationStateId_label |
target.resource.attribute.labels |
병합됨 |
configurationStateMd5Hash_label |
target.resource.attribute.labels |
병합됨 |
granularity_label |
target.resource.attribute.labels |
병합됨 |
healthCheckGracePeriod_label |
target.resource.attribute.labels |
병합됨 |
healthCheckType_label |
target.resource.attribute.labels |
병합됨 |
launchTemplateId_label |
target.resource.attribute.labels |
병합됨 |
launchTemplateName_label |
target.resource.attribute.labels |
병합됨 |
metric_label |
target.resource.attribute.labels |
병합됨 |
terminationPolicies_label |
target.resource.attribute.labels |
병합됨 |
version_label |
target.resource.attribute.labels |
병합됨 |
configItem.ARN |
target.resource.id |
직접 매핑됨 |
configItem.resourceId |
target.resource.id |
직접 매핑됨 |
configurationItem.resourceId |
target.resource.id |
직접 매핑됨 |
configItem.resourceName |
target.resource.name |
직접 매핑됨 |
record.recipientAccountId |
target.resource.product_object_id |
직접 매핑됨 |
configItem.resourceType |
target.resource.resource_subtype |
직접 매핑됨 |
configurationItem.resourceType |
target.resource.resource_subtype |
직접 매핑됨 |
message |
target.resource.resource_type |
매핑됨: Records → VIRTUAL_MACHINE |
record.userIdentity.accountId |
target.user.userid |
직접 매핑됨 |
| 해당 사항 없음 | extensions.auth.type |
상수: MACHINE |
| 해당 사항 없음 | metadata.event_type |
상수: USER_LOGIN |
| 해당 사항 없음 | metadata.id |
상수: bytes |
| 해당 사항 없음 | metadata.product_name |
상수: AWS Config |
| 해당 사항 없음 | metadata.vendor_name |
상수: AMAZON |
| 해당 사항 없음 | network.http.parsed_user_agent |
상수: parseduseragent |
| 해당 사항 없음 | target.asset.attribute.cloud.environment |
상수: AMAZON_WEB_SERVICES |
| 해당 사항 없음 | target.asset.attribute.cloud.vpc.resource_type |
상수: VPC_NETWORK |
| 해당 사항 없음 | target.asset.platform_software.platform |
상수: WINDOWS |
| 해당 사항 없음 | target.resource.resource_type |
상수: VIRTUAL_MACHINE |
변경 로그
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.