KMS 키의 과거 용도 파악 - AWS Key Management Service

KMS 키의 과거 용도 파악

KMS 키를 삭제하기 전에 해당 KMS 키 하에서 암호화된 암호화 텍스트 용량을 알고 싶을 수 있습니다. AWS KMS는 이 정보뿐 아니라 어떠한 암호 텍스트도 저장하지 않습니다. 과거에 KMS 키가 어떻게 사용되었는지 알면 향후에 필요할지 그렇지 않을지 결정하는 데 도움이 될 수 있습니다. 이 주제에서는 KMS 키의 과거 용도를 파악하는 데 도움이 될 수 있는 몇 가지 전략을 소개합니다.

주의

과거 및 실제 용도를 확인하기 위한 이러한 전략은 AWS 사용자와 AWS KMS 작업에만 유효합니다. AWS KMS 외부에서의 비대칭 KMS 키의 퍼블릭 키의 사용을 감지할 수 없습니다. 암호를 해독할 수 없는 암호화 텍스트를 만드는 등 퍼블릭 키 암호화에 사용되는 비대칭 KMS 키를 삭제할 때의 특별한 위험에 대한 자세한 내용은 비대칭 KMS 키 삭제 단원을 참조하십시오.

KMS 키 권한 확인을 통한 사용 가능 범위 파악

어떤 사람 또는 항목이 현재 KMS 키에 액세스할 수 있는지 파악하면 KMS 키가 어느 정도 범위에서 사용되었는지, 앞으로도 계속 필요할지 판단하는 데 도움이 될 수 있습니다. 현재 어떤 사람 또는 대상이 KMS 키에 액세스할 수 있는지 파악하는 방법을 알아보려면 AWS KMS keys에 대한 액세스 결정 단원을 참조하십시오.

AWS CloudTrail 로그 확인을 통한 실제 사용량 파악

KMS 키 사용 내역을 이용하면 특정 KMS 키로 암호화가 암호화되었는지 판단하는 데 도움이 될 수 있습니다.

모든 AWS KMS API 활동은 AWS CloudTrail 로그 파일에 기록됩니다. KMS 키가 있는 리전에 CloudTrail 추적을 생성한 경우 CloudTrail 로그 파일을 검사하여 특정 KMS 키에 대한 모든 AWS KMS API 활동 기록을 볼 수 있습니다. 추적이 없는 경우에도 CloudTrail 이벤트 기록에서 최근 이벤트를 볼 수 있습니다. AWS KMS가 CloudTrail 을 사용하는 자세한 내용은 AWS CloudTrail를 사용하여 AWS KMS API 호출 로깅 단원을 참조하십시오.

다음 예에서는 Amazon Simple Storage Service(Amazon S3)에 저장된 객체를 보호하는 용도로 KMS 키를 사용할 때 생성되는 CloudTrail 로그 항목을 보여 줍니다. 이 예에서 객체는 KMS 키를 사용한 서버 측 암호화(SSE-KMS) 데이터 보호 기능을 사용하여 Amazon S3에 업로드됩니다. SSE-KMS를 사용하여 Amazon S3에 객체를 업로드할 때 객체를 보호하는 데 사용할 KMS 키를 지정합니다. Amazon S3는 AWS KMS GenerateDataKey 작업을 이용해 해당 객체에 고유한 데이터 키를 요청하고, 이 요청 이벤트는 CloudTrail에 다음과 비슷한 항목과 함께 기록됩니다.

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:18Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "cea04450-5817-11e5-85aa-97ce46071236", "eventID": "80721262-21a5-49b9-8b63-28740e7ce9c9", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

나중에 Amazon S3에서 이 객체를 다운로드하면 Amazon S3가 AWS KMS로 Decrypt 요청을 보내 지정된 KMS 키를 사용해 객체의 데이터 키를 복호화합니다. 이렇게 하면 CloudTrail 로그 파일에 다음과 비슷한 항목이 포함됩니다.

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:39Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}}, "responseElements": null, "requestID": "db750745-5817-11e5-93a6-5b87e27d91a0", "eventID": "ae551b19-8a09-4cfc-a249-205ddba330e3", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

모든 AWS KMSAPI 활동이 CloudTrail에 의해 로깅됩니다. 이러한 로그 항목을 평가하여 특정 KMS 키의 과거 사용량을 파악할 수 있고, 이렇게 하면 해당 항목을 삭제할지 말지 결정하는 데 도움이 될 수 있습니다.

AWS KMS API 활동이 CloudTrail 로그 파일에 표시되는 방식에 대한 더 많은 예를 보려면 AWS CloudTrail를 사용하여 AWS KMS API 호출 로깅로 이동합니다. CloudTrail에 대한 자세한 내용은 AWS CloudTrail 사용 설명서를 참조하십시오.