예정된 AWS KMS 키 삭제 모니터링 및 문제 해결 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예정된 AWS KMS 키 삭제 모니터링 및 문제 해결

작성자: Mikesh Khanal(AWS), Ramya Pulipaka(AWS)

환경: 프로덕션

기술: 보안, 자격 증명, 규정 준수, DevOps

AWS 서비스: 아마존 SNS, AWS CloudTrail, 아마존 CloudWatch

요약

Amazon Web Services(AWS) 클라우드에서 AWS Key Management Service(AWS KMS) 키를 삭제하면 데이터가 손실될 수 있습니다. 삭제하면 AWS KMS 키와 연결된 키 자료 및 모든 메타데이터가 제거되며 이 작업은 되돌릴 수 없습니다. AWS KMS 키가 삭제되면 더 이상 해당 AWS KMS 키로 암호화된 데이터를 해독할 수 없으므로 데이터를 복구할 수 없습니다.

이 패턴은 애플리케이션 또는 사용자가 AWS KMS 키를 삭제하도록 예약할 때 알림을 통해 모니터링을 설정합니다. 알림을 받는 경우 AWS KMS 키 삭제를 취소하고 삭제 결정을 재고해 볼 수 있습니다. 이 패턴은 AWS Systems Manager 자동화 AWSConfigRemediation CancelKeyDeletion 런북을 사용하여 AWS KMS 키 삭제를 쉽게 취소할 수 있습니다.

참고: AWS KMS 키 삭제를 모니터링하려는 모든 AWS 지역에 패턴 CloudFormation 템플릿을 배포해야 합니다.

사전 조건 및 제한 사항

사전 조건

  • 활성 상태의 AWS 계정

  • 다음과 같은 AWS 서비스에 대한 이해: 

    • 아마존 EventBridge

    • AWS KMS

    • Amazon Simple Notification Service(Amazon SNS)

    • AWS Systems Manager

제한 사항

  • 솔루션을 사용자 지정하려면 이 패턴에 사용되는 AWS CloudFormation 템플릿과 AWS 서비스에 대한 지식이 필요합니다.

  • 현재 이 솔루션은 기본 이벤트 버스를 사용하며 요구 사항에 따라 사용자 지정할 수 있습니다. 사용자 지정 이벤트 버스에 대한 자세한 내용은 AWS 설명서를 참조하세요.

아키텍처

대상 기술 스택  

  • 아마존 EventBridge

  • AWS KMS

  • Amazon SNS

  • AWS Systems Manager

  • 다음을 사용하는 자동화:

    • AWS Command Line Interface(AWS CLI) 또는 AWS SDK

    • AWS CloudFormation 스택

대상 아키텍처 

모니터링, 경고 및 수정 프로세스의 5단계 다이어그램.
  1. AWS KMS 키 삭제가 예정되어 있습니다.

  2. 예약 삭제 이벤트는 규칙에 따라 평가됩니다. EventBridge

  3. 이 EventBridge 규칙은 Amazon SNS 주제를 다룹니다.

  4. 이 EventBridge 규칙은 Systems Manager 자동화 및 런북을 시작합니다.

  5. 런북은 삭제를 취소합니다.

자동화 및 규모 조정

CloudFormation 스택은 이 솔루션이 작동하는 데 필요한 모든 리소스와 서비스를 배포합니다. 패턴은 단일 계정에서 독립적으로 실행하거나 여러 독립 계정 또는 조직에 CloudFormation StackSets 대해 AWS를 사용하여 실행할 수 있습니다.

aws cloudformation create-stack --stack-name  <stack-name>\     --template-body file://<Full-Path-of-file> \     --parameters ParameterKey=,ParameterValue= \ --capabilities CAPABILITY_NAMED_IAM

도구

도구

  • AWS CloudFormation — CloudFormation AWS는 Amazon Web Services 리소스를 모델링하고 설정하여 리소스를 관리하는 시간을 줄이고 AWS에서 실행되는 애플리케이션에 더 많은 시간을 집중할 수 있도록 지원하는 서비스입니다. CloudFormation 템플릿을 사용하여 AWS 지역의 AWS 계정에 스택을 생성할 수 있습니다. 템플릿은 사용자가 원하는 모든 AWS 리소스를 설명하고 해당 리소스를 자동으로 CloudFormation 프로비저닝 및 구성합니다.

  • AWS CLI – AWS Command Line Interface(AWS CLI)는 명령줄 쉘에서 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다.

  • Amazon EventBridge — EventBridge Amazon은 애플리케이션을 다양한 소스의 데이터와 연결하는 서버리스 이벤트 버스 서비스입니다. EventBridge 자체 애플리케이션 및 AWS 서비스의 실시간 데이터 스트림을 제공하고 해당 데이터를 AWS Lambda와 같은 대상으로 라우팅합니다. EventBridge 이벤트 기반 아키텍처 구축 프로세스를 간소화합니다.

  • AWS KMS - AWS Key Management Service(AWS KMS)는 데이터 암호화에 사용하는 암호화 키인 AWS KMS 키를 생성하고 제어하는 관리형 서비스입니다.

  • AWS SDK - AWS 도구에는 원하는 프로그래밍 언어로 AWS에서 애플리케이션을 개발하고 관리할 수 있는 SDK가 포함되어 있습니다.

  • Amazon SNS – Amazon Simple Notification Service(SNS)는 게시자에서 구독자(생산자 및 소비자라고도 함)로 메시지를 전송하는 관리형 서비스입니다. 게시자는 논리적 액세스 지점 및 커뮤니케이션 채널인 주제에 메시지를 전송하여 구독자와 비동기식으로 통신합니다. 

  • AWS Systems Manager – AWS Systems Manager는 AWS에서 인프라를 보고 제어하기 위해 사용할 수 있는 AWS 서비스입니다. Systems Manager 콘솔을 사용하여 AWS 리소스에서 운영 태스크를 자동화할 수 있습니다. Systems Manager는 관리형 인스턴스를 검사하고 탐지된 정책 위반을 보고하거나 시정 조치를 취해서 보안 및 규정 준수를 유지하는 데 도움이 됩니다. 

code

  • 프로젝트 alerting_ct_logs.yaml CloudFormation 템플릿이 첨부되었습니다.

에픽

작업설명필요한 기술

AWS CLI를 설치하고 구성합니다.

AWS CLI 버전 2를 설치합니다. 그런 다음 자격 증명, 기본 출력 형식 및 AWS CLI가 AWS와 상호 작용하는 데 사용하는 기본 AWS 리전에 대한 보안 보안 인증 정보 설정을 구성합니다.

자격 증명에는 작업을 수행하는 데 필요한 권한이 있어야 합니다.

개발자, 보안 엔지니어
작업설명필요한 기술

CloudFormation 템플릿을 다운로드하세요.

첨부 파일을 컴퓨터의 로컬 경로에 다운로드하고 alerting_ct_logs.yaml 템플릿 파일을 추출합니다.

개발자, 보안 엔지니어

템플릿을 배포합니다.

AWS 계정 프로필이 구성된 터미널 창에서 다음 명령을 실행합니다.

aws cloudformation create-stack --stack-name <stack_name> \ --capabilities <Value> \ --template-body file://<Full_Path> \ --parameters ParameterKey=DestinationEmailAddress,ParameterValue=<Value> \ ParameterKey=SNSTopicName,ParameterValue=<Value> \ ParameterKey=EnableRemediation ,ParameterValue=<Value> \ ParameterKey=AutomationAssumeRole,ParameterValue=<Value>

다음 단계에서 템플릿 파라미터 값을 입력합니다.

개발자, 보안 엔지니어

템플릿 파라미터를 작성합니다.

파라미터에 필요한 값을 입력합니다.

  • DestinationEmailAddress - AWS KMS 키가 삭제될 예정인 경우 알림을 받을 이메일 주소입니다.

  • SNSTopicName - Amazon SNS 주제의 이름.

  • EnableRemediation - Systems Manager 런북을 사용하여 예약된 키 삭제를 취소합니다. 허용되는 값은 truefalse입니다.

  • AutomationAssumeRole – Systems Manager 자동화가 사용자를 대신하여 작업을 수행하도록 허용하는 역할의 Amazon 리소스 이름(ARN)입니다. 자세한 내용은 AWSConfigRemediation- CancelKeyDeletion 설명서의 필수 IAM 권한 섹션을 참조하십시오. 

  • CapabilitiesAWS에서 CloudFormation 스택을 생성하려면 스택 템플릿에 특정 기능이 포함되어 있음을 명시적으로 인정해야 합니다.

개발자, 보안 엔지니어
작업설명필요한 기술

구독을 확인합니다.

이메일 받은 편지함을 확인하고 Amazon SNS에서 받은 이메일 메시지에서 구독 확인을 선택합니다. 웹 브라우저 창이 열리고 구독 확인과 구독 ID가 표시됩니다. 

개발자, 보안 엔지니어

관련 리소스

참조

튜토리얼 및 동영상

AWS 워크숍

추가 정보

다음 코드는 AWS 서비스의 변경 사항을 모니터링하고 알리도록 솔루션을 확장하는 예제를 제공합니다. 예제에는 사전 정의된 패턴과 사용자 지정 패턴이 포함됩니다. 자세한 내용은 의 이벤트 및 이벤트 패턴을 참조하십시오 EventBridge.

EventPattern:         source:         - aws.kms         detail-type:         - AWS API Call via CloudTrail         detail:           eventSource:           - kms.amazonaws.com           eventName:           - ScheduleKeyDeletion

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.