Amazon CloudWatch를 사용한 모니터링 - AWS Key Management Service

Amazon CloudWatch를 사용한 모니터링

AWS KMS에서 원시 데이터를 수집하여 읽기 가능하며 실시간에 가까운 지표로 처리하는 Amazon CloudWatch를 통해 AWS KMS keys를 모니터링할 수 있습니다. 이러한 데이터는 2주간 기록되므로 기록 정보를 보고 KMS 키의 사용 상황과 시간에 따른 변화를 더 잘 이해할 수 있습니다. Amazon CloudWatch에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서를 참조하세요.

Amazon CloudWatch를 사용하여 다음과 같은 중요한 이벤트를 알릴 수 있습니다.

  • KMS 키의 가져온 키 구성 요소의 만료 날짜가 가까워졌습니다.

  • 삭제 보류 중인 KMS 키가 계속 사용되고 있습니다.

  • KMS 키의 키 구성 요소가 자동으로 교체되었습니다.

  • KMS 키가 삭제되었습니다.

요청 비율이 할당량 값의 일정 비율에 도달하면 경고하는 Amazon CloudWatch 경보를 생성할 수도 있습니다. 자세한 내용은 AWS 보안 블로그Service Quotas 및 Amazon CloudWatch를 사용하여 AWS KMS API 요청 비율 관리를 참조하세요.

AWS KMS 지표 및 차원

KMS 키로 키 구성 요소를 가져오고 만료되도록 설정하면 AWS KMS가 CloudWatch로 지표와 차원을 전송합니다. AWS Management Console 및 Amazon CloudWatch API를 사용하여 AWS KMS 지표를 볼 수 있습니다.

AWS KMS 지표

AWS/KMS 네임스페이스에는 다음 지표가 포함되어 있습니다.

SecondsUntilKeyMaterialExpiration

이 지표는 가져온 키 구성 요소(key material)가 만료될 때까지 남은 시간(초)을 추적합니다. 또한 출처가 EXTERNAL이고, 키 구성 요소가 만료되도록 설정되어 있거나 설정된 KMS 키에서만 유효합니다. 이 지표에서 가장 유용한 통계는 Minimum으로서 지정한 통계 기간 중 모든 데이터 포인트에 남아있는 시간이 가장 적다는 것을 의미합니다. 이 지표에서 유일하게 사용되는 유효 단위는 Seconds입니다.

이 지표는 가져온 키 구성 요소가 만료될 때까지 남아있는 시간을 추적하는 데 사용됩니다. 시간이 정의한 임계값보다 작은 경우에는 새로운 만료 날짜로 키 구성 요소를 다시 가져오는 등 원하는 작업을 할 수 있습니다. CloudWatch 경보를 생성하여 해당 시기를 알릴 수 있습니다. 자세한 정보는 AWS KMS 지표를 모니터링하여 CloudWatch 경보 생성 단원을 참조하십시오.

AWS KMS 지표의 차원

AWS KMS 지표는 AWS/KMS 네임스페이스를 사용하며, 유효한 차원은 KeyId가 유일합니다. 이 차원을 사용하여 특정 KMS 키 또는 KMS 키 집합에 대한 지표 데이터를 확인할 수 있습니다.

AWS KMS 지표는 어떻게 봅니까?

AWS Management Console 및 Amazon CloudWatch API를 사용하여 AWS KMS 지표를 볼 수 있습니다.

CloudWatch 콘솔을 사용하여 지표 보기

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 필요한 경우 리전을 변경합니다. 탐색 모음에서 AWS 리소스가 상주하는 리전을 선택합니다.

  3. 탐색 창에서 지표(Metrics)를 선택합니다.

  4. 콘텐츠 창에서 [All metrics] 탭을 선택합니다. 그런 다음 AWS 네임스페이스 아래에서 KMS를 선택합니다.

  5. [Per-Key Metrics]를 선택해 개별 지표와 차원을 확인합니다.

Amazon CloudWatch API를 사용하여 지표를 보려면

CloudWatch API를 사용하여 AWS KMS 지표를 보려면 NamespaceAWS/KMS로 설정된 ListMetrics 요청을 보냅니다. 다음 예에서는 AWS Command Line Interface(AWS CLI)에서 이 작업을 수행하는 방법을 보여줍니다.

$ aws cloudwatch list-metrics --namespace AWS/KMS

AWS KMS 지표를 모니터링하여 CloudWatch 경보 생성

지표 값이 변화하면 Amazon SNS 메시지를 보내고 경보가 상태를 변경하도록 하는 CloudWatch 경보를 만들 수 있습니다. 경보는 지정한 기간에 단일 지표를 감시하고 여러 기간에 지정된 임계값에 대한 지표 값을 기준으로 작업을 하나 이상 수행합니다. 이 작업은 Amazon SNS 주제 또는 Auto Scaling 정책으로 전송되는 알림입니다. 경보는 지속적인 상태 변경에 대해서만 작업을 호출합니다. CloudWatch 경보는 특정 상태에 있다는 이유만으로는 태스크를 호출하지 않습니다. 상태가 변경되고 지정한 기간 동안 유지되어야 합니다.

가져온 키 구성 요소의 만료 여부를 모니터링할 CloudWatch 경보 만들기

키 구성 요소를 KMS 키로 가져올 때 선택적으로 키 구성 요소의 만료 시간을 지정할 수 있습니다. 키 구성 요소가 만료되면, AWS KMS가 키 구성 요소를 삭제하고 KMS 키를 사용할 수 없게 됩니다. KMS 키를 다시 사용하려면 키 구성 요소를 다시 가져와야 합니다. 가져온 키 구성 요소가 만료하기까지 남은 시간이 정의한 임곗값(예: 10일) 미만으로 떨어질 때 알려주는 CloudWatch 경보를 생성할 수 있습니다. 이러한 경보를 통해 알림을 받으면 새로운 만료 날짜로 키 구성 요소를 다시 가져오는 등의 조치를 취하고 싶을 수 있습니다.

가져온 키 구성 요소의 만료 여부를 모니터링할 경보를 만들려면(AWS Management Console)

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 필요한 경우 리전을 변경합니다. 탐색 모음에서 AWS 리소스가 상주하는 리전을 선택합니다.

  3. 탐색 창에서 경보(Alarms)를 선택합니다. 그리고 경보 만들기를 선택합니다.

  4. [Browse Metrics]를 선택한 후 [KMS]를 선택합니다.

  5. 모니터링할 KMS 키의 키 ID 옆 확인란을 선택합니다.

  6. 아래쪽 창에서 메뉴를 이용해 [Statistic]을 [Minimum]으로, [Time period]를 [1 Minute]으로 변경합니다. 그리고 다음(Next)을 선택합니다.

  7. [Create Alarm] 창에서 다음과 같이 실행합니다.

    1. 이름에서 KeyMaterialExpiresSoon 같은 사용자 이름을 입력합니다.

    2. Whenever:에 이어 is:에서 <= 선택 후 임곗값으로 적용할 초를 입력합니다. 예를 들어 가져온 키 구성 요소가 만료될 때까지 남은 시간이 10일 이하일 때 알림을 받으려면 864000 입력을 하면 됩니다.

    3. for consecutive period(s)의 경우 필요에 따라 1 입력을 하면 됩니다.

    4. [Send notification to:]에서 다음 중 하나를 실시합니다.

      • 새로운 Amazon SNS 주제를 사용하려면 새 목록(New list)을 선택한 후 새 주제 이름을 입력합니다. 메일 주소 목록(Email list):에 이메일 주소를 하나 이상 입력합니다. 쉼표로 구분하여 두 개 이상의 이메일 주소를 입력할 수 있습니다.

      • 기존 Amazon SNS 주제를 사용하려면 사용할 주제의 이름을 선택합니다.

    5. 경보 생성(Create Alarm)을 선택합니다.

  8. 한 이메일 주소로 알림을 보내기로 선택한 경우 no-reply@sns.amazonaws.com에서 "AWS Notification - Subscription Confirmation"이라는 제목으로 수신한 이메일 메시지를 엽니다. 이메일 메시지의 [Confirm subscription] 링크를 선택해 이메일 주소를 확인합니다.

    중요

    이메일 주소를 확인한 후부터 이메일 알림을 받게 됩니다.

삭제 보류 중인 KMS 키 사용을 모니터링할 CloudWatch 경보 만들기

KMS 키에 키 삭제를 예약하면 AWS KMS가 KMS 키를 삭제하기 전에 대기 기간을 적용합니다. 현재 또는 향후에 KMS 키가 필요하지 않도록 하기 위해 대기 기간을 사용할 수 있습니다. 사람이나 애플리케이션이 대기 기간 중에 KMS 키를 사용하려고 할 때 경고하도록 CloudWatch 경보를 구성할 수도 있습니다. 이러한 경보를 통해 알림을 받으면 KMS 키의 삭제를 취소하고 싶을 수 있습니다.

자세한 정보는 삭제 보류 중인 AWS KMS key의 사용량을 감지하는 Amazon CloudWatch 경보 생성을 참조하십시오.

AWS KMS 이벤트

AWS KMS는 Amazon CloudWatch Events와 통합되어 KMS 키에 영향을 미치는 특정 이벤트를 알려줍니다. 각 이벤트는 JSON(JavaScript Object Notation)으로 표시되며, 이벤트 이름, 이벤트가 발생한 날짜와 시간, 영향 받는 KMS 키 등을 포함합니다. CloudWatch Event를 사용하여 이러한 이벤트를 수집하고 AWS Lambda 함수, Amazon SNS 주제, Amazon SQS 대기열, Amazon Kinesis Data Streams의 스트림 또는 기본 제공 대상과 같은 하나 이상의 대상으로 라우팅하는 규칙을 설정할 수 있습니다.

AWS CloudTrail가 읽기/쓰기 API 요청을 기록할 때 내보낸 이벤트를 포함하여 다른 종류의 이벤트와 함께 CloudWatch Events를 사용하는 방법에 대한 자세한 내용은 Amazon CloudWatch Events 사용 설명서를 참조하세요.

다음 주제에서는AWS KMS에서 만드는 CloudWatch Events에 대해 설명합니다.

KMS CMK 로테이션

AWS KMS는 대칭 KMS 키에서 키 구성 요소의 자동 교체를 지원합니다. 연간 키 구성 요소 교체는 고객 관리형 키의 경우 선택 사항입니다. AWS 관리형 키에 대한 키 구성 요소는 매년 자동으로 교체됩니다.

AWS KMS가 키 구성 요소를 교체할 때마다 KMS CMK Rotation 이벤트를 CloudWatch Events로 보냅니다. AWS KMS는 최선의 작업을 기반으로 이 이벤트를 생성합니다.

다음은 이 이벤트의 예입니다.

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "KMS CMK Rotation", "source": "aws.kms", "account": "111122223333", "time": "2016-08-25T21:05:33Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }

KMS가 가져온 키 자료 만료

키 구성 요소를 KMS 키로 가져올 때 선택적으로 키 구성 요소의 만료 시간을 지정할 수 있습니다. 키 구성 요소가 만료되면 AWS KMS는 키 구성 요소를 삭제하고 해당 KMS Imported Key Material Expiration 이벤트를 CloudWatch Events로 보냅니다. AWS KMS는 최선의 작업을 기반으로 이 이벤트를 생성합니다.

다음은 이 이벤트의 예입니다.

{ "version": "0", "id": "9da9af57-9253-4406-87cb-7cc400e43465", "detail-type": "KMS Imported Key Material Expiration", "source": "aws.kms", "account": "111122223333", "time": "2016-08-22T20:12:19Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }

KMS CMK 삭제

KMS 키에 키 삭제를 예약하면 AWS KMS가 KMS 키를 삭제하기 전에 대기 기간을 적용합니다. 대기 기간이 끝나면 AWS KMS는 KMS 키를 삭제하고 KMS CMK Deletion 이벤트를 CloudWatch Events로 보냅니다. AWS KMS가 이 CloudWatch 이벤트를 보장합니다. 재시도로 인해 몇 초 내에 여러 개의 이벤트가 생성되어 동일한 KMS 키가 삭제될 수 있습니다.

다음은 이 이벤트의 예입니다.

{ "version": "0", "id": "e9ce3425-7d22-412a-a699-e7a5fc3fbc9a", "detail-type": "KMS CMK Deletion", "source": "aws.kms", "account": "111122223333", "time": "2016-08-19T03:23:45Z", "region": "us-west-2", "resources": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "detail": { "key-id": "1234abcd-12ab-34cd-56ef-1234567890ab" } }