brunch

374. KMS 로 S3 데이터 암호화해서 관리 하자

실습

by Master Seo

이미지 데이터를 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에 관리자로 할 계정과 사용자로 할 계정이 있어야 ㅏㄴ다.


10 kms.PNG





<1> KMS 키 생성하기


1

리전부터 선택한다.


2

KMS 마스터키 만들기

KMS > 대칭(Symmetric) > 다음

// 암호화를 위해 대칭으로 설정

1 kms.png


별칭

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 > 저장


속성

서버 사이트 암호화

암호화키 선택


20 s3.png


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


감사합니다.




keyword
매거진의 이전글 10탄-Lambda이용 Thumbnail 생성법