버전 관리 일시 중단 버킷에서 객체 삭제

버전 관리 일시 중단 버킷에서 객체 삭제 (Deleting objects from versioning-suspended buckets)

버전 관리 일시 중단 버킷에서 객체를 삭제해 null 버전 ID를 가진 객체를 제거할 수 있어요.

버킷에서 버전 관리가 일시 중단된 경우 DELETE 요청은:

  • 버전 ID가 null인 객체만 제거할 수 있어요.
  • 버킷에 객체의 null 버전이 없으면 아무것도 제거하지 않아요.
  • 버킷에 삭제 마커(delete marker)를 삽입해요.

버킷 버전 관리가 일시 중단된 경우, 작업은 null versionId를 가진 객체를 제거해요. 버전 ID가 있으면 Amazon S3는 현재 버전이 되는 삭제 마커를 삽입해요. 다음 그림은 간단한 DELETE가 null 버전을 제거하고 Amazon S3가 그 자리에 null 버전 ID를 가진 삭제 마커를 대신 삽입하는 방식을 보여줘요.

versionId를 가진 객체를 영구 삭제하려면 요청에 객체의 versionId를 포함해야 해요. 삭제 마커에는 내용이 없으므로, 삭제 마커가 null 버전을 대체하면 null 버전의 내용을 잃게 돼요.

다음 그림은 null 버전이 없는 버킷을 보여줘요. 이 경우 DELETE는 아무것도 제거하지 않아요. 대신 Amazon S3는 삭제 마커만 삽입해요.

버전 관리 일시 중단 버킷에서도 버킷 소유자는 DELETE 요청에 버전 ID를 포함하면 지정된 버전을 영구 삭제할 수 있어요. 단, DELETE 요청에 대한 권한이 명시적으로 거부된 경우는 예외예요. 예를 들어 null 버전 ID를 가진 객체의 삭제를 거부하려면 s3:DeleteObject 및 s3:DeleteObjectVersions 권한을 명시적으로 거부해야 해요.

다음 그림은 지정된 객체 버전을 삭제하면 해당 객체 버전이 영구적으로 제거되는 것을 보여줘요. 지정된 객체 버전을 삭제할 수 있는 사람은 버킷 소유자뿐이에요.

출처: 문서

더 알아보기