이미지 데이터를 S3에 올릴때 KMS 암호화 해서 올리는 법을 확인해보자.
1. KMS키를 만들고
2. cloudtrail log를 s3에 담아 모니터링 준비 하고
3. S3에 이미지를 올릴때 KMS로 암호화 하여 올린다.
<0> KMS 구조
<1> KMS 키 생성하기
<2> CloudTrail 설정한다. CloudTrail log를 확인
<3> S3에 seo-s3-kms 암호화하여 올린다.
<4> 암호화된 이미지 확인
<5> Clodtrail log로 KMS 활동 모니터링하기
<6> KMS 암호화키 관리
<0> KMS 구조
사용자 --------- KMS ----------S3
선수 조AWS에 관리자로 할 계정과 사용자로 할 계정이 있어야 ㅏㄴ다.
<1> KMS 키 생성하기
1
리전부터 선택한다.
2
KMS 마스터키 만들기
KMS > 대칭(Symmetric) > 다음
// 암호화를 위해 대칭으로 설정
별칭
seo-s3-kms
description
seo-s3-kms
Next
3
키 관리자 > 사용자 계정 나온다. > 관리자로 할 계정 체크 > 다음
4
사용하는 계정 선택 > 계정 체크 > 완료
5
seo-s3-kms 키 ID를 복사해 놓자.
KMS 키의 활동 로그를 볼때 이 키 ID를 사용한다.
<2> CloudTrail 설정한다. CloudTrail log를 확인
1
CloudTrail > 추적 > 추적 생성 > 추적 이름
seo-s3-trail
추적을 모든 리전에 적용 : 아니오로 변경
2
CloudTrail log 를 S3 버킷에 저장하기 위해 S3버킷을 만든다.
S3 버킷 새로 만들기 > 예
seo-cloudtraillog-bucket
// 소문자만 가능하다.
별칭?
seo-s3-kms-alias
추적 생성
로그 파일 SSE-KMS 암호화 체크 해지
관리 이벤트
데이터 이벤트
Insights 이벤트
<3> S3에 seo-s3-kms 암호화하여 올린다.
올릴때 KMS키로 암호화 하기
1
seo-cloudtraillog-bucket S3에 이미지 업로드 > 파일 추가
2
S3 > 속성 > 기본 암호화 > AWS KMS 마스터키 > seo-s3-kms > 저장
속성
서버 사이트 암호화
암호화키 선택
3
검토 > 파일의 마지막 수정 시간을 기록한다.
6:25:28 pm
<4> 암호화된 이미지 확인
1
S3 > 개요 > 파일 클릭 > 객체 URL 클릭 > 접속 불가
Access-deny가 나와야 한다.
2
권한 > 편집 > 모든 퍼블릭 액세스 차단 체크 해지
3
객체> 작업 > 이미지파일을 > Public으로 변경한다. (파일에서 오른 마우스 Make Public)
4
객체 URL 클릭 > 이미지가 안 보인다.
AWS Signature Version 4. 가 필요하다고 나온다.
<Error>
<Code>InvalidArgument</Code>
<Message>Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4.</Message>
<ArgumentName>Authorization</ArgumentName>
<ArgumentValue>null</ArgumentValue>
<RequestId>9TWWBZ0JA4PHM1RY</RequestId>
<HostId>Jzj3BMcxM5Oq9PS1o3kouLuBoMDiA5MYNbp+rXuHPend9KWOmHTnPCG8pQcqgNl2lFqyVeKVAAQ=</HostId>
</Error>
<5> CloudTrail log로 KMS 활동 모니터링하기
1
S3 > 버킷 > Objects > AWSL log 클릭 > 222223333 > Cloudtrail > us-west > 2020 > 05> 29
새로 고침 > 로그파일 확장자 *.jason.gz 로 검색.
2
파일 수정한 이후 로그파일 확인
6:25:28 pm 이후 로그 확인
3
찾아보자 - 검색 옵션
로그 파일에서 복사한 암호화키 ID
업로드한 파일 이름.
<6> KMS 암호화키 관리
1
KMS > Customer managed keys > seo-s3-kms > 키정책 > 키 관리자 확인
키 사용자 확인
2
권한 추가할 할 사람을 선택한다.
추가 > 키 사용자 추가 > 키 사용자로 할 사용자를 모두 선택
3
다른 AWS계정 추가 가능 하다.
같이 볼만한 자료
https://brunch.co.kr/@topasvga/2928
감사합니다.