홍카나의 공부방

[AWS] S3 객체 암호화 본문

Cloud Engineering/AWS

[AWS] S3 객체 암호화

홍문관카페나무 2024. 2. 21. 13:10

Server-Side Encryption (SSE)

- SSE-S3, SSE-KMS, SSE-C가 있다.

- 어떤 성황에 어떤 암호화 방식을 사용하는지 이해해야 한다.

 

 

SSE-S3

- AWS가 암호화 키를 관리하고, 사용자는 접근할 수 없다.

- 암호화 타입은 AES-256이다.

- HTTP(S) 요청시 헤더에 "x-amz-server-side-encryption":"AES256"을 설정해야 한다.

- 기본적으로는 새로운 버켓과 새로운 객체에 암호화가 활성된다.

자세한 SSE-S3 내용에 대해서는 다음 공식 문서를 참고한다.

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/UsingServerSideEncryption.html

 

Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3) 사용 - Amazon Simple Storage Service

이제 Amazon S3가 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)를 Amazon S3 내 모든 버킷 암호화의 기본 수준으로 적용합니다. 2023년 1월 5일부터 Amazon S3로의 모든 새 객체 업로드는 추가 비용 없

docs.aws.amazon.com

 

SSE-KMS

- AWS KMS에서 직접 키를 관리하는 방식이다.

- 유저가 직접 키를 관리할 수 있고, CloudTrail을 이용한 logging도 가능하다.

- HTTP(S) 요청시 헤더에 "x-amz-server-side-encryption":"aws:kms"을 설정해야 한다.

- KMS key에도 엑세스할 수 있어야 버킷 안의 객체를 읽을 수 있게 된다.

- KMS 방식으로 암호화된 객체를 복호화하기 위해서는 Decrypt API를 사용하게 되는데,

이러면 KMS에 API 호출을 하게 된다.

 

 

SSE-C

- 키를 AWS로 보내는 방식인데, S3는 해당 키를 저장하지 않고 사용후 폐기한다.

- S3로 키를 보내기 때문에 HTTPS 사용이필수다.

- HTTP 헤더 안에 암호화 키를 덩달아 제공하는 방식이다.

 

 

Client-Side Encryption

- 클라이언트 라이브러리 등을 활용하여 클라이언트가 직접 데이터를 암호화한 다음에 S3에 전달하는 것이다.

- 클라이언트가 키와 암호화 사이클을 완벽하게 관리하는 방식이다.

 

 

SSL/TLS(Encryption in transit)

- aws s3에는 전송 중 암호화가 제공되는 HTTPS endpoint가 있다.

- 전송 중 암호화를 강제하기 위해서는 버킷 정책을 사용한다.

- 버킷 정책에 "aws:SecureTransport" : "False"를 condition으로 두고, GetObject를 Deny하는 식으로 구현 가능하다.

- 버킷 정책은 항상 기본 암호화 설정값보다 우선 순위가 높다는 것을 기억하자.

 

* CORS에 대해서도 알아두면 좋다.

https://docs.tosspayments.com/resources/glossary/cors

 

CORS(교차 출처 리소스 공유) | 토스페이먼츠 개발자센터

CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)를 번역하면 “교차 출처 리소스 공유”에요. 즉, ‘출처가 교차한다’는 건 리소스를 주고받으려는 ‘두 출처가 서로 다르다’는 뜻이에요. C

docs.tosspayments.com

 

반응형

'Cloud Engineering > AWS' 카테고리의 다른 글

[AWS] Security Group과 NACL 비교  (1) 2024.02.28
[AWS] Lambda 기초  (0) 2024.02.28
[AWS] Route 53 CNAME vs Alias  (0) 2024.02.19
[AWS] Amazon Aurora 정리  (0) 2024.02.12
[AWS] EBS와 EFS의 차이점  (0) 2024.02.07