AWS(Amazon Web Service)

[AWS] Amazon S3 - Glacier Vault Lock

yunseohhe 2024. 11. 10. 10:34

S3 Glacier Vault Lock

  • WORM 모델을 채용하기 위해 Glacier볼트를 잠그는 것이다.
      - WORM = 한 번 쓰고 여러 번 읽는다.
  • 객체를 가져와서 S3 Glacier 볼트에 넣은 다음 수정하거나 삭제할 수 없도록 잠그는 것이다.
  • 먼저 Glacier위에 볼트 잠금 정책을 생성한 다음 향후 편집을 위해 정책을 잠근다.
  • 일단 볼트 잠금 정책을 설정하고 잠근 후에는 누구도 변경하거나 삭제할 수 없게 된다.
      - 규정 준수와 데이터 보존에 아주 유용하다.
  • 일단 객체가 Glacier 볼트에 삽입되면 볼트에 볼트 잠금 정책이 적용되어 있으므로 객체를 절대 삭제할 수 없다.
      - 관리자나 AWS 서비스를 사용해도 삭제할 수 없다.
      - 규정 준수나 데이터 보존 같은 법률적인 사항에 아주 유용하다.

 

 

S3 Object Lock(versioning must be enabled)

  • 위와 유사한 S3 옵션이 있는데, S3 객체 잠금을 활성화하려면 먼저 버저닝을 활성화해야 한다.
      - 여기서도 WORM 모델을 채택할 수 있따.
  • 객체 잠금은 전체 S3 버킷 수준의 잠금 정책이 아니라 버킷 내의 모든 객체에 각각 적용할 수 있는 잠금이다.
      - 단일 객체를 객체 잠금 할 수 있다.
  • S3 객체 잠금을 사용하면 특정 객체 버전이 특정 시간 동안 삭제되는 걸 차단할 수 있다.
  • 두 가지 보존 모드가 있다.
       - 첫 번째 "규정 준수 모드(Compliance)"이다.
             : S3 Glacier 볼트 잠금과 매우 유사하고, 사용자를 포함한 그 누구도 객체 버전을 덮어쓰거나 삭제할 수 없다.
             : 규정 준수 모드에서는 누구도 객체를 변경할 수 없다. 보존 모드 자체도 변경할 수 없고, 보존 기간도 단축할 수 없다. 따라서 규정 준수를 엄격히 적용할 때 사용한다.
       - 두 번째 "거버넌스 보존 모드(Governance)"이다.
             : 조금 더 유연성이 필요할 때 사용한다.
             : 이 경우 대부분의 사용자는 객체 버전을 덮어쓰거나 삭제하거나 로그 설정을 변경할 수 없다. 하지만 관리자 같은 일부 사용자는 IAM을 통해 부여받은 특별 권한으로 보존 기간을 변경하거나 객체를 바로 삭제할 수 있다.
  • 두 가지 모드 모두 보존 기간을 설정해야 한다. 보존 기간을 설정해 규정 준수 또는 거버넌스 모드를 적용하면 고정된 기간 동안 객체를 보호할 수 있고, 원하는 만큼 기간을 연장할 수 있다.
  • "법적 보존" 상태를 설정할 수 있다.
       - 법적 보존을 설정하면 S3 버킷 내 모든 객체를 무기한으로 보호한다.(보존 기간과는 무관하기 때문에 아주 중요한 객체에 법적 보존을 설정한다.)
       - 법적 보존을 설정하면 보존 모드나 보존 기간에 상관없이 객체가 영구적으로 보호된다.
       - s3:PutObjectLegalHold IAM 권한을 가진 사용자는 어떤 객체에든 법적 보존을 설정하거나 제거할 수 있다.
  • 객체를 보호하고 싶을 때 관리자는 PutObjectLegalHold 권한을 사용하고 예를 들어, 법적 조사가 끝난 다음에 PutObjectLegalHold IAM 권한으로 법적 보존을 제거하는 것이다.