1/2/3은 서버 측 암호화
1. SSE-S3 ; 아마존 S3 관리하는 키를 이용한 서측 암호화 (버킷과 객체 활성화 디폴트 )
2. SSE KMS ; KMS 키를 이용, 암호화 키 관리 (DSSE-KMS ; KMS를 기반으로 하는 이중 암호화)
3. SSE-C ; 고객이 제공한 키를 사용
4. 클라이언트 암호화 : 클라이언트 측의 모든 걸 암호화 후 S3 업로드
1의 경우
- AWS 처리/소유한 키 ; 절대 액세스 불가능
- 암호화 보안 유형 AES - 256 -> 이거에 맞게 헤더 작성 필요
- 기본값 ; 올바른 헤더를 써서 업로드하면, S3가 보유한 키와 객체를 짝지어줌 ; 두 개가 혼하보디어 암호화 된 채로 버킷에 저장
2의 경우
- KMS 서비스 이용, 직접 키를 관리 ; 키 통제 가능 ; CLOUDTRAIL 이용 키 사용 검사도 가능
- KMS에 맞는 헤더 작성 필요
- 헤더를 포함 업로드, AWS KMS에서 키가 옴 ; 오브젝트와 키가 혼합, 암호화되어 버켓 저장
- 이 경우, 객체 자체에 엑세스 + KMS키에도 엑세스
- 따라서, 버킷 처리량이 많고, KMS 키로 암호화 되어 있는 경우, 일종의 스로틀링 활용 사례가된다!!
3의 경우
- 키가 외부에서 관리
- S3는 키를 암호화에만 사용하고, 키를 폐기
- 파일과 키를 업로드 ; S3 암호화, 버켓에 업로드 ; 재 사용시, 사용한 키를 제공해야 함
4의경우
- 클리언트가 직접 데이터 암호화 후, S3에 전송만 하는 개념
5 전송중 암호화 / SSL TLS
- 아마존 버킷 기본적으로 2개의 엔드포인트 있음 (HTTP / HTTPS)
- SSE-C 를 사용하는 경우 HTTPS사용해야 함
- 강제하는 법? ; 버킷 정에서 설정!!
* 암호화와 버킷정책
- 버킷 정책으로 암호화 헤더 강제 + 없는 경우 PUT API 호출 거절
- 버킷정책이 기본값 암호화 설정보다 먼저 적용됨
CORS!! ; CORSS ORIGIN RESOURCE SHARING ; 교차 오리진 리소스 공유
- 메인 오리진을 방문하는 동안, 다른 오리진 요청을 허용 또는 거부 (CORS 헤더가 사용되어야, 다른 오리진의 요청 이행)
- 오리진이 같다 ? ; 체계, 호스트, 포트가 동일한경우 (EX, http://example.com/api & http://example.com/app2 )
- 클라이언트가 S3 버킷의 교차 오리진을 하려면, 정확한 CORS 헤더를 첨부해야 ; 특정 오리진 허용 또는 *를 이용 모든 오리진 허용
MFA DELETE!!
- 객체 버전을 영구 삭제에 대한 보호 설정으로 MFA 설정 가능
- 버저닝 중단시에도 사용하도록 설정 가능
- 루트 계정만이 MFA DELETE 활성/비활성화 가능
액세스 로그
- 감사 목적의 모든 엑세스 기록 / 승인-거부 상관 없음 / 다른 S3 버킷에 파일로 기록
- AMAZON ANTHENA 등의 데이터 분석 도구로 분석 가능
- 대상 로깅 버킷은 같은 리전!!
- 로깅 버킷과 모니터링 버킷 동일하면 절대 안됨!!
사전 서명된 URL ; 외부 사용자에게 특정 시간 동안 엑세스 권한을 부여
- S3 콘솔 사용시 최대 12시간
- CLI 사용 시, 168시간
- URL 사용자의 GET 또는 PUSH 권한 상속
S3 글래이시어 볼트 잠금
- WORM 모델 채용 ; 한 번 쓰고 여러 번 읽는다
- 수정 또는 삭제 못하게 하는 것 ; 누구도 변경 또는 삭제 불가능 ; 규정 준수 및 데이터 보존에 유용!!
- S3 객체 잠금 ; 버저닝 활성화 선행됨 ; 객체 각각 적용 가능 (보존기간 설정해야)
1. 규정 준수 모드 ; 누구도 삭제 변경 불가능
2. 거버넌스 보존 모드 ; 일부 관리자는 IAM 특별 권한으로 기간변경 및 객체 삭제 가능
* 법적 보존 상태 설정 ; S3 버킷 내 모든 객체를 무기한 보호 > 이때 풋오브젝트리갈홀드 권한 사용자는 설정 제거 가능
S3 액세스 포인트 ; 여러 사용자 그룹에 대한 개별적인 버킷 정책을 만들어 줄 수 있다.
- 액세스 포인트 정책 ; 버킷 정책 처럼 설정 가능
- 보안 관리 간소화
- 각 엑세스 포인트는 각자의 DNS 이름을 갖는다 ; 이걸로 액세스 포인트에 접속
S3 오브젝트 람다 ; 엑세스 포인트 다른 활용 사례
- S3 버킷의 객체를 호출 어플리케이션이 직전에 수정해서 받으려고 하는경우
- S3를 복제하는 대신, S3 객체 람다를 통해, 람다함수에서 변경 후 가져올 수 있다
- S3 액세스 포인트 - 람다 - S3 오브젝트 람다 액세스포인트 - 어플리케이션
'IT 공부 > AWS Solution Architect Associate(완)' 카테고리의 다른 글
AWS Snow 패밀리 (0) | 2024.02.21 |
---|---|
CLOUDFRONT / AWS GLOBAL ACCELERATOR (1) | 2024.02.20 |
AMAZON S3_2 (1) | 2024.02.15 |
AMAZON S3 (1) | 2024.02.14 |
Route 53 (0) | 2024.02.08 |