AWS KMS 키(SSE-KMS)로 CloudTrail 로그 파일 암호화 - AWS CloudTrail

AWS KMS 키(SSE-KMS)로 CloudTrail 로그 파일 암호화

기본적으로 CloudTrail이 버킷에 제공하는 로그 파일은 Amazon S3가 관리하는 암호화 키(SSE-S3)를 사용하는 서버 측 암호화를 사용하여 암호화됩니다. 직접 관리할 수 있는 보안 계층을 제공하려면 CloudTrail 로그 파일에 대한 AWS KMS 키(SSE-KMS)를 사용하는 서버 측 암호화를 대신에 사용하면 됩니다.

참고

서버 측 암호화를 활성화하면 SSE-KMS를 사용하여 로그 파일이 암호화되지만 다이제스트 파일은 암호화되지 않습니다. 다이제스트 파일은 Amazon S3 관리형 암호화 키(SSE-S3)를 사용하여 암호화됩니다.

S3 버킷 키와 함께 기존 S3 버킷을 사용하는 경우 키 정책에서 AWS KMS 작업인 GenerateDataKeyDescribeKey를 사용할 수 있는 권한이 CloudTrail에 허용되어야 합니다. 키 정책에서 이러한 권한이 cloudtrail.amazonaws.com에 부여되지 않은 경우 추적을 생성하거나 업데이트할 수 없습니다.

CloudTrail에서 SSE-KMS를 사용하려면 KMS 키(또는 AWS KMS key)를 생성하고 관리합니다. 키에 정책을 연결합니다. 이 정책은 CloudTrail 로그 파일을 암호화하고 복호화하는 데 키를 사용할 수 있는 사용자를 결정합니다. S3를 통해 원활하게 암호를 해제합니다. 키에 대한 권한이 부여된 사용자가 CloudTrail 로그 파일을 읽을 때 S3는 복호화를 관리하고 권한이 부여된 사용자는 암호화되지 않은 형식의 로그 파일을 읽을 수 있습니다.

이 접근 방식에는 다음과 같은 장점이 있습니다.

  • KMS 키 암호화 키를 직접 생성하고 관리할 수 있습니다.

  • 단일 KMS 키를 사용하여 모든 리전에 걸쳐 여러 계정의 로그 파일을 암호화하고 복호화할 수 있습니다.

  • CloudTrail 로그 파일을 암호화 및 복호화하는 데 키를 사용할 수 있는 사람을 제어할 수 있습니다. 요구 사항에 따라 조직에서 키에 대한 권한을 사용자에게 할당할 수 있습니다.

  • 보안을 강화했습니다. 이 기능을 사용할 경우 로그 파일을 읽으려면 다음 권한이 필요합니다.

    • 사용자는 로그 파일이 포함된 버킷에 대한 S3 읽기 권한이 있어야 합니다.

    • 또한 사용자는 KMS 키 정책에 의해 복호화 권한을 허용하는 정책 또는 역할을 적용받고 있어야 합니다.

  • S3가 KMS 키를 사용할 권한이 부여된 사용자의 요청에 대한 로그 파일을 자동으로 복호화하기 때문에 CloudTrail 로그 파일에 대한 SSE-KMS 암호화는 CloudTrail 로그 데이터를 읽는 애플리케이션과 역호환됩니다.

참고

선택하는 KMS 키는 로그 파일을 수신하는 Amazon S3 버킷과 동일한 AWS 리전에서 생성해야 합니다. 예를 들어 미국 동부(오하이오) 리전의 버킷에 로그 파일을 저장할 경우 해당 리전에서 KMS 키를 생성하거나 해당 리전에서 생성된 KMS 키를 선택해야 합니다. Amazon S3 버킷의 리전을 확인하려면 Amazon S3 콘솔에서 해당 속성을 검사하세요.

로그 파일 암호화 사용

참고

CloudTrail 콘솔에서 KMS 키를 생성하면 CloudTrail이 필요한 KMS 키 정책 단원을 자동으로 추가합니다. IAM 콘솔 또는 AWS CLI에서 키를 생성한 경우 다음 절차에 따라 필요한 정책 단원을 수동으로 추가해야 합니다.

CloudTrail 로그 파일에 대해 SSE-KMS 암호화를 활성화하려면 다음과 같은 개략적인 단계를 수행합니다.

  1. KMS 키를 생성합니다.

    • AWS Management Console을 사용한 KMS 키 생성에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 생성 단원을 참조하세요.

    • AWS CLI를 사용한 KMS 키 생성에 대한 자세한 내용은 create-key 단원을 참조하세요.

    참고

    선택하는 KMS 키는 로그 파일을 수신하는 S3 버킷과 동일한 리전에 있어야 합니다. S3 버킷에 대한 리전을 확인하려면 S3 콘솔에서 버킷 속성을 조사하십시오.

  2. CloudTrail이 로그 파일을 암호화하고 사용자가 로그 파일을 복호화할 수 있게 하는 정책 단원을 키에 추가합니다.

    • 정책에 포함할 사항에 대한 자세한 내용은 CloudTrail에 대한 AWS KMS 키 정책 구성을 참조하십시오.

      주의

      로그 파일을 읽어야 하는 모든 사용자를 위해 정책에 암호화 해제 권한을 포함해야 합니다. 키를 추적 구성에 추가하기 전에 이 단계를 수행하지 않으면 암호화 해제 권한이 없는 사용자는 해당 권한이 부여될 때까지 암호화된 파일을 읽을 수 없습니다.

    • IAM 콘솔을 사용한 정책 편집에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 정책 편집 단원을 참조하세요.

    • AWS CLI를 사용하여 정책을 KMS 키에 연결하는 방법에 대한 자세한 내용은 put-key-policy 단원을 참조하세요.

  3. CloudTrail에 대해 정책을 수정한 KMS 키를 사용하도록 추적을 업데이트합니다.

CloudTrail은 AWS KMS 다중 리전 키도 지원합니다. 다중 리전 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드다중 리전 키 사용 단원을 참조하세요.

다음 단원에서는 CloudTrail에서 사용하기 위해 KMS 키 정책에 필요한 정책 단원을 설명합니다.