brunch

You can make anything
by writing

C.S.Lewis

by Master Seo May 29. 2020

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

실습

이미지 데이터를 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


감사합니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari