AWS Key Management Service(AWS KMS) 키의 이전 사용 기록을 찾고 싶습니다.
해결 방법
비활성 KMS 키는 직접 식별할 수 없습니다. 하지만 AWS CloudTrail과 Amazon Athena를 사용하여 키 사용을 추적할 수 있습니다.
CloudTrail 이벤트 기록 사용
CloudTrail 콘솔을 사용하면 AWS 리전에서 지난 90일간의 관리 이벤트를 확인할 수 있습니다. 90일이 지난 이벤트는 더 이상 이벤트 기록에 나타나지 않습니다.
다음 단계를 완료하십시오.
- CloudTrail 콘솔을 엽니다.
- 리전을 선택합니다.
- 탐색 창에서 이벤트 기록을 선택합니다.
- 이벤트 기록 페이지의 속성 조회에서 이벤트 소스를 선택합니다. 그런 다음, 검색 필드에 kms.amazonaws.com을 입력하여 AWS KMS API 호출을 확인합니다.
- 날짜 및 시간별 필터링 필드에서 최근 활동을 검토할 시간 범위를 선택합니다.
각 이벤트의 이벤트 레코드를 검토하면 키 ARN, 사용자 자격 증명 및 호출 서비스를 확인할 수 있습니다.
참고: AWS KMS 이벤트가 여러 개 있는 경우 이 옵션은 시간이 오래 걸릴 수 있습니다.
Athena를 사용하여 CloudTrail 로그 쿼리
다음 단계를 완료하십시오.
- CloudTrail 로그에서 Athena 테이블을 생성합니다.
- AWS KMS API 호출을 검색하고 키 ARN을 기준으로 필터링하려면 다음 Athena 쿼리를 실행합니다.
SELECT
eventName,
COUNT(eventName) AS NumberOfChanges,
eventSource,
resources
FROM
"default"."your-table-name"
WHERE
eventSource = 'kms.amazonaws.com' AND
ARRAY_JOIN(TRANSFORM(resources, x -> x.arn), '') LIKE '%kms-key-id%'
OR CAST(requestParameters AS VARCHAR) LIKE '%kms-key-id%'
GROUP BY
eventName,
eventSource,
resources
ORDER BY
NumberOfChanges DESC
참고: 위 코드 예제에서 값을 Athena 테이블 이름 및 KMS 키 ID 값으로 바꾸십시오.
특정 기간별로 필터링하려면 WHERE 절에 조건을 추가하십시오.
AND eventtime >= 'YYYY-MM-DDT00:00:00Z' AND eventtime <= 'YYYY-MM-DDT00:00:00Z'
참고: Athena의 경우 실행한 쿼리에 대해 요금이 부과됩니다.
관련 정보
AWS CloudTrail을 사용하여 AWS KMS API 호출 로깅
LookupEvents
AWS KMS 키 모니터링
KMS 키의 이전 사용 기록 확인