AWS CloudTrail를 사용하여 AWS KMS API 호출 로깅 - AWS Key Management Service

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

AWS CloudTrail를 사용하여 AWS KMS API 호출 로깅

AWS KMS는 사용자, 역할 및 기타 AWS 서비스에 의해 AWS KMS에 대한 모든 호출을 기록하는 서비스인 AWS CloudTrail와 통합됩니다. CloudTrail은 AWS KMS 콘솔, AWS KMS API, CloudFormation 템플릿, AWS Command Line Interface(AWS CLI) 및 AWS Tools for PowerShell의 호출을 비롯해 AWS KMS에 대한 모든 API 호출을 이벤트로 캡처합니다.

CloudTrail은 읽기 전용 작업(예: ListAliasesGetKeyRotationStatus), KMS 키 관리 작업(예: CreateKeyPutKeyPolicy) 및 암호화 작업(예: GenerateDataKeyDecrypt)을 비롯한 모든 AWS KMS 작업을 로그합니다. 또한 AWS KMS가 사용자를 위해 호출하는 내부 작업(예: DeleteExpiredKeyMaterial, DeleteKey, SynchronizeMultiRegionKeyRotateKey)도 기록합니다.

CloudTrail은 모든 성공적인 작업을 로그로 기록하며, 호출자가 리소스 액세스가 거부되는 경우와 같이 실패한 호출 시도도 일부 시나리오에서 기록합니다. KMS 키에 대한 크로스 계정 작업은 호출자 계정과 KMS 키 소유자 계정 모두에 기록됩니다. 하지만 액세스가 거부되어 교차 계정 AWS KMS 요청은 발신자 계정에만 기록됩니다.

보안상의 이유로 Encrypt 요청의 Plaintext 파라미터와 GetKeyPolicy 또는 모든 암호화 작업에 대한 응답과 같은 일부 필드는 AWS KMS 로그 항목에서 생략됩니다. 특정 KMS 키에 대한 CloudTrail 로그 항목을 더 쉽게 검색할 수 있도록 AWS KMS는 API 작업이 키 ARN을 반환하지 않는 경우에도 일부 AWS KMS 키 관리 작업에 대한 로그 항목의 responseElements 필드에 영향을 받는 KMS 키의 키 ARN을 추가합니다.

기본적으로 모든 AWS KMS 작업은 CloudTrail 이벤트로 기록되지만 CloudTrail 추적에서 AWS KMS 작업을 제외할 수 있습니다. 자세한 내용은 추적에서 AWS KMS 이벤트 제외을 참조하세요.

자세히 알아보기

CloudTrail에서 AWS KMS 로그 항목 찾기

CloudTrail 로그 항목을 검색하려면 CloudTrail 콘솔 또는 CloudTrail LookupEvents 작업을 사용합니다. CloudTrail은 이벤트 이름, 사용자 이름, 이벤트 소스 등 검색 필터링을 위한 다양한 속성 값을 지원합니다.

CloudTrail에서AWS KMS 로그 항목을 검색하는 데 도움이 되도록 AWS KMS는 다음 CloudTrail 로그 항목 필드를 채웁니다.

참고

2022년 12월부터 AWS KMS는 특정 KMS 키를 변경하는 모든 관리 작업에서 Resource type(리소스 유형) 및 Resource name(리소스 이름) 속성을 채웁니다. 이러한 속성 값은 CreateAlias, CreateGrant, DeleteAlias, DeleteImportedKeyMaterial, ImportKeyMaterial, ReplicateKey, RetireGrant, RevokeGrant, UpdateAliasUpdatePrimaryRegion 작업에 대한 이전 CloudTrail 항목에서 null일 수 있습니다.

속성 로그 항목
이벤트 소스(EventSource) kms.amazonaws.com 모든 작업
리소스 유형(ResourceType) AWS::KMS::Key 특정 KMS 키(예: CreateKeyEnableKey)는 변경하지만 ListKeys는 변경하지 않는 관리 작업
리소스 이름(ResourceName) 키 ARN(또는 키 ID 및 키 ARN) 특정 KMS 키(예: CreateKeyEnableKey)는 변경하지만 ListKeys는 변경하지 않는 관리 작업

특정 KMS 키에 대한 관리 작업의 로그 항목을 찾는 데 도움이 되도록 AWS KMS는 AWS KMS API 작업이 키 ARN을 반환하지 않는 경우에도 영향을 받는 KMS 키의 키 ARN을 로그 항목의 responseElements.keyId 요소에 기록합니다.

예를 들어 DisableKey 작업을 성공적으로 호출해도 응답에 값이 반환되지 않지만 DisableKey 로그 항목responseElements.keyId 값에는 null 값 대신 비활성화된 KMS 키의 키 ARN이 포함됩니다.

이 기능은 2022년 12월에 추가되었으며 CloudTrail 로그 항목 CreateAlias, CreateGrant, DeleteAlias, DeleteKey, DisableKey, EnableKey, EnableKeyRotation, ImportKeyMaterial, RotateKey, SynchronizeMultiRegionKey, TagResource, UntagResource, UpdateAliasUpdatePrimaryRegion에 영향을 줍니다.

추적에서 AWS KMS 이벤트 제외

대부분의 AWS KMS 사용자는 CloudTrail 추적의 이벤트에 의존하여 AWS KMS 리소스의 사용 및 관리에 대한 기록을 제공합니다. 추적은 AWS KMS keys 생성, 비활성화 및 삭제, 키 정책 변경, 고객 대신 AWS 서비스에서 KMS 키 사용 등 중요한 이벤트를 감사하는 데 중요한 데이터 소스가 될 수 있습니다. 경우에 따라 CloudTrail 로그 항목의 메타데이터(예: 암호화 작업의 암호화 컨텍스트)는 오류를 방지하거나 해결하는 데 도움이 될 수 있습니다.

그러나 AWS KMS는 수많은 이벤트를 생성할 수 있으므로 AWS CloudTrail을 사용하여 추적에서 AWS KMS 이벤트를 제외할 수 있습니다. 이 추적별 설정은 모든 AWS KMS 이벤트를 제외하며 특정 AWS KMS 이벤트를 제외할 수는 없습니다.

주의

CloudTrail 로그에서 AWS KMS 이벤트를 제외하면 KMS 키를 사용하는 작업이 불분명해질 수 있습니다. 보안 주체에게 이 작업을 수행하는 데 필요한 cloudtrail:PutEventSelectors 권한을 부여할 때는 주의해야 합니다.

추적에서 AWS KMS 이벤트를 제외하려면

콘솔 설정 또는 추적용 이벤트 선택기를 변경하여 언제든지 이 제외를 비활성화할 수 있습니다. 그러면 추적이 AWS KMS 이벤트 기록을 시작합니다. 그러나 제외가 유효한 동안 발생한 AWS KMS 이벤트는 복구할 수 없습니다.

콘솔 또는 API를 사용하여 AWS KMS 이벤트를 제외하면 결과로 나타나는 CloudTrail PutEventSelectors API 작업도 CloudTrail Logs에 기록됩니다. AWS KMS 이벤트가 CloudTrail Logs에 나타나지 않으면 ExcludeManagementEventSources속성이 kms.amazonaws.com으로 설정된 PutEventSelectors 이벤트를 찾습니다.