변경이 불가능한 Blob 데이터에 대한 버전 수준 WORM(Write Once, Read Many) 정책

버전 수준 WORM(Write Once, Read Many) 정책은 계정, 컨테이너 또는 버전 수준에서 설정할 수 있는 불변성 정책 형식입니다. Azure Blob Storage의 변경이 불가능한 스토리지에 대해 자세히 알아보려면 WORM(Write Once, Read Many) 상태로 변경이 불가능한 스토리지를 사용하여 비즈니스에 중요한 Blob 데이터 저장을 참조하세요.

가용성

VLW(버전 수준 불변성) 정책은 새 계정의 경우 계정 수준에서 지원되고, 신규 및 기존 계정/컨테이너의 경우 컨테이너 및 Blob 수준에서 지원됩니다. 이러한 정책은 범용 v2 및 프리미엄 블록 Blob 계정 모두에 대해 지원됩니다. 계층 구조 네임스페이스 계정에서는 이 기능이 지원되지 않습니다.

버전 의존성

버전 관리 수준 정책을 사용하려면 스토리지 계정에 대해 Blob 버전 관리를 사용하도록 설정해야 합니다. Blob 버전 관리를 사용하도록 설정하는 방법을 알아보려면 Blob 버전 관리 사용 및 관리를 참조하세요. 버전 관리를 사용하도록 설정하면 청구에 영향을 줄 수 있습니다. 자세한 내용은 Blob 버전 관리에 대한 가격 책정 및 청구 섹션을 참조하세요.

버전 관리가 사용하도록 설정되면 Blob이 처음 업로드될 때 해당 버전의 Blob이 현재 버전입니다. Blob을 덮어쓸 때마다 이전 Blob 상태를 저장하는 새 버전이 만들어집니다. 현재 버전의 Blob을 삭제하면 현재 버전은 이전 버전이 되며 명시적으로 삭제할 때까지 유지됩니다. 이전 Blob 버전에는 현재 버전이 이전 버전이 되었을 때 적용된 시간 기반 보존 정책이 있습니다.

기본 정책이 스토리지 계정 컨테이너에 적용되는 경우 덮어쓰기 작업에서 이전 버전을 만들 때 새로운 현재 버전에서 계정 또는 컨테이너에 대한 기본 정책을 상속합니다.

각 버전에는 하나의 시간 기반 보존 정책만 구성되어 있을 수 있습니다. 버전에는 하나의 법적 보류가 구성되어 있을 수도 있습니다.

버전 수준 시간 기반 보존 정책을 구성하는 방법에 대한 자세한 내용은 Blob 버전에 대한 불변성 정책 구성을 참조하세요.

사용 및 정책 설정

버전 수준 WORM에서 변경이 불가능한 정책을 사용하는 것은 2단계 프로세스입니다. 먼저 버전 수준 불변성을 사용하도록 설정합니다. 그런 다음 버전 수준 불변성 정책을 설정할 수 있습니다.

스토리지 계정 수준에서 정책을 설정하려면 먼저 스토리지 계정에서 버전 수준 WORM을 사용하도록 설정해야 합니다. 이 작업은 계정을 만들 때만 가능합니다. 기존 계정에 대해 버전 수준 WORM을 사용하도록 설정하는 옵션은 없습니다.

계정 수준에서 버전 수준 변경이 불가능한 스토리지에 대한 정책을 설정하는 다이어그램.

컨테이너 수준에서 정책을 설정하려면 먼저 계정 또는 컨테이너에서 버전 수준 WORM을 사용하도록 설정해야 합니다.

컨테이너에서 버전 수준 WORM을 사용하도록 설정하려는 경우 컨테이너를 만들 때 사용하도록 설정하는 것이 좋습니다. 그러나 버전 수준이 아닌 WORM 지원 컨테이너를 버전 수준 WORM 지원 컨테이너로 마이그레이션할 수 있습니다. 컨테이너를 마이그레이션하지 않기로 선택한 경우에도 해당 컨테이너에 컨테이너 수준 WORM 정책을 설정할 수 있지만 Blob 수준 정책을 설정하는 옵션은 해당 컨테이너에서 사용할 수 없습니다.

컨테이너 수준에서 버전 수준 변경이 불가능한 스토리지에 대한 정책을 설정하는 다이어그램.

Blob 수준에서 정책을 설정하려면 계정 또는 컨테이너에서 버전 수준 WORM을 사용하도록 설정해야 합니다. Blob 수준에서 버전 수준 WORM을 사용하도록 설정하는 옵션은 없습니다. 이는 상속되어야 합니다.

Blob 수준에서 버전 수준 변경이 불가능한 스토리지에 대한 정책을 설정하는 다이어그램.

마이그레이션

기존 컨테이너는 버전 수준 불변성을 지원할 수 있지만 먼저 마이그레이션 프로세스를 거쳐야 합니다. 이 프로세스는 시간이 약간 걸릴 수 있습니다. 일단 사용하도록 설정되면 해당 컨테이너에 대한 버전 수준 WORM 지원을 제거할 수 없습니다. 스토리지 계정당 한 번에 10개의 컨테이너를 마이그레이션할 수 있습니다. 버전 수준 불변성을 지원하도록 컨테이너를 마이그레이션하는 방법에 대한 자세한 내용은 버전 수준 불변성을 지원하도록 기존 컨테이너 마이그레이션을 참조하세요.

현재 버전에 대한 정책 구성

스토리지 계정 또는 컨테이너의 버전 수준 불변성을 지원하도록 설정하면 계정 또는 컨테이너에 대한 기본 시간 기반 보존 정책을 구성할 수 있습니다. 계정 또는 컨테이너의 기본 시간 기반 보존 정책을 구성하고 Blob을 업로드하면 Blob이 해당 기본 정책을 상속합니다. 또한 Blob에 대한 사용자 지정 정책을 구성하여 업로드 시 해당 Blob에 대한 기본 정책을 재정의하도록 선택할 수 있습니다.

계정 또는 컨테이너에 대한 기본 시간 기반 보존 정책이 잠금 해제된 경우 기본 정책을 상속하는 현재 버전의 Blob에도 잠금 해제된 정책이 있습니다. 개별 Blob이 업로드되면 현재 버전의 Blob에 대한 정책의 보존 기간을 줄이거나 늘리거나 현재 버전을 삭제할 수 있습니다. 또한 계정 또는 컨테이너에 대한 기본 정책이 잠금 해제된 상태로 유지되는 경우에도 현재 버전에 대한 정책을 잠글 수 있습니다.

계정 또는 컨테이너에 대한 기본 시간 기반 보존 정책이 잠겨 있으면 기본 정책을 상속하는 현재 버전의 Blob에도 잠긴 정책이 있습니다. 그러나 해당 Blob에 대해서만 정책을 설정하여 Blob을 업로드할 때 기본 정책을 재정의하면 해당 Blob의 정책이 명시적으로 잠글 때까지 잠금 해제된 상태로 유지됩니다. 현재 버전의 정책이 잠기면 보존 간격을 늘릴 수 있지만 정책을 삭제하거나 보존 간격을 줄일 수는 없습니다.

스토리지 계정 또는 컨테이너에 대한 기본 정책이 구성되지 않았으면 사용자 지정 정책을 사용하거나 정책을 사용하지 않고 Blob을 업로드할 수 있습니다.

스토리지 계정 또는 컨테이너에 대한 기본 정책이 수정되면 해당 컨테이너 내의 개체에 대한 정책이 기본 정책에서 상속된 경우에도 변경되지 않은 상태로 유지됩니다.

다음 표에서는 업로드 시 Blob에 대한 시간 기반 보존 정책을 설정하는 데 사용할 수 있는 다양한 옵션을 보여 줍니다.

계정 또는 컨테이너의 기본 정책 상태 기본 정책을 사용하여 Blob 업로드 사용자 지정 정책을 사용하여 Blob 업로드 정책을 사용하지 않고 Blob 업로드
계정 또는 컨테이너의 기본 정책(잠금 해제됨) Blob이 잠금 해제된 기본 정책을 사용하여 업로드됨 Blob이 잠금 해제된 사용자 지정 정책을 사용하여 업로드됨 Blob이 정책을 사용하지 않고 업로드됨
계정 또는 컨테이너의 기본 정책(잠김) Blob이 잠긴 기본 정책을 사용하여 업로드됨 Blob이 잠금 해제된 사용자 지정 정책을 사용하여 업로드됨 Blob이 정책을 사용하지 않고 업로드됨
계정 또는 컨테이너에 대한 기본 정책 없음 해당 없음 Blob이 잠금 해제된 사용자 지정 정책을 사용하여 업로드됨 Blob이 정책을 사용하지 않고 업로드됨

이전 버전에 대한 정책 구성

버전 관리가 사용하도록 설정되면 Blob에 대한 쓰기 또는 삭제 작업에서 작업 전에 Blob의 상태를 저장하는 해당 Blob의 새 이전 버전을 만듭니다. 기본적으로 현재 버전이 이전 버전이 되면 해당 이전 버전에는 현재 버전에 적용된 시간 기반 보존 정책(있는 경우)이 있습니다. 컨테이너에 대한 정책이 있는 경우 새 현재 버전에서 해당 정책을 상속합니다.

이전 버전에서 상속된 정책이 잠금 해제되면 보존 간격을 줄이거나 늘리거나 정책을 삭제할 수 있습니다. 또한 현재 버전에 대한 정책이 잠금 해제된 경우에도 이전 버전에 대한 정책은 해당 버전에 대해 잠길 수 있습니다.

이전 버전에서 상속된 정책이 잠기면 보존 간격을 늘릴 수 있습니다. 정책을 삭제할 수 없으며 보존 간격을 단축할 수도 없습니다. 현재 버전에 구성된 정책이 없으면 이전 버전은 정책을 상속하지 않습니다.

버전에 대한 사용자 지정 정책은 구성할 수 있습니다. 현재 버전에 대한 정책이 수정되면 정책이 현재 버전에서 상속된 경우에도 기존 이전 버전에 대한 정책이 변경되지 않은 상태로 유지됩니다.

삭제

변경이 불가능한 정책에 대해 계정이나 컨테이너가 사용하도록 설정되면 비워질 때까지 삭제할 수 없습니다. 가장 주목해야 할 점은 버전 수준 WORM 계정이나 컨테이너에 변경 불가능한 정책이 설정되었는지 여부는 중요하지 않고 정책에 대해 사용하도록 설정되었는지 여부가 중요하다는 것입니다. 일단 삭제하려면 계정이나 컨테이너가 비어 있어야 합니다.

버전 수준 불변성 정책이 있는 계정을 삭제하는 작업 순서를 보여 주는 다이어그램.

시나리오

시나리오 금지된 작업 Blob 보호 컨테이너 보호 계정 보호
Blob 버전이 활성 보존 정책을 통해 보호되고/되거나 법적 보존이 적용되고 있습니다. Blob 삭제, Blob 메타데이터 설정페이지 배치 Blob 버전은 삭제할 수 없습니다. 사용자 메타데이터를 쓸 수 없습니다.
Blob을 Blob 배치, 블록 목록 배치 또는 Blob 복사로 덮어쓰면 새 버전이 생성됩니다.1
정책 잠금 또는 잠금 해제 여부에 관계 없이 하나 이상의 Blob이 컨테이너에 있는 경우 컨테이너를 삭제할 수 없습니다. 버전 수준 변경이 불가능한 스토리지가 사용하도록 설정된 컨테이너가 하나 이상 있거나 계정에 대해 사용하도록 설정된 경우 스토리지 계정 삭제가 실패합니다.
Blob 버전이 만료된 보존 정책을 통해 보호되고 있으며 법적 보존이 적용되고 있지 않습니다. Blob 메타데이터 설정 및 페이지 배치 Blob 버전이 만료된 보존 정책을 통해 보호되고 있으며 법적 보존이 적용되고 있지 않습니다. Blob 버전을 삭제할 수 있습니다.
Blob을 Blob 배치, 블록 목록 배치 또는 Blob 복사로 덮어쓰면 새 버전이 생성됩니다.1
시간 기반 보존 정책이 잠긴 Blob 버전을 포함하고 있는 컨테이너가 하나 이상 있는 경우 스토리지 계정 삭제가 실패합니다.
잠금 해제된 정책은 삭제 보호를 제공하지 않습니다.

1 Blob 버전은 항상 콘텐츠에 대해 변경할 수 없습니다. 스토리지 계정에 대해 버전 관리를 사용하도록 설정하면 블록 Blob에 대한 쓰기 작업이 새 버전을 만듭니다. 단, 블록 배치 작업은 예외입니다.

제한

하나의 계정에는 고유한 시간 기반 보존 정책으로 설정된 컨테이너가 10,000개만 있을 수 있습니다. 그러나 10,000개가 넘는 컨테이너에 상속되는 계정 수준 정책을 설정할 수 있습니다.

다음 단계