Akamai DataStream 2 로그 수집
이 문서에서는 Amazon S3를 사용하여 Akamai DataStream 2 로그를 Google Security Operations로 수집하는 방법을 설명합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Akamai Control Center에 대한 액세스 권한 (DataStream 2 구성 액세스)
- AWS(S3, IAM)에 대한 액세스 권한
Google SecOps용 AWS S3 버킷 및 IAM 구성
- 이 사용자 가이드(버킷 만들기)에 따라 Amazon S3 버킷을 만듭니다.
- 나중에 참조할 수 있도록 버킷 이름과 리전을 저장합니다(예:
akamai-cloud-monitor). - 이 사용자 가이드(IAM 사용자 만들기)에 따라 사용자를 만듭니다.
- 생성된 사용자를 선택합니다.
- 보안용 사용자 인증 정보 탭을 선택합니다.
- 액세스 키 섹션에서 액세스 키 만들기를 클릭합니다.
- 사용 사례로 서드 파티 서비스를 선택합니다.
- 다음을 클릭합니다.
- 선택사항: 설명 태그를 추가합니다.
- 액세스 키 만들기를 클릭합니다.
- CSV 파일 다운로드를 클릭하여 나중에 사용할 수 있도록 액세스 키와 보안 비밀 액세스 키를 저장합니다.
- 완료를 클릭합니다.
- 권한 탭을 선택합니다.
- 권한 정책 섹션에서 권한 추가를 클릭합니다.
- 권한 추가를 선택합니다.
- 정책 직접 연결을 선택합니다.
- AmazonS3FullAccess 정책을 검색하여 선택합니다.
- 다음을 클릭합니다.
- 권한 추가를 클릭합니다.
S3 업로드용 IAM 정책 및 역할 구성
- AWS 콘솔에서 IAM > 정책 > 정책 생성 > JSON 탭으로 이동합니다.
다음 정책을 입력합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAkamaiWriteToS3", "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": "arn:aws:s3:::akamai-datastream-2-logs/akamai/datastream2/json/*" } ] }- 다른 버킷 이름을 입력한 경우
akamai-datastream-2-logs을 바꿉니다.
- 다른 버킷 이름을 입력한 경우
다음 > 정책 만들기를 클릭합니다.
IAM > 사용자 > 사용자 만들기로 이동합니다.
사용자 이름을
akamai-datastream-writer로 지정합니다.새로 만든 정책을 연결합니다.
Akamai DataStream 2 구성에서 사용할 이 사용자의 액세스 키를 만듭니다.
Amazon S3에 로그를 전송하도록 Akamai DataStream 2 구성
- Akamai Control Center에서 DataStream 2로 이동합니다.
- 스트림 만들기를 클릭합니다.
- 속성에 적합한 로그 유형을 선택합니다 (예: 전송, Edge DNS, GTM).
- 데이터 세트에서 필요한 필드를 선택합니다. 특별한 요구사항이 없는 한 기본값을 유지하세요.
- 전송 > 대상으로 이동하여 Amazon S3를 선택합니다.
- 새로 만든 버킷을 사용하여 S3 대상 세부정보를 입력합니다.
- 버킷:
akamai-datastream-2-logs - 폴더 경로:
akamai/datastream2/json/ - 리전: 버킷 리전
- 액세스 키 ID: 이전에 만든 사용자 액세스 키
- 보안 비밀 액세스 키: 이전에 만든 사용자 보안 비밀 액세스 키
- 버킷:
- 로그 형식을 JSON으로 설정합니다.
- 선택사항: 전송 옵션에서 푸시 빈도를 30초로 설정합니다.
- Validate & Save(검증 및 저장) > Next(다음) > Activate(활성화)를 클릭합니다.
선택사항: Google SecOps용 읽기 전용 IAM 사용자 및 키 만들기
- AWS 콘솔 > IAM > 사용자 > 사용자 추가로 이동합니다.
- 사용자 추가를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 사용자:
secops-reader를 입력합니다. - 액세스 유형: 액세스 키 – 프로그래매틱 액세스를 선택합니다.
- 사용자:
- 사용자 만들기를 클릭합니다.
- 최소 읽기 정책(맞춤) 연결: 사용자 > secops-reader > 권한 > 권한 추가 > 정책 직접 연결 > 정책 만들기
JSON 편집기에 다음 정책을 입력합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::akamai-datastream-2-logs/*" }, { "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "arn:aws:s3:::akamai-datastream-2-logs" } ] }이름을
secops-reader-policy로 설정합니다.정책 만들기 > 검색/선택 > 다음 > 권한 추가로 이동합니다.
보안용 사용자 인증 정보> 액세스 키> 액세스 키 만들기로 이동합니다.
CSV를 다운로드합니다(이러한 값은 피드에 입력됨).
Akamai DataStream 2 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정> 피드로 이동합니다.
- + 새 피드 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다(예:
Akamai DataStream 2 logs). - 소스 유형으로 Amazon S3 V2를 선택합니다.
- 로그 유형으로 Akamai DataStream 2를 선택합니다.
- 다음을 클릭합니다.
- 다음 입력 파라미터의 값을 지정합니다.
- S3 URI:
s3://akamai-datastream-2-logs/akamai/datastream2/json/ - 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
- 최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다. 기본값은 180일입니다.
- 액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키
- 보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키입니다.
- 애셋 네임스페이스: 애셋 네임스페이스입니다.
- 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
- S3 URI:
- 다음을 클릭합니다.
- 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.
지원되는 Akamai Datastream 2 샘플 로그
- JSON
{ "logName": "projects/monotaro-akamai-log/logs/akamai_data_stream", "resource": { "type": "cloud_run_revision", "labels": { "service_name": "akamai-datastream2", "configuration_name": "hhhhh", "location": "asia-northeast1", "project_id": "monotaro-akamai-log", "revision_name": "akamai-datastream2-brpwf" } }, "jsonPayload": { "cliip": "0.0.0.0", "cookie": "sid=MASKED_SESSION_ID", "reqtimesec": "1704844800.068", "trace": "projects/monotaro-akamai-log/traces/acc4d1aeffecdf96896e5aff5cf1fbf5", "errorcode": "-", "totalbytes": "27489", "reqport": "443", "overheadbytes": "1160", "reqhost": "www.example.com", "tlsversion": "TLSv1.3", "referer": "masked URL", "reqendtimemsec": "15", "acclang": "-", "reqid": "80c241bc", "city": "TOKYO", "maxagesec": "-", "cp": "1219543", "uncompressedsize": "-", "proto": "HTTP/2", "querystr": "s=MASKED_QUERY_PARAM&v=other_param", "range": "-", "objsize": "25510", "transfertimemsec": "1", "reqmethod": "GET", "rspcontentlen": "25510", "statuscode": "200", "dnslookuptimemsec": "-", "turnaroundtimemsec": "83", "xforwardedfor": "-", "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) MASKED_UA", "cachestatus": "0", "rspcontenttype": "application/json", "bytes": "25510", "version": "3", "tlsoverheadtimemsec": "0", "country": "JP", "reqpath": "recsys/v1/recommend", "customfield": "MASKED_CUSTOM_FIELD_1,MASKED_CUSTOM_FIELD_2", "securityrules": "mntr_25916||" }, "timestamp": "2024-01-10T00:00:00.068+00:00", "receiveTimestamp": "2024-01-10T00:00:19.987565+00:00", "insertId": "148w3lkg16liikb" }
Need more help? Get answers from Community members and Google SecOps professionals.