를 사용하여 이상 탐지기 및 그 결과 암호화 AWS KMS - Amazon CloudWatch Logs

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

를 사용하여 이상 탐지기 및 그 결과 암호화 AWS KMS

이상 탐지기 데이터는 항상 CloudWatch 로그에서 암호화됩니다. 기본적으로 CloudWatch Logs는 저장 데이터에 서버 측 암호화를 사용합니다. 대신 AWS Key Management Service 를 사용하여 이를 암호화할 수 있습니다. 이렇게 하면 AWS KMS 키를 사용하여 암호화가 수행됩니다. 를 사용한 암호화 AWS KMS 는 KMS 키를 이상 탐지기와 연결하여 이상 탐지기 수준에서 활성화됩니다.

중요

CloudWatch 로그는 대칭 KMS 키만 지원합니다. 비대칭 키를 사용하여 로그 그룹의 데이터를 암호화하지 마세요. 자세한 내용은 대칭 및 비대칭 키 사용을 참조하세요.

Limits

  • 다음 단계를 수행하려면 kms:CreateKey, kms:GetKeyPolicykms:PutKeyPolicy 권한이 있어야 합니다.

  • 로그 그룹에 키 연결 작업 또는 로그 그룹에서 키 연결 해제 작업이 적용되려면 최대 5분이 소요될 수 있습니다.

  • 연결된 키에 대한 CloudWatch 로그 액세스를 취소하거나 연결된 KMS 키를 삭제하면 CloudWatch 로그의 암호화된 데이터를 더 이상 검색할 수 없습니다.

1단계: AWS KMS 키 생성

KMS 키를 생성하려면 다음 create-key 명령을 사용합니다.

aws kms create-key

출력에는 키의 키 ID와 Amazon 리소스 이름(ARN)이 포함됩니다. 다음은 예 출력입니다.

{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "key-default-1", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/key-default-1", "AWSAccountId": "123456789012", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

2단계: KMS 키에 대한 권한 설정

기본적으로 모든 AWS KMS 키는 프라이빗입니다. 리소스 소유자만 이를 사용하여 데이터를 암호화 및 해독할 수 있습니다. 그러나 리소스 소유자는 다른 사용자 및 리소스에 KMS 키에 액세스할 수 있는 권한을 부여할 수 있습니다. 이 단계에서는 CloudWatch Logs 서비스 보안 주체에게 키를 사용할 수 있는 권한을 부여합니다. 이 서비스 보안 주체는 KMS 키가 저장된 리전과 동일한 AWS 리전에 있어야 합니다.

가장 좋은 방법은 KMS 키 사용을 지정한 AWS 계정 또는 이상 탐지기로만 제한하는 것입니다.

먼저 다음 get-key-policy 명령을 policy.json 사용하여 KMS 키의 기본 정책을 로 저장합니다.

aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json

텍스트 편집기에서 policy.json 파일을 열고 다음 설명 중 하나에서 굵은 글꼴로 표시된 섹션을 추가합니다. 기존 설명과 새 설명을 쉼표로 구분합니다. 이러한 문은 Condition 섹션을 사용하여 AWS KMS 키의 보안을 강화합니다. 자세한 내용은 AWS KMS 키 및 암호화 컨텍스트 단원을 참조하십시오.

이 예제의 Condition 섹션에서는 AWS KMS 키 사용을 지정된 계정으로 제한하지만 모든 이상 탐지기에서 사용할 수 있습니다.

{ "Version": "2012-10-17", "Id": "key-default-1", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Your_account_ID:root" }, "Action": "kms:*", "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "logs.REGION.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:REGION:Your_account_ID:anomaly-detector:*" } } }, { "Effect": "Allow", "Principal": { "Service": "logs.REGION.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws-crypto-ec:aws:logs:arn": "arn:aws:logs:REGION:Your_account_ID:anomaly-detector:*" } } } ] }

마지막으로 다음 put-key-policy 명령을 사용하여 업데이트된 정책을 추가합니다.

aws kms put-key-policy --key-id key-id --policy-name default --policy file://policy.json

3단계: KMS 키를 이상 탐지기와 연결

콘솔에서 KMS 키를 생성하거나 AWS CLI 또는 를 사용하여 키를 이상 탐지기와 연결할 수 있습니다APIs.

4단계: 이상 탐지기에서 키 연결 해제

키가 이상 탐지기와 연결된 후에는 키를 업데이트할 수 없습니다. 키를 제거하는 유일한 방법은 이상 탐지기를 삭제한 다음 다시 생성하는 것입니다.