ObjectCreated 알림 작성
버킷에서 모니터할 폴더에 대해 ObjectCreated 알림을 구성하십시오.
프로시저
- AWS 관리 콘솔에 관리자로 로그인하십시오.
- 서비스를 클릭하고 S3로 이동한 후 버킷을 선택하십시오.
- 특성 탭을 클릭하고 이벤트 분할창에서 알림 추가를 클릭하십시오. 새 이벤트의 매개변수를 구성하십시오.다음 표는 ObjectCreated 알림 매개변수 구성의 예제를 표시합니다.
표 1. 예제: 새 ObjectCreated 알림 매개변수 구성 매개변수 값 이름 선택한 이름을 입력하십시오. 이벤트 모든 오브젝트 작성 이벤트를 선택하십시오. 접두부 AWSLog/ 팁: 데이터가 있는 위치 및 큐로 이동하려는 데이터에 따라 찾으려는 데이터를 포함하는 접두부를 선택할 수 있습니다. 예를 들어, AWSLogs/, CustomPrefix/AWSLogs/, AWSLogs/123456789012/입니다.접미부 json.gz 전송 위치 SQS 큐 팁: 콜렉션 또는 QRadar 테넌트 요구에 맞게 다른 폴더의 데이터를 동일한 큐 또는 다른 큐로 전송할 수 있습니다. 다음 방법 중 하나 이상을 선택하십시오.- 다른 큐로 이동하는 다른 폴더
- 동일한 큐로 이동하는 다른 버킷의 다른 폴더
- 단일 큐로 이동하는 단일 버킷의 모든 항목
- 단일 큐로 이동하는 여러 버킷의 모든 항목
SQS ObjectCreated 알림을 수신하는 데 사용되는 SQS큐 작성의 4단계에 있는 큐 이름 . 그림 1. 예제: 이벤트 
그림: © 2019 Amazon.com Inc. 또는 자회사. All Rights Reserved.
매개변수 구성의 그림 1에 있는 예제에서는 버킷의 루트에서 AWSLogs/ 에 대한 알림이 작성됩니다. 이 구성을 사용하면 모든 ObjectCreated 이벤트가 알림을 트리거합니다. 버킷에 여러 계정 및 지역이 있는 경우 모든 항목이 처리됩니다. 이 예제에서는 json.gz 가 사용됩니다. 이 파일 유형은 수집 중인 데이터에 따라 변경될 수 있습니다. 버킷의 컨텐츠에 따라 확장을 생략하거나 이벤트가 설정된 폴더에서 찾고 있는 데이터와 일치하는 확장을 선택할 수 있습니다.
약 5분후에 데이터를 포함하는 큐가 표시됩니다. 사용 가능한 메시지 컬럼에서 메시지 수를 볼 수 있습니다.그림 2. 사용 가능한 메시지 수 
그림: © 2019 Amazon.com Inc. 또는 자회사. All Rights Reserved.
- 서비스를 클릭한 후 단순 큐 서비스로 이동하십시오.
- ObjectCreated 알림을 수신하는 데 사용되는 SQS큐 작성의 4단계에서 큐 이름 을 마우스 오른쪽 단추로 클릭한 후 메시지 보기/삭제 를 선택하여 메시지를 보십시오.
그림 3. SecureQueue TEST 목록 
그림: © 2019 Amazon.com Inc. 또는 자회사. All Rights Reserved.
예: 샘플 메시지{ "Records":[ { "eventVersion":"2.1", "eventSource":"aws:s3", "awsRegion":"us-east-2", "eventTime":"2018-12-19T01:51:03.251Z", "eventName":"ObjectCreated:Put", "userIdentity":{ "principalId":"AWS:AIDAIZLCFC5TZD36YHNZY" }, "requestParameters":{ "sourceIPAddress":"52.46.82.38" }, "responseElements":{ "x-amz-request-id":"6C05F1340AA50D21", "x-amz-id-2":"9e8KovdAUJwmYu1qnEv+urrO8T0vQ+UOpkPnFYLE6agmJSn745 /T3/tVs0Low/vXonTdATvW23M=" }, "s3":{ "s3SchemaVersion":"1.0", "configurationId":"test_SQS_Notification_1", "bucket":{ "name":"myBucketName", "ownerIdentity":{ "principalId":"A2SGQBYRFBZET" }, "arn":"arn:aws:s3:::myBucketName" }, "object":{ "key":"AWSLogs/123456789012/CloudTTrail/eu-west- 3/2018/12/19/123456789012_CloudTrail_eu-west-3_TestAccountTrail _us-east-2_20181219T014838Z.json.gz", "size":713, "eTag":"1ff1209e4140b4ff7a9d2b922f57f486", "sequencer":"005C19A40717D99642" } } } ] }팁: 키 값에 DSM 이름이 표시됩니다. - 서비스를 클릭한 후 IAM으로 이동하십시오.
- SQS 큐에 액세스하고 대상 버킷에서 다운로드할 수 있는 권한에 대해 사용자 또는 역할 권한을 설정하십시오. 사용자 또는 사용자 역할에는 SQS큐에서 읽고 삭제할 수 있는 권한이 있어야 합니다. IAM 사용자의 권한 추가, 관리 및 변경에 대한 정보는 IAM 사용자 문서를 참조하십시오. QRadar 가 알림을 읽은 후 대상 파일을 다운로드하여 처리하고 나면 큐에서 메시지를 삭제해야 합니다.샘플 정책:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:ReceiveMessage", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::<bucket_name>/AWSLogs/*", "arn:aws:sqs:us-east-2:<AWS_account_number>:<queue_name>" ] } ] }S3 큐에 여러 버킷을 추가할 수 있습니다. 모든 오브젝트가 액세스되도록 하려면 추가한 폴더 경로의 끝에 후미 /* 가 있어야 합니다.
이 정책을 사용자 또는 사용자 역할에 직접 추가하거나 sts:AssumeRole 권한만 있는 최소 액세스 사용자를 만들 수 있습니다. QRadar에서 로그 소스를 구성할 때 QRadar 가 역할을 가정하도록 역할 ARN 가정 매개변수를 구성하십시오. 한 번의 실행 (큐 비우기) 으로 처리되기를 기다리는 모든 파일이 재시도하지 않고 완료될 수 있도록 하려면 API 세션 지속 기간 매개변수에 기본값 1시간을 사용하십시오.
가정된 역할을 사용하는 경우 역할을 가정하는 사용자의 ARN이 해당 역할의 신뢰할 수 있는 엔티티 에 있는지 확인하십시오. IAM 역할의 신뢰 관계 탭에서 규칙을 가정할 수 있는 신뢰할 수 있는 엔티티를 볼 수 있습니다. 또한 사용자는 해당 (또는 임의) 계정에서 역할을 가정할 수 있는 권한을 가지고 있어야 합니다. 다음 예제는 샘플 신뢰 정책을 보여줍니다.- 특정 AWS 계정 내의 모든 IAM 사용자가 역할을 맡도록 허용
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:root" }, "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::YOUR_ACCOUNT_ID:role/ROLE_NAME" } ] }
- 특정 사용자가 역할을 가정하도록 허용
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::YOUR_ACCOUNT_ID:user/USERNAME" }, "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::YOUR_ACCOUNT_ID:role/ROLE_NAME" }
다음 이미지 예제는 QRadar의 샘플 Amazon AWS CloudTrail 로그 소스 구성을 보여줍니다.
팁: 로그 소스를 구성할 때 DSM에 아마존 AWS S3 REST API 로그 소스 매개변수 값을 사용하십시오.그림 4. 예: QRadar 의 Amazon AWS CloudTrail 로그 소스 구성 