BLOG

Amazon Alexa를 사용하여 Amazon GuardDuty 통계 및 결과를 얻는 방법
작성일: 2018-04-20

GuardDuty 콘솔의 결과물 페이지에서 Amazon GuardDuty결과를 보고 관리할 수 있습니다. 또한, AWS CLI 또는 SDK와 함께 GuardDuty APIs 를 사용해도 가능합니다. 그러나 더 빠르고 쉬운 방법이 있습니다. Amazon Alexa를 대화식 인터페이스로 사용하여 GuardDuty 결과를 검토할 수 있습니다. Alexa를 사용하면 자연스러운 음성 경험을 구축하고 직관적인 GuardDuty 상호 작용 방식을 만들 수 있습니다.

 

이번 포스팅에서는 샘플 사용자 정의 Alexa 기술을 배치하는 방법과, Amazon Echo와 같은 Alexa 지원 장치를 사용하여 AWS 계정 및 지역에서 GuardDuty 결과에 대한 정보를 얻는 방법을 보여줍니다. 이 샘플 스킬에서 제공하는 정보는 GuardDuty 결과 통계, 심각성 및 설명에 대한 광범위한 개요를 제공합니다. 흥미로운 것을 들었을 때, GuardDuty 콘솔이나 다른 분석 도구에 로그인하여 결과 데이터를 조사 할 수 있습니다.

 

참고: 여기에서 다루지는 않지만 Alexa for Business를 사용하여 이 샘플 스킬을 배포할 수도 있습니다. 이 스킬을 사용하여 공유 장치 및 등록 된 사용자가 Alexa 스킬 저장소에 스킬을 게시하지 않고도 사용할 수 있습니다.

 

 

선제 요건

 

이 게시물의 단계를 완료하려면 다음 사항을 확인하여야 합니다.

 

  • Alexa Custom Skills에 대한 기본적인 이해는 여기에 설명된 샘플 스킬을 배치하는 데 도움이 됩니다. Alexa 사용자 정의 기술 개념 및 용어에 익숙하지 않은 경우 다음 documentation resources을 검토하십시오.
  • 하나 이상의 AWS 영역에서 GuardDuty가 활성화된 AWS 계정.
  • Amazon Echo와 같은 Alexa 지원 장치.
  • Amazon 개발자 계정.

 

 

솔루션 개요

 

이 다이어그램은 CloudFormation template이 샘플 Alexa 기술에 대해 람다 함수를 생성하는 방법을 보여줍니다.

 

 

다음은 다이어그램에서 보여주는 솔루션의 작동 방식입니다.

 

  1. 사용자는 “Alexa, ask GuardDuty”또는 “Alexa, open GuardDuty”라고 말하여 스킬을 실행 합니다.
  2. 스킬이 실행되면 사용자가 “플래시 브리핑 가져 오기”와 같은 지원 의도를 표시합니다.
  3. Alexa 서비스는 Lambda 함수를 사용하여 GuardDuty API를 호출하고 정보를 요청하는 사용자 지정 기술에 의도를 전달합니다.
  4. GuardDuty 서비스는 요청된 정보를 반환하고 람다 함수는 Alexa 서비스에 응답을 반환합니다.
  5. Alexa 서비스는 Alexa 지원 장치를 통해 오디오 응답을 전달합니다.

 

 

솔루션 배포

 

이 샘플 솔루션은 세 부분으로 구성됩니다.

 

  1. CloudFormation 템플릿을 사용하여 람다 함수를 배포합니다.
  2. Alexa 개발자 콘솔에서 사용자 정의 스킬을 만듭니다.
  3. Alexa 지원 장치를 사용하여 기술을 테스트 합니다.

 

 

CloudFormation 템플릿을 사용하여 Lambda 함수 배포

 

이 다음 단계에서는 모니터링 할 AWS 계정 내에 템플릿을 배포해야 합니다.

 

  1. 북부 Virginia 지역에 Lambda 함수를 배포하려면 (아래 참고 참조) 다음 링크를 클릭하여 제공되는 CloudFormation 템플릿을 사용해야 합니다. 제공된 템플릿을 로드 하십시오. CloudFormation 콘솔의 템플릿 선택 페이지에서 다음을 선택하십시오.

 

참고: 미국 동부(북 버지니아), 아시아 태평양(도쿄), EU (아일랜드), 서부 (오리건)지역은 Alexa 기술 호스팅이 지원 됩니다. 북 버지니아 이외의 지역에 배포하려는 경우, 먼저 선택한 지역의 S3버킷에 사용자 지정 스킬의 Lambda 배포 패키지(코드가 포함 된 zip 파일)를 업로드 해야합니다.

 

  1. 템플릿을 로드 한 후 다음 입력 매개 변수를 제공하십시오.
Input parameter 입력 매개 변수 설명
FLASHREGIONS 플래시 브리핑 통계에 포함 될 공백이 없는 쉼표로 구분 된 리전 ID 목록. 하나 이상의 지역이 필요함. 표시된 지역에서 GuardDuty가 활성화되어 있는지 확인.
MAXRESP 응답으로 반환 될 결과의 최대 개수.
ArtifactsBucket S3 Bucket (람다 배포 패키지가 있는 곳). 북 버지니아의 경우 기본값으로 둠.
ArtifactsPrefix 람다 배포 패키지가 있는 S3 버킷의 경로. 북부 버지니아의 경우 기본값으로 둠.

 

  1. Specify Details 페이지에서 입력 매개 변수를 입력하고(위 참조) 다음을 선택하십시오.

4. 옵션 페이지에서 기본값을 그대로 사용하고 다음을 선택합니다.

5. 리뷰 페이지에서 세부 정보를 확인한 다음 생성을 선택합니다. 스택은 약 2 분 후에 생성됩니다.

 

 

Alexa 개발자 콘솔에서 커스텀 스킬 만들기

이 솔루션 구현의 두 번째 파트는 Amazon Developer Console에서 스킬 생성하기 입니다.

1. Amazon Developer Console의 Alexa 영역에 로그인하고 오른쪽 상단에 있는 Your Alexa Consoles을 선택한 다음 스킬을 선택하십시오.
2. 스킬 생성을 선택합니다.
3. 이름으로 Ask Amazon GuardDuty를 입력 한 후 다음를 선택하십시오.
4. Choose a model to add to your skill 페이지에서 Custom을 선택한 다음 스킬 생성을 선택합니다.
5. JSON Editor를 선택하고 alexa_ask_guardduty_skill.json 파일의 내용을 코드 편집기에 붙여넣고 기존 내용을 덮어 씁니다. 이 파일은 서비스가 수용하고 처리 할 수 있는 인텐트 세트를 정의하는 intent schema를 포함합니다.

6. 모델 저장을 선택하고 Build Model을 선택한 다음 빌드가 완료되기를 기다립니다.
7. 모델 빌드가 완료되면 왼쪽에서 엔드포인트를 선택합니다.
8. 엔드포인트 페이지의 Service Endpoint Type 섹션에서 AWS Lambda ARN (Amazon Resource Name)을 선택합니다.
9. Default Region 필드에서 AlexaAskGDSkillArn라는 CloudFormation Stack Outputs 키의 값을 복사하여 붙여 넣습니다. 다른 옵션의 기본값은 그대로 두고 엔드포인트 저장을 선택합니다.

 

 

 

이 스킬을 게시하지 않을 것이므로, 구성의 Launch 섹션을 완료 할 필요가 없습니다. 이 기술은 “개발” 상태로 유지되며 기술을 만드는 데 사용 된 Amazon 개발자 계정에 연결된 Alexa 장치에서만 사용할 수 있습니다. 링크 된 Alexa 지원 장치에 물리적으로 액세스 할 수 있는 사용자는 누구나 사용자 정의 기술을 사용할 수 있습니다. 모범 사례로서는, CloudFormation 템플릿에서 만든 람다 트리거를 삭제하고 스킬 ID 확인 기능을 사용하는 새 트리거를 추가하는 것을 추천 드립니다.

 

 

Alexa 지원 장치를 사용하여 스킬 테스트하기

 

샘플 솔루션을 배포 했으므로, 다음 단계는 기술을 테스트하는 것입니다. 스킬 제작에 사용되는 Amazon 개발자 계정에 연결된 Alexa 지원 장치를 사용하고 있는지 한번 더 확인합니다. 테스트하기 전에, 사용 가능한 현재 GuardDuty 결과가 없는 경우, 콘솔에서 샘플 결과를 생성 할 수 있습니다. 샘플 결과를 생성하면 GuardDuty는 현재의 결과 목록에 지원되는 각 결과 유형별로 샘플 결과물을 덧붙입니다.

 

다음 음성 명령을 사용하여 테스트 할 수 있습니다.

 

  • “Alexa, Open GuardDuty”- 스킬을 열고, 웰컴 응답을 제공합니다. “Alexa, Ask GuardDuty”를 사용할 수도 있습니다.
  • “Get flash briefing” – 심각성이 낮음, 보통 및 높음에 대한 전체 및 지역 카운트를 제공합니다. FLASHREGIONS 매개 변수에 표시 된 영역이 포함됩니다. 웰컴 메시지를 생략하기 위해 “GuardDuty에게 플래시 브리핑을 요청하십시오” 를 사용할 수도 있습니다. 설명서에서 GuardDuty 심각성 레벨에 대해 자세히 알아볼 수 있습니다.

 

다음 명령 세트를 활용하여, 영역을 지정하고 <Virginia>, <Oregon>, <Ireland> 등과 같은 영역 이름을 사용할 수 있습니다.

 

  1. “Get statistics for region” – 낮음, 중간, 높음 심각성 판정 결과에 대한 지역 카운트를 제공합니다.
  2. Get findings for region” – 요청한 지역에 대한 결과. 리턴 된 결과의 수는 MAXRESP 매개 변수에서 구성됩니다.
  3. “Get <high/medium/low> severity findings for region” – 높음, 보통 또는 낮음으로 요청 된 최소 심각성 정보를 찾습니다. 리턴 된 결과의 수는 MAXRESP 매개 변수에서 구성됩니다.
  4. “Help” – 기술 및 지원되는 요청에 대한 정보를 제공합니다. 또한 FLASHREGIONS 및 MAXRESP에 대한 현재 구성을 제공합니다.

 

음성 응답 외에도, 이 기술은 Alexa Alexa mobile applicationHome Cards에 있는 응답 텍스트를 표시합니다.

 

 

결론

 

이 샘플 솔루션을 사용하여 Alexa 대화식 인터페이스를 통해 GuardDuty 통계 및 결과를 얻을 수 있습니다. 추가 조사가 빨리 필요한 결과를 식별 할 수 있습니다. 이 솔루션의 코드는 GitHub에서 찾을 수 있습니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/security/how-to-use-amazon-alexa-to-get-amazon-guardduty-statistics-and-findings/

** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.