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, AWS Command Line Interface(AWS CLI) 및 AWS Tools for PowerShell의 호출을 비롯해 AWS KMS에 대한 모든 API 호출을 이벤트로 캡쳐합니다.

CloudTrail은 읽기 전용 작업(예: ListAliasesGetKeyRotationStatus), KMS 키 관리 작업(예: CreateKeyPutKeyPolicy) 및 암호화 작업(예: GenerateDataKeyDecrypt)을 비롯한 모든 AWS KMS 작업을 로그합니다.

CloudTrail은 성공한 작업과 호출자가 리소스 액세스에 거부되는 경우와 같이 실패한 호출 시도를 기록합니다. 다른 계정의 KMS 키에 대한 작업은 호출자 계정과 KMS 키 소유자 계정 모두에 기록됩니다.

보안상의 이유로 Encrypt 요청의 Plaintext 파라미터와 GetKeyPolicy 또는 모든 암호화 작업에 대한 응답과 같은 일부 필드는 AWS KMS 로그 항목에서 생략됩니다.

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

CloudTrail에서 이벤트 로깅

CloudTrail은 계정 생성 시 AWS 계정에서 사용되도록 설정됩니다. AWS KMS에서 활동이 발생하면 해당 활동이 이벤트 기록의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 정보는 CloudTrail 이벤트 기록을 사용하여 이벤트 보기를 참조하세요.

AWS KMS에 대한 이벤트를 포함하여 AWS 계정에 이벤트를 지속적으로 기록하려면 추적을 생성합니다. CloudTrail은 추적을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. 콘솔에서 추적을 생성하면 기본적으로 모든 리전에 추적이 적용됩니다. 추적은 AWS 파티션에 있는 모든 리전의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. 또는 CloudTrail 로그에서 수집된 이벤트 데이터를 추가 분석 및 처리하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 다음을 참조하세요.

CloudTrail에 대한 자세한 내용은 AWS CloudTrail 사용 설명서를 참조하세요. KMS 키 사용을 모니터링하는 다른 방법에 대해 알아보려면 AWS KMS keys 모니터링 단원을 참조하십시오.

모든 이벤트 및 로그 항목에는 요청을 생성한 사용자에 대한 정보가 들어 있습니다. 자격 증명 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.

  • 요청을 루트 또는 IAM 사용자 자격 증명으로 했는지.

  • 역할 또는 페더레이션 사용자에 대한 임시 보안 자격 증명을 사용하여 요청이 생성되었는지.

  • 요청이 다른 AWS 서비스를 통해 이루어졌는지.

자세한 내용은 CloudTrail userIdentity 요소를 참조하세요.

추적에서 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 이벤트를 찾습니다.