Amazon CloudWatch를 사용하여 KMS 키 모니터링 - AWS Key Management Service

Amazon CloudWatch를 사용하여 KMS 키 모니터링

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

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

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

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

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

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

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

AWS KMS 지표 및 차원

AWS KMS는 중요한 데이터를 쉽게 모니터링하고 경보를 생성할 수 있도록 Amazon CloudWatch 지표를 사전 정의합니다. AWS Management 콘솔 및 Amazon CloudWatch API를 사용하여 AWS KMS 지표를 볼 수 있습니다.

이 섹션에서는 각 AWS KMS 지표와 각 지표의 차원을 나열하고 이러한 지표와 차원을 기반으로 CloudWatch 경보를 생성하는 몇 가지 기본 지침을 제공합니다.

참고

차원 그룹 이름:

Amazon CloudWatch 콘솔에서 지표를 보려면 Metrics(지표) 섹션에서 차원 그룹 이름을 선택합니다. 그런 다음 Metric name(지표 이름)으로 필터링할 수 있습니다. 이 주제에는 각 AWS KMS 지표에 대한 지표 이름과 차원 그룹 이름이 포함됩니다.

AWS Management 콘솔 및 Amazon CloudWatch API를 사용하여 AWS KMS 지표를 볼 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용 설명서사용 가능한 지표 보기를 참조하세요.

SuccessfulRequest

특정 KMS 키에 대한 암호화 작업 요청이 성공한 횟수입니다. SuccessfulRequest 지표를 사용하면 CloudWatch의 AWS KMS API 사용량에 키 수준 필터링을 적용할 수 있습니다. 이 지표의 Sum 통계는 해당 기간 동안의 성공적인 요청 수 전체를 나타냅니다.

이 지표를 사용해 요청 할당량 중 가장 큰 비중을 사용하거나 API 비용에 가장 많이 기여하는 KMS 키를 식별하세요. SuccesfulRequest 지표를 기반으로 CloudWatch 알람을 생성해 비정상적인 AWS KMS API 사용 패턴에 대한 알림을 받을 수 있습니다. 이러한 알림은 요청 할당량을 의도치 않게 초과하거나 예상치 못한 비용을 발생시킬 수 있는 비효율적인 워크플로를 식별하는 데 도움이 됩니다.

의 차원SuccessfulRequest

차원 설명
KeyArn 각 KMS 키의 값입니다.
작업 각 AWS KMS API 작업에 대한 값입니다. 이 지표는 암호화 작업에만 적용됩니다.

ReEncrypt 작업의 경우 SuccessfulRequest 지표에는 소스 KMS 키와 대상 KMS 키에 대한 차원이 모두 포함됩니다.

차원 설명
SourceKeyArn 사이퍼텍스트를 복호화한 KMS 키의 값입니다.
DestinationKeyArn 데이터를 다시 암호화한 KMS 키에 대한 값입니다.
작업 각 AWS KMS API 작업의 값입니다(이 경우 ReEncrypt).

SecondsUntilKeyMaterialExpiration

KMS 키에서 가장 먼저 만료되는 가져온 키 구성 요소가 만료될 때까지 남은 시간(초)입니다. 이 지표는 가져온 키 구성 요소(EXTERNAL키 구성 요소 오리진)와 만료 날짜가 있는 KMS 키에만 유효합니다.

이 지표를 사용해 가장 먼저 만료되는 가져온 키 구성 요소가 만료되기까지 남은 시간을 추적하세요. 해당 시간이 사용자가 정의한 임곗값보다 작아지면 KMS 키를 계속 사용할 수 있도록 새 만료 날짜를 지정해 키 구성 요소를 다시 가져와야 합니다. SecondsUntilKeyMaterialExpiration 지표는 KMS 키에만 해당합니다. 이 지표를 사용하여 향후 생성할 수 있는 KMS 키를 하나 또는 그 이상 모니터링할 수는 없습니다. 이 지표를 모니터링하기 위해 CloudWatch 경보를 생성하는 방법에 대한 도움말은 가져온 키 구성 요소의 만료 여부에 대한 CloudWatch 경보 생성 섹션을 참조하세요.

이 지표에서 가장 유용한 통계는 Minimum으로서 지정한 통계 기간 중 모든 데이터 포인트에 남아있는 시간이 가장 적다는 것을 의미합니다. 이 지표에서 유일하게 사용되는 유효 단위는 Seconds입니다.

차원 그룹 이름: Per-Key Metrics(키별 지표)

SecondsUntilKeyMaterialExpiration의 차원
차원 설명(AWS 관련)
KeyId 각 KMS 키의 값입니다.

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

지침은 삭제 보류 중인 KMS 키 사용을 감지하는 경보 생성 섹션을 참조하세요.

CloudHSMKeyStoreThrottle

AWS KMS가 스로틀링하는 각 AWS CloudHSM 키 저장소의 KMS 키에 대한 암호화 작업 요청 수(ThrottlingException으로 응답). 이 지표는 AWS CloudHSM 키 저장소에만 적용됩니다.

CloudHSMKeyStoreThrottle 지표는 AWS CloudHSM 키 저장소의 KMS 키에만 적용되며 암호화 작업 요청에만 적용됩니다. 요청 비율이 AWS CloudHSM 키 저장소의 사용자 지정 키 저장소 요청 할당량을 초과하면 AWS KMS는 이러한 요청을 스로틀링합니다. 이 지표에는 AWS CloudHSM 클러스터에 의한 스로틀링도 포함됩니다.

차원 그룹 이름: Keystore Throttle Metrics(키 스토어 제한 지표)

차원 설명
CustomKeyStoreId 각 AWS CloudHSM 키 저장소의 값입니다.
KmsOperation 각 AWS KMS API 작업에 대한 값입니다. 이 지표는 AWS CloudHSM 키 저장소에 있는 KMS 키에 대한 암호화 작업에만 적용됩니다.
KeySpec 각 KMS 키 유형의 값입니다. AWS CloudHSM 키 저장소에서 KMS 키에 대해 지원되는 유일한 키 사양은 SYMMETRIC_DEFAULT입니다.

ExternalKeyStoreThrottle

AWS KMS가 제한하는 각 외부 키 스토어의 KMS 키에 대한 암호화 작업 요청 수(ThrottlingException으로 응답). 이 지표는 외부 키 스토어에만 적용됩니다.

ExternalKeyStoreThrottle 지표는 외부 키 저장소의 KMS 키에만 적용되며, 암호화 작업 요청에만 적용됩니다. 요청 속도가 외부 키 저장소의 사용자 지정 키 저장소 요청 할당량을 초과하면 AWS KMS에서 이러한 요청을 스로틀링합니다. 이 지표에는 외부 키 스토어 프록시 또는 외부 키 관리자에 의한 제한이 포함되지 않습니다.

이 지표를 사용하여 사용자 지정 키 저장소 요청 할당량의 값을 검토하고 조정하세요. 이 지표가 AWS KMS가 이러한 KMS 키에 대한 요청을 자주 제한하고 있음을 나타내면 사용자 지정 키 스토어 요청 할당량 값의 증가 요청을 고려할 수 있습니다. 도움이 필요한 경우 Service Quotas 사용 설명서의 할당량 증가 요청을 참조하세요.

'매우 높은 요청 빈도로 인해' 또는 '외부 키 스토어 프록시가 제때 응답하지 않아' 요청이 거부되었음을 설명하는 메시지와 함께 KMSInvalidStateException 오류가 매우 자주 발생하는 경우 외부 키 관리자 또는 외부 키 스토어 프록시가 현재 요청 빈도를 따라갈 수 없는 것일 수 있습니다. 가능하면 요청 빈도를 낮춥니다. 사용자 지정 키 스토어 요청 할당량 값의 감소를 요청하는 것도 고려할 수 있습니다. 이 할당량 값 감소는 제한과 ExternalKeyStoreThrottle 지표 값을 늘릴 수 있지만 이는 AWS KMS가 초과 요청이 외부 키 스토어 프록시 또는 외부 키 관리자로 전송되기 전에 해당 요청을 신속하게 거부하고 있음을 나타냅니다. 할당량 감소를 요청하기 위해서는 AWS Support 센터를 방문하여 케이스를 생성하세요.

차원 그룹 이름: Keystore Throttle Metrics(키 스토어 제한 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.
KmsOperation 각 AWS KMS API 작업에 대한 값입니다. 이 지표는 외부 키 저장소에 있는 KMS 키에 대한 암호화 작업에만 적용됩니다.
KeySpec 각 KMS 키 유형의 값입니다. 외부 키 스토어에서 KMS 키에 대해 지원되는 유일한 키 사양은 SYMMETRIC_DEFAULT입니다.

XksProxyCertificateDaysToExpire

외부 키 스토어 프록시 엔드포인트(XksProxyUriEndpoint)에 대한 TLS 인증서가 만료될 때까지의 일수입니다. 이 지표는 외부 키 스토어에만 적용됩니다.

TLS 인증서의 예정된 만료를 알리는 CloudWatch 경보를 생성하려면 이 지표를 사용합니다. 인증서가 만료되면 AWS KMS는 외부 키 스토어 프록시와 통신할 수 없습니다. 외부 키 스토어의 KMS 키로 보호되는 모든 데이터는 인증서를 갱신할 때까지 액세스할 수 없습니다.

인증서 경보는 암호화된 리소스에 액세스하지 못하게 할 수 있는 인증서 만료를 방지합니다. 인증서가 만료되기 전에 인증서를 갱신할 시간을 조직에 제공하도록 경보를 설정합니다.

차원 그룹 이름: XKS Proxy Certificate Metrics(XKS 프록시 인증서 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.
CertificateName TLS 인증서의 주체 이름(CN)입니다.

외부 키 스토어와 외부 키 스토어의 KMS 키에 대한 지표를 기반으로 CloudWatch 경보를 생성할 수 있습니다. 지침은 외부 키 저장소 모니터링 섹션을 참조하세요.

XksProxyCredentialAge

현재 외부 키 스토어 프록시 인증 자격 증명(XksProxyAuthenticationCredential)이 외부 키 스토어와 연결된 이후의 일수입니다. 이 수는 외부 키 스토어를 만들거나 업데이트하는 과정에서 인증 자격 증명을 입력할 때 시작됩니다. 이 지표는 외부 키 스토어에만 적용됩니다.

이 값은 인증 자격 증명의 사용 기간을 알리도록 설계되었습니다. 그러나 외부 키 스토어 프록시에 인증 자격 증명을 생성할 때가 아니라 외부 키 스토어에 자격 증명을 연결할 때 계산을 시작하기 때문에 프록시의 자격 증명 사용 기간에 대한 정확한 지표가 아닐 수 있습니다.

이 지표를 사용하여 외부 키 스토어 프록시 인증 자격 증명을 교체하라고 알려주는 CloudWatch 경보를 생성합니다.

차원 그룹 이름: Per-Keystore Metrics(키 스토어별 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.

외부 키 스토어와 외부 키 스토어의 KMS 키에 대한 지표를 기반으로 CloudWatch 경보를 생성할 수 있습니다. 지침은 외부 키 저장소 모니터링 섹션을 참조하세요.

XksProxyErrors

외부 키 스토어 프록시에 대한 AWS KMS 요청과 관련된 예외 수입니다. 이 수에는 외부 키 스토어 프록시가 AWS KMS에 반환하는 예외와 외부 키 스토어 프록시가 250밀리초 제한 시간 간격 내에 AWS KMS에 응답하지 않을 때 발생하는 제한 시간 오류가 포함됩니다. 이 지표는 외부 키 스토어에만 적용됩니다.

이 지표를 사용하여 외부 키 스토어에서 KMS 키의 오류율을 추적합니다. 이 지표는 가장 자주 발생하는 오류를 표시하므로 엔지니어링 작업의 우선 순위를 지정할 수 있습니다. KMS 키에서 생성하는 재시도할 수 없는 오류율이 높으면 외부 키 스토어의 구성에 문제가 있는 것일 수 있습니다. 외부 키 스토어 구성을 보려면 외부 키 저장소 보기 섹션을 참조하세요. 외부 키 스토어 설정을 편집하려면 외부 키 저장소 속성 편집 섹션을 참조하세요.

차원 그룹 이름: XKS Proxy Error Metrics(XKS 프록시 오류 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.
KmsOperation XKS 프록시에 대한 요청을 생성한 각 AWS KMS API 작업의 값입니다.
XksOperation 외부 키 스토어 프록시 API 작업의 값입니다.
KeySpec 각 KMS 키 유형의 값입니다. 외부 키 스토어에서 KMS 키에 대해 지원되는 유일한 키 사양은 SYMMETRIC_DEFAULT입니다.
ErrorType 값:
  • 재시도할 수 있는 오류: 네트워킹 오류와 같이 일시적일 수 있습니다.

  • 재시도할 수 없는 오류: 사용자 지정 키 스토어 구성 또는 외부 구성 요소에 문제가 있는 것일 수 있습니다.

  • 해당 사항 없음: 성공한 요청, 오류 없음

ExceptionName

값:

  • 예외 이름

  • 없음: 성공한 요청, 오류 없음

외부 키 스토어와 외부 키 스토어의 KMS 키에 대한 지표를 기반으로 CloudWatch 경보를 생성할 수 있습니다. 지침은 외부 키 저장소 모니터링 섹션을 참조하세요.

XksExternalKeyManagerStates

각 상태(Active, DegradedUnavailable)의 외부 키 관리자 인스턴스 수입니다. 이 지표에 대한 정보는 각 외부 키 스토어와 연결된 외부 키 스토어 프록시에서 가져옵니다. 이 지표는 외부 키 스토어에만 적용됩니다.

다음은 외부 키 스토어와 연결된 외부 키 관리자 인스턴스의 상태입니다. 각 외부 키 스토어 프록시는 서로 다른 표시기를 사용하여 외부 키 관리자의 상태를 측정할 수 있습니다. 자세한 내용은 외부 키 스토어 프록시의 설명서를 참조하세요.

  • Active: 외부 키 관리자가 정상입니다.

  • Degraded: 외부 키 관리자가 비정상이지만 여전히 트래픽을 처리할 수 있습니다.

  • Unavailable: 외부 키 관리자가 트래픽을 처리할 수 없습니다.

이 지표를 사용하여 성능이 저하되고 사용할 수 없는 외부 키 관리자 인스턴스에 대해 경고하는 CloudWatch 경보를 생성합니다. 각 상태의 외부 키 관리자 인스턴스를 확인하려면 외부 키 스토어 프록시 로그를 참조하세요.

차원 그룹 이름: XKS External Key Manager Metrics(XKS 외부 키 관리자 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.
XksExternalKeyManagerState 각 상태에 대한 값입니다.

외부 키 스토어와 외부 키 스토어의 KMS 키에 대한 지표를 기반으로 CloudWatch 경보를 생성할 수 있습니다. 지침은 외부 키 저장소 모니터링 섹션을 참조하세요.

XksProxyLatency

외부 키 스토어 프록시가 AWS KMS 요청에 응답하는 데 걸리는 시간(밀리초)입니다. 요청 시간이 초과된 경우 기록된 값은 250밀리초 제한 시간입니다. 이 지표는 외부 키 스토어에만 적용됩니다.

이 지표를 사용하여 외부 키 스토어 프록시와 외부 키 관리자의 성능을 평가합니다. 예를 들어, 프록시의 암호화 및 복호화 작업 시간이 자주 초과되는 경우 외부 프록시 관리자에게 문의하세요.

응답이 느리면 외부 키 관리자가 현재 요청 트래픽을 처리할 수 없는 것일 수 있습니다. AWS KMS의 권장 사항에 따르면 외부 키 관리자가 초당 최대 1,800개의 암호화 작업 요청을 처리할 수 있어야 합니다. 외부 키 관리자가 초당 1,800개의 요청을 처리할 수 없는 경우 사용자 지정 키 스토어에서 KMS 키에 대한 요청 할당량 감소를 요청하는 것이 좋습니다. 외부 키 스토어에서 KMS 키를 사용하는 암호화 작업에 대한 요청은 외부 키 스토어 프록시 또는 외부 키 관리자에 의해 처리되고 나중에 거부되는 대신 제한 예외와 함께 빠르게 실패합니다.

차원 그룹 이름: XKS Proxy Latency Metrics(XKS 프록시 지연 시간 지표)

차원 설명
CustomKeyStoreId 각 외부 키 스토어의 값입니다.
KmsOperation XKS 프록시에 대한 요청을 생성한 각 AWS KMS API 작업의 값입니다.
XksOperation 외부 키 스토어 프록시 API 작업의 값입니다.
KeySpec 각 KMS 키 유형의 값입니다. 외부 키 스토어에서 KMS 키에 대해 지원되는 유일한 키 사양은 SYMMETRIC_DEFAULT입니다.

외부 키 스토어와 외부 키 스토어의 KMS 키에 대한 지표를 기반으로 CloudWatch 경보를 생성할 수 있습니다. 지침은 외부 키 저장소 모니터링 단원을 참조하세요.