

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

# 예정된 AWS KMS 키 삭제 모니터링 및 문제 해결
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys"></a>

*Mikesh Khanal, Ramya Pulipaka, Amazon Web Services*

## 요약
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-summary"></a>

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

이 패턴은 애플리케이션 또는 사용자가 AWS KMS 키를 삭제하도록 예약할 때 알림을 통해 모니터링을 설정합니다. 알림을 받는 경우 AWS KMS 키 삭제를 취소하고 삭제 결정을 재고해 볼 수 있습니다. 이 패턴은 AWS Systems Manager Automation 런북 [AWSConfigRemediation-CancelKeyDeletion](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-cancel-key-deletion.html)을 사용하여 AWS KMS 키 삭제를 쉽게 취소할 수 있습니다.

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

## 사전 조건 및 제한 사항
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-prereqs"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정
+ 다음과 같은 AWS 서비스에 대한 이해: 
  + Amazon EventBridge
  + KMS
  + Amazon Simple Notification Service(Amazon SNS)
  + AWS Systems Manager

**제한 사항 **
+ 솔루션을 사용자 지정하려면 AWS CloudFormation 템플릿과 이 패턴에 사용되는 AWS 서비스에 대한 지식이 필요합니다.
+ 현재 이 솔루션은 기본 이벤트 버스를 사용하며 요구 사항에 따라 사용자 지정할 수 있습니다. 사용자 지정 이벤트 버스에 대한 자세한 내용은 [AWS 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html)를 참조하세요.

## 아키텍처
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-architecture"></a>

**대상 기술 스택  **
+ Amazon EventBridge
+ KMS
+ Amazon SNS
+ AWS Systems Manager
+ 다음을 사용하는 자동화:
  + AWS Command Line Interface(AWS CLI) 또는 AWS SDK
  + AWS CloudFormation 스택

**대상 아키텍처**

![\[모니터링, 경고 및 수정 프로세스의 5단계 다이어그램.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/56927ebc-bbf7-49cc-9ad2-b2e0dff1201c/images/32537a66-037a-45a1-af19-3bc7bc26eaa6.png)


1. AWS KMS 키 삭제가 예정되어 있습니다.

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

1. EventBridge 규칙은 Amazon SNS 주제와 관련이 있습니다.

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

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

**자동화 및 규모 조정**

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

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

## 도구
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-tools"></a>

**도구**
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/) – AWS CloudFormation은 Amazon Web Services 리소스를 모델링하고 설정하여 리소스 관리 시간을 줄이고 AWS에서 실행되는 애플리케이션에 더 많은 시간을 사용하도록 해 주는 서비스입니다. CloudFormation 템플릿을 사용하여 AWS 리전의 AWS 계정에 스택을 생성할 수 있습니다. 템플릿은 원하는 모든 AWS 리소스를 설명하고 CloudFormation은 해당 리소스를 프로비저닝하고 구성합니다.
+ [AWS CLI](https://docs.aws.amazon.com/cli/?id=docs_gateway) – AWS Command Line Interface(AWS CLI)는 명령줄 쉘에서 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) – Amaxon EventBridge는 애플리케이션을 다양한 소스의 데이터와 연결하기 위한 서버리스 이벤트 버스 서비스입니다. EventBridge는 자체 애플리케이션 및 AWS 서비스에서 실시간 데이터 스트림을 제공하고 해당 데이터를 AWS Lambda와 같은 대상으로 라우팅합니다. EventBridge는 이벤트 기반 아키텍처를 구축하는 프로세스를 단순화합니다.
+ [AWS KMS](https://aws.amazon.com/kms/) - AWS Key Management Service(AWS KMS)는 데이터 암호화에 사용하는 암호화 키인 AWS KMS 키를 생성하고 제어하는 관리형 서비스입니다.
+ [AWS SDK](https://aws.amazon.com/tools/?id=docs_gateway) - AWS 도구에는 원하는 프로그래밍 언어로 AWS에서 애플리케이션을 개발하고 관리할 수 있는 SDK가 포함되어 있습니다.
+ [Amazon SNS](https://aws.amazon.com/sns/) – Amazon Simple Notification Service(SNS)는 게시자에서 구독자(생산자 및 소비자라고도 함)로 메시지를 전송하는 관리형 서비스입니다. 게시자는 논리적 액세스 지점 및 커뮤니케이션 채널인 주제에 메시지를 전송하여 구독자와 비동기식으로 통신합니다. 
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) – AWS Systems Manager는 AWS에서 인프라를 보고 제어하기 위해 사용할 수 있는 AWS 서비스입니다. Systems Manager 콘솔을 사용하여 AWS 리소스에서 운영 태스크를 자동화할 수 있습니다. Systems Manager는 관리형 인스턴스를 검사하고 탐지된 정책 위반을 보고하거나 시정 조치를 취해서 보안 및 규정 준수를 유지하는 데 도움이 됩니다. 

**코드**
+ 프로젝트의 `alerting_ct_logs.yaml` CloudFormation 템플릿이 첨부되어 있습니다.

## 에픽
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-epics"></a>

### AWS 계정 준비
<a name="prepare-the-aws-account"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| AWS CLI를 설치하고 구성합니다. | AWS CLI 버전 2를 설치합니다. 그런 다음 자격 증명, 기본 출력 형식 및 AWS CLI가 AWS와 상호 작용하는 데 사용하는 기본 AWS 리전에 대한 보안 보안 인증 정보 설정을 구성합니다.자격 증명에는 작업을 수행하는 데 필요한 권한이 있어야 합니다. | 개발자, 보안 엔지니어 | 

### AWS CloudFormation 템플릿 배포
<a name="deploy-the-aws-cloudformation-template"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| CloudFormation 템플릿을 다운로드합니다. | 첨부 파일을 컴퓨터의 로컬 경로에 다운로드하고 `alerting_ct_logs.yaml` 템플릿 파일을 추출합니다. | 개발자, 보안 엔지니어 | 
| 템플릿을 배포합니다. | AWS 계정 프로필이 구성된 터미널 창에서 다음 명령을 실행합니다.<pre>aws cloudformation create-stack --stack-name <stack_name> \<br />--capabilities <Value>  \<br />--template-body file://<Full_Path> \<br /> --parameters ParameterKey=DestinationEmailAddress,ParameterValue=<Value> \<br />ParameterKey=SNSTopicName,ParameterValue=<Value> \<br />ParameterKey=EnableRemediation ,ParameterValue=<Value> \<br />ParameterKey=AutomationAssumeRole,ParameterValue=<Value></pre>다음 단계에서 템플릿 파라미터 값을 입력합니다. | 개발자, 보안 엔지니어 | 
| 템플릿 파라미터를 작성합니다. | 파라미터에 필요한 값을 입력합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/monitor-and-remediate-scheduled-deletion-of-aws-kms-keys.html) | 개발자, 보안 엔지니어 | 

### 구독 확인
<a name="confirm-the-subscription"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 구독을 확인합니다. | 이메일 받은 편지함을 확인하고 Amazon SNS에서 받은 이메일 메시지에서 **구독 확인**을 선택합니다. 웹 브라우저 창이 열리고 구독 확인과 구독 ID가 표시됩니다.  | 개발자, 보안 엔지니어 | 

## 관련 리소스
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-resources"></a>

**참조**
+ [AWS 서비스를 위한 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html)
+ [삭제 보류 중인 AWS KMS 키의 사용을 감지하기 위해 Amazon CloudWatch 경보 생성](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-creating-cloudwatch-alarm.html)

**자습서 및 동영상**
+ [Amazon EventBridge를 시작하는 방법](https://www.youtube.com/watch?v=ea9SCYDJIm4)
+ [Amazon EventBridge 심층 분석](https://www.youtube.com/watch?v=28B4L1fnnGM)(AWS 온라인 테크 토크)

**AWS 워크숍**
+ [EventBridge 규칙을 사용한 작업](https://event-driven-architecture.workshop.aws/2-event-bridge/2-rules/rules.html)

## 추가 정보
<a name="monitor-and-remediate-scheduled-deletion-of-aws-kms-keys-additional"></a>

다음 코드는 AWS 서비스의 변경 사항을 모니터링하고 알리도록 솔루션을 확장하는 예제를 제공합니다. 예제에는 사전 정의된 패턴과 사용자 지정 패턴이 포함됩니다. 자세한 내용은 [EventBridge의 이벤트 및 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)을 참조하세요.

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

## 첨부
<a name="attachments-56927ebc-bbf7-49cc-9ad2-b2e0dff1201c"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/56927ebc-bbf7-49cc-9ad2-b2e0dff1201c/attachments/attachment.zip) 파일의 압축을 풉니다.