일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS
- Docker
- Go
- 자료구조
- 컴퓨터 네트워크
- 데이터 엔지니어링
- HADOOP
- Django
- TCP
- 컴퓨터네트워크
- 종류
- PYTHON
- 데이터 웨어하우스
- airflow.cfg
- 운영체제
- 데이터 파이프라인
- redshift
- linux
- dockerfile
- http
- 파이썬
- 가상환경
- 데이터베이스
- S3
- TIL
- 데이터엔지니어링
- airflow
- 정리
- sql
- 데브코스
- Today
- Total
홍카나의 공부방
[AWS] S3 객체 암호화 본문
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 |