AWS CloudWatch를 Google SecOps와 통합
이 문서에서는 AWS CloudWatch를 Google Security Operations (Google SecOps)와 통합하는 방법을 설명합니다.
통합 버전: 6.0
사용 사례
활성 작업 - 로그 검색, 로그 그룹/스트림 생성, 로그 그룹/스트림 삭제, 보존 정책 업데이트
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
AWS 액세스 키 ID | 문자열 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 액세스 키 ID입니다. |
AWS 보안 비밀 키 | 비밀번호 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 보안 비밀 키입니다. |
AWS 기본 리전 | 문자열 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 기본 리전입니다(예: us-west-2). |
Google SecOps에서 통합을 구성하는 방법에 대한 안내는 통합 구성을 참고하세요.
필요한 경우 이후 단계에서 변경할 수 있습니다. 통합 인스턴스를 구성한 후 플레이북에서 사용할 수 있습니다. 여러 인스턴스를 구성하고 지원하는 방법에 관한 자세한 내용은 여러 인스턴스 지원을 참고하세요.
작업
작업에 대한 자세한 내용은 내 Workdesk에서 대기 중인 작업에 응답 및 수동 작업 실행을 참고하세요.
핑
AWS CloudWatch에 대한 연결을 테스트합니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하지 않거나 플레이북 실행을 중지하지 않아야 합니다.
작업이 실패하고 플레이북 실행이 중지되어야 합니다.
|
일반 |
로그 그룹 나열
AWS CloudWatch에서 사용 가능한 로그 그룹을 나열합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
반환할 최대 그룹 수 | 정수 | 50 | 아니요 | 반환할 그룹 수를 지정합니다. 기본값: 50 |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611581795766,
"logGroupName": "CloudTrail/DefaultLogGroup",
"metricFilterCount": 0,
"storedBytes": 24529015
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1606993203235,
"logGroupName": "Example",
"metricFilterCount": 1,
"storedBytes": 730
},
{
"arn": "arn:aws:logs:us-east-1:",
"creationTime": 1611652265055,
"logGroupName": "aws-cloudtrail-logs",
"metricFilterCount": 0,
"storedBytes": 51354815
}
]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
데이터를 사용할 수 없는 경우 (is_success = true): 'AWS CloudWatch에서 로그 그룹을 찾을 수 없습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
케이스 월 테이블 | 이름: '로그 그룹' 열: 이름 측정항목 필터 수 저장된 바이트 생성 시간 |
일반 |
로그 스트림 나열
AWS CloudWatch에서 사용 가능한 로그 스트림을 나열합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 | CSV | 해당 사항 없음 | 예 | 로그 스트림을 가져올 그룹 이름을 쉼표로 구분하여 지정합니다. |
정렬 기준 | DDL | 로그 스트림 이름 가능한 값은 다음과 같습니다. 로그 스트림 이름 최종 이벤트 시간 |
아니요 | 로그 스트림의 순서를 지정합니다. |
정렬 순서 | DDL | 오름차순 가능한 값은 다음과 같습니다. 오름차순 내림차순 |
아니요 | 사용할 정렬 순서를 지정합니다. |
반환할 최대 스트림 수 | 정수 | 50 | 아니요 | 로그 그룹당 반환할 스트림 수를 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
"group":"{group name}"
"logStreams": [
{
"arn": "arn:aws:logs:us-east-1:log-group:aws-cloudtrail-logs:log-stream:CloudTrail_us-east-1",
"creationTime": 1611652272827,
"firstEventTimestamp": 1611652287716,
"lastEventTimestamp": 1612271538268,
"lastIngestionTime": 1612271538289,
"logStreamName": "CloudTrail_us-east-1",
"storedBytes": 0,
"uploadSequenceToken": "49039859450784908968417870788122674924958823185025535393"
}
]
}
]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
하나 이상의 로그 그룹에 데이터를 사용할 수 없는 경우 (is_success = true): '작업이 AWS CloudWatch: {group names}의 다음 로그 그룹에 사용할 수 있는 로그 스트림을 반환할 수 없습니다.' 하나 이상의 로그 그룹에 데이터를 사용할 수 없는 경우 (is_success = false): 'AWS CloudWatch에서 제공된 로그 그룹의 로그 스트림을 찾을 수 없습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
케이스 월 테이블 | 이름: '{그룹 이름}: 로그 스트림' 열: 이름 저장된 바이트 생성 시간 마지막 이벤트 타임스탬프 |
일반 |
검색 로그 이벤트
AWS CloudWatch에서 로그 이벤트를 검색합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 | 문자열 | 해당 사항 없음 | 예 | 이벤트를 검색할 로그 그룹의 이름을 지정합니다. |
로그 스트림 | CSV | 해당 사항 없음 | 아니요 | 이벤트를 검색할 로그 스트림을 쉼표로 구분하여 지정합니다. |
기간 | DDL | 지난 1시간 가능한 값은 다음과 같습니다. 지난 1시간 지난 6시간 지난 24시간 지난주 지난달 커스텀 |
아니요 | 검색 기간을 지정합니다. '맞춤'을 선택한 경우 '시작 시간'도 설정해야 합니다. |
시작 시간 | 문자열 | 해당 사항 없음 | 아니요 | 검색 시작 시간을 지정합니다. '기간' 매개변수에 '커스텀'을 선택한 경우 이 매개변수는 필수 항목입니다. 형식: ISO 8601 |
종료 시간 | 문자열 | 해당 사항 없음 | 아니요 | 검색 종료 시간을 지정합니다. 형식: ISO 8601. 아무것도 제공하지 않고 '기간' 매개변수에 '커스텀'을 선택하면 이 매개변수는 현재 시간을 사용합니다. |
커스텀 필터 | 문자열 | 해당 사항 없음 | 아니요 | 검색의 맞춤 필터를 지정합니다. 자세한 내용은 문서 포털을 참고하세요. |
반환할 최대 이벤트 수 | 정수 | 50 | 아니요 | 반환할 이벤트 수를 지정합니다. 기본값: 50 |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[
{
"eventId": "ID",
"ingestionTime": 1611652287896,
"logStreamName": "CloudTrail_us-east-1",
"message": {
"eventVersion": "1.08",
"userIdentity": {
"type": "AssumedRole",
"principalId": "ID",
"arn":"arn:aw
s:sts: : ACCOUNT_ID:assumed-role/AWSServiceRoleForAmazonMacie/AmazonMacieSession","accountId":"ACCOUNT_ID","accessKeyId":"KEY_ID","sessionC
ontext":{"sessionIssuer":{"type":"Role","principalId":"ID","arn":"arn:aws:iam: : ACCOUNT_ID:role/aws-service-role/macie.amazonaws.com/AW
SServiceRoleForAmazonMacie","accountId":"ACCOUNT_ID","userName":"AWSServiceRoleForAmazonMacie"},"webIdFederationData":{},"attributes":{"mfaAuthenticated": "false",
"creationDate": "2021-01-26T08:53:52Z"
}
},
"invokedBy": "AWS Internal",
"eventTime": "2021-01-26T08:53:52Z",
"eventSource": "s3.amazonaws.com",
"eventName": "GetBucketLogging",
"awsRegion": "us-east-1",
"sourceIPAddress": "AWSInternal",
"userAgent": "AWS Internal",
"requestParameters": {
"logging": "",
"bucketName": "example",
"Host": "example.s3.amazonaws.com"
},
"responseElements": null,
"additionalEventData": {
"SignatureVersion": "SigV4",
"CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
"bytesTransferredIn": 0,
"AuthenticationMethod": "AuthHeader",
"x-amz-id-2": "PFM+6pyK/gCPy95gh8dtstgtXftrpHkL8s=",
"bytesTransferredOut": 289
},
"requestID": "8FA919A428BC82D7",
"eventID": "7eb5dd44-7021-4945-b9be-27f5b1e0d8d0",
"readOnly": true,
"resources": [
{
"accountId": "ACCOUNT_ID",
"type": "AWS::S3::Bucket",
"ARN": "arn:aws:s3:::example"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"eventCategory": "Management",
"recipientAccountId": "ACCOUNT_ID"
},
"timestamp": 1611652287716
}
]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
데이터를 사용할 수 없는 경우 (is_success = false): '제공된 검색에 대한 데이터를 찾을 수 없습니다.' 작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
케이스 월 테이블 | 이름: '검색 결과' 열: 사용 가능한 모든 키 |
일반 |
보관 정책 설정
AWS CloudWatch에서 로그 그룹의 보관 정책을 설정합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 | 문자열 | 해당 사항 없음 | 예 | 보관 정책을 설정할 로그 그룹의 이름을 지정합니다. |
보관 기간(일) | DDL | 1 가능한 값 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653 |
예 | 로그 그룹에 데이터를 보관할 일수를 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
보관 정책 삭제
AWS CloudWatch의 로그 그룹에서 보관 정책을 삭제합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 | 문자열 | 해당 사항 없음 | 예 | 보관 정책을 삭제할 로그 그룹의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
로그 그룹 만들기
AWS CloudWatch에서 로그 그룹을 만듭니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 새 로그 그룹의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"group_name": "GROUP_NAME"
}
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
로그 스트림 만들기
AWS CloudWatch에서 로그 그룹의 로그 스트림을 만듭니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 | 문자열 | 해당 사항 없음 | 예 | 로그 스트림을 만들 로그 그룹의 이름을 지정합니다. |
로그 스트림 이름 | 문자열 | 해당 사항 없음 | 예 | 새 로그 스트림의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"log_stream": "STREAM_NAME"
}
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
로그 그룹 삭제
AWS CloudWatch에서 로그 그룹을 삭제합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 삭제해야 하는 로그 그룹의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
그룹이 존재하지 않는 경우 (is_success=false): '작업이 AWS CloudWatch에서 {group} 로그 그룹을 삭제할 수 없습니다. 이유: AWS CloudWatch에 {group} 로그 그룹이 없습니다." 작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
로그 스트림 삭제
AWS CloudWatch의 로그 그룹에서 로그 스트림을 삭제합니다.
매개변수
Parameter Display Name> | Type> | Default Value> | 필수 항목> | 설명> |
---|---|---|---|---|
로그 그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 로그 스트림이 포함된 로그 그룹의 이름을 지정합니다. |
로그 스트림 이름 | 문자열 | 해당 사항 없음 | 예 | 삭제해야 하는 로그 스트림의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름> | 값 옵션> |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
스트림이 없는 경우 (is_success=false): '작업이 AWS CloudWatch의 로그 그룹 {group}에서 로그 스트림 {stream}을 삭제할 수 없습니다. 이유: AWS CloudWatch의 로그 그룹 {group}에 로그 스트림 {stream}이 없습니다.' 그룹이 존재하지 않는 경우 (is_success=false): '작업이 AWS CloudWatch의 로그 그룹 {group}에서 로그 스트림 {stream}을 삭제할 수 없습니다. 이유: AWS CloudWatch에 {group} 로그 그룹이 없습니다." 작업이 실패하고 플레이북 실행을 중지해야 합니다.
|
일반 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.