Programming

[AWS, Certified Developer Associate] S3 - 암호화, 액세스 포인트

S3 - 암호화 (Object Encryption)

  • Server-Side Encryption (SSE)
    • SSE-S3 (S3 Managed Keys로 암호화)
      • 버킷, 객체에 기본 활성화
      • AWS에서 키 관리 및 소유 / 키에 접근 불가
      • AWS 서버측에서 객체 암호화 (AES-256)
      • x-amz-server-side-encryption: AES256
    • SSE-KMS
      • AWS KMS로 암호화
      • KMS를 통해 키를 직접 관리
      • CloudTrail을 통해 키 사용 로깅 가능
      • x-amz-server-side-encryption: aws:kms
      • KMS API를 호출해 키 생성 / 복호화 수행해야함
        • 처리량이 아주 많은 S3 버킷에 대해서는 권장 X
    • SSE-C
      • 키는 AWS 외부에서 관리
      • AWS에 키 전송 (HTTPS 필수)
      • AWS는 키를 통해 암호화 후 키 폐기
      • 사용자가 키와 함께 파일 업로드
  • Client-Side Encryption
    • 클라이언트 측에서 암호화 후 업로드
  • 버킷 정책을 통해 원하는 암호화 방식을 강제할 수 있음

 

 

S3 - 액세스 포인트

  • 여러 그룹(재무, 영업, 분석 등) 이 S3 버킷에 접근 (버킷 정책을 통해 접근 권한 분리)
  • 그룹 / 사용자가 많아질 경우 정책이 복잡해지고 권한 분리가 어려움
  • 특정 그룹에 대한 액세스 포인트 생성 가능 (버킷 정책과 유사)
    • 각각 자체적인 DNS를 가짐 (인터넷 Origin or VPC Origin)
    • 특정 접두사에 대한 액세스 승인
    • 읽고 쓰는 권한 관리
  • 대규모에 대해 보안 관리 간단해짐
  • VPC 내 EC2 -> VPC Endpoint -> (VPC Origin) AP -> S3 Bucket 프라이빗 연결 가능
  • S3 Object Lambda Access Point를 통해 하나의 버킷으로 (복제X) 데이터 편집 가능
    • 분석 APP -> S3 OLAP -> AWS Lambda Function 수행 -> 람다는 S3에서 데이터 검색 및 편집 -> 분석 APP 반환
    • PII 데이터 (개인식별정보)를 분석 / 비생산 환경용 편집
    • XML -> JSON 데이터 변환
    • 이미지 리사이징 / 워터마크 추가

 


Reference

Udemy - AWS Certified Developer Associate 시험 합격을 위한 모든 것!