Blob 버전에 대한 불변성 정책 구성
Azure Blob Storage용 변경이 불가능한 스토리지를 사용하면 사용자가 중요 비즈니스용 데이터를 WORM(Write Once, Read Many) 상태로 저장할 수 있습니다. WORM 상태인 데이터는 사용자가 지정한 시간 동안 수정하거나 삭제할 수 없습니다. Blob 데이터에 대한 불변성 정책을 구성하면 데이터를 덮어쓰거나 삭제하지 못하도록 방지할 수 있습니다. 불변성 정책에는 시간 기반 보존 정책과 법적 보존이 포함됩니다. Blob Storage 불변성 정책에 대한 자세한 내용은 비즈니스에 중요한 BLOB 데이터를 변경이 불가능한 스토리지에 저장을 참조하세요.
불변성 정책의 범위는 개별 Blob 버전 또는 컨테이너로 지정할 수 있습니다. 이 문서에서는 버전 수준 불변성 정책을 구성하는 방법에 대해 설명합니다. 컨테이너 수준 불변성 정책을 구성하는 방법에 자세한 내용은 컨테이너에 대한 불변성 정책 구성을 참조하세요.
참고 항목
NFS(네트워크 파일 시스템) 3.0 프로토콜 또는 SFTP(SSH 파일 전송 프로토콜)를 사용하도록 설정된 계정에서는 불변성 정책이 지원되지 않습니다.
버전 수준 불변성 정책 구성은 2단계 프로세스입니다.
- 먼저 새 스토리지 계정이나 새 컨테이너나 기존 컨테이너에서 버전 수준 불변성을 지원하도록 설정합니다. 자세한 내용은 버전 수준 불변성 지원 사용을 참조하세요.
- 다음으로 해당 컨테이너에 있는 하나 이상의 Blob 버전에 적용되는 시간 기반 보존 정책 또는 법적 보존을 구성합니다.
필수 조건
버전 수준 시간 기반 보존 정책을 구성하려면 Blob 버전 관리를 스토리지 계정에 사용하도록 설정해야 합니다. Blob 버전 관리를 사용하도록 설정하면 청구에 영향을 미칠 수 있습니다. Blob 버전 관리를 사용하도록 설정하는 방법을 알아보려면 Blob 버전 관리 사용 및 관리를 참조하세요.
버전 수준 불변성 정책에 지원되는 스토리지 계정 구성에 대한 자세한 내용은 변경 불가능한 Blob 데이터에 대한 버전 수준 WORM 정책을 참조하세요.
버전 수준 불변성에 대한 지원 사용
시간 기반 보존 정책을 Blob 버전에 적용하려면 먼저 버전 수준 불변성 지원을 사용하도록 설정해야 합니다. 새 스토리지 계정이나 새 컨테이너나 기존 컨테이너에서 버전 수준 불변성에 대한 지원을 사용하도록 설정할 수 있습니다.
스토리지 계정에서 버전 수준 불변성 지원 사용
새 스토리지 계정을 만드는 경우에만 버전 수준 불변성에 대한 지원을 사용하도록 설정할 수 있습니다.
Azure Portal에서 스토리지 계정을 만들 때 버전 수준 불변성을 지원하려면 다음 단계를 따릅니다.
Azure Portal에서 스토리지 계정 페이지로 이동합니다.
만들기 단추를 선택하여 새 계정을 만듭니다.
기본 사항 탭을 채웁니다.
데이터 보호 탭의 액세스 제어에서 버전 수준 불변성 지원 사용을 선택합니다. 이 확인란을 선택하면 BLOB에 대한 버전 관리 사용 확인란도 자동으로 선택됩니다.
검토 + 만들기를 선택하여 계정 매개 변수를 유효성 검사하고 스토리지 계정을 만듭니다.
스토리지 계정을 만든 후 계정에 대한 기본 버전 수준 정책을 구성할 수 있습니다. 자세한 내용은 기본 시간 기반 보존 정책 구성을 참조하세요.
스토리지 계정에 대해 버전 수준의 불변성 지원을 사용하도록 설정되어 있으며 계정에 하나 이상의 컨테이너가 포함된 경우, 계정 또는 컨테이너에 대해 적용되는 불변성 정책이 없는 경우에도 스토리지 계정을 삭제하기 전에 모든 컨테이너를 삭제해야 합니다.
참고 항목
버전 수준 불변성이 스토리지 계정에서 사용하도록 설정된 후에는 사용하지 않도록 설정할 수 없지만, 잠긴 정책은 삭제할 수 있습니다.
컨테이너에서 버전 수준 불변성 지원 사용
새 컨테이너와 기존 컨테이너 모두에서 버전 수준 불변성을 지원하도록 구성할 수 있습니다. 그러나 기존 컨테이너는 지원을 사용하도록 설정하기 위해 마이그레이션 프로세스를 거쳐야 합니다.
컨테이너에 대한 버전 수준 불변성 지원을 사용하도록 설정해도 해당 컨테이너의 데이터는 변경할 수 없습니다. 또한 컨테이너에 대한 기본 불변성 정책 또는 특정 Blob 버전에 대한 불변성 정책을 구성해야 합니다. 스토리지 계정을 만들 때 버전 수준 불변성을 사용하도록 설정한 경우 계정에 대한 기본 불변성 정책을 구성할 수도 있습니다.
새 컨테이너에 버전 수준 불변성 사용
버전 수준 불변성 정책을 사용하려면 먼저 컨테이너에서 버전 수준 WORM 지원을 명시적으로 사용하도록 설정해야 합니다. 컨테이너를 만들거나 버전 수준 불변성 정책을 기존 컨테이너에 추가할 때 버전 수준 WORM 지원을 사용하도록 설정할 수 있습니다.
Azure Portal에서 버전 수준 불변성을 지원하는 컨테이너를 만들려면 다음 단계를 수행합니다.
Azure Portal에서 스토리지 계정에 대한 컨테이너 페이지로 이동하여 추가를 선택합니다.
새 컨테이너 대화 상자에서 컨테이너 이름을 제공한 다음, 고급 섹션을 펼칩니다.
버전 수준 불변성 지원 사용을 선택하여 버전 수준 불변성을 컨테이너에 사용하도록 설정합니다.
컨테이너에 대해 버전 수준의 불변성 지원을 사용하도록 설정되어 있으며 컨테이너에 하나 이상의 BLOB이 포함된 경우, 컨테이너 또는 BLOB에 대해 적용되는 불변성 정책이 없는 경우에도 컨테이너를 삭제하기 전에 모든 BLOB을 삭제해야 합니다.
버전 수준 불변성을 지원하도록 기존 컨테이너 마이그레이션
기존 컨테이너에 대한 버전 수준 불변성 정책을 구성하려면 변경이 불가능한 버전 수준 스토리지를 지원하도록 컨테이너를 마이그레이션해야 합니다. 컨테이너를 마이그레이션하는 데 시간이 다소 걸릴 수 있으며, 이를 되돌릴 수 없습니다. 스토리지 계정당 한 번에 10개의 컨테이너를 마이그레이션할 수 있습니다.
버전 수준 불변성 정책을 지원하도록 기존 컨테이너를 마이그레이션하려면 컨테이너에 컨테이너 수준 시간 기반 보존 정책이 구성되어 있어야 합니다. 컨테이너에 기존 정책이 없으면 마이그레이션에 실패합니다. 컨테이너 수준 정책의 보존 간격은 컨테이너에 대한 기본 버전 수준 정책의 보존 간격으로 유지됩니다.
컨테이너에 기존 컨테이너 수준 법적 보존이 있는 경우 이 법적 보존이 제거될 때까지 마이그레이션할 수 없습니다.
Azure Portal에서 버전 수준 불변성 정책을 지원하도록 컨테이너를 마이그레이션하려면 다음 단계를 수행합니다.
원하는 컨테이너로 이동합니다.
컨테이너의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
변경 불가능한 Blob 스토리지 아래에서 정책 추가를 선택합니다.
정책 유형 필드에서 시간 기반 보존을 선택하고, 보존 간격을 지정합니다.
버전 수준 불변성 사용을 선택합니다.
확인을 선택하여 지정된 보존 간격으로 컨테이너 수준 정책을 만든 다음, 버전 수준 불변성 지원으로 마이그레이션을 시작합니다.
마이그레이션 작업이 진행되는 동안 컨테이너에 대한 정책 범위는 ‘컨테이너’로 표시됩니다. 컨테이너 마이그레이션이 진행되는 동안에는 버전 수준 불변성 정책 관리와 관련된 모든 작업이 허용되지 않습니다. Blob 데이터에 대한 다른 작업은 마이그레이션 중에 정상적으로 진행됩니다.
마이그레이션이 완료되면 컨테이너에 대한 정책 범위가 ‘버전’으로 표시됩니다. 표시된 정책은 컨테이너에 대한 기본 정책으로, 이후 컨테이너에서 생성된 모든 Blob 버전에 자동으로 적용됩니다. 버전에 대한 사용자 지정 정책을 지정하여 해당 버전의 기본 정책을 재정의할 수 있습니다.
기본 시간 기반 보존 정책 구성
스토리지 계정 또는 개별 컨테이너에 대해 버전 수준 불변성 지원을 사용하도록 설정한 후 계정 또는 컨테이너에 대한 기본 버전 수준 시간 기반 보존 정책을 지정할 수 있습니다. 계정 또는 컨테이너에 대한 기본 정책을 지정하면 해당 정책은 기본적으로 계정 또는 컨테이너에서 만들어지는 모든 새 Blob 버전에 적용됩니다. 계정 또는 컨테이너의 모든 개별 Blob 버전에 대한 기본 정책을 재정의할 수 있습니다.
기본 정책이 구성되기 전에 있던 Blob 버전에는 해당 기본 정책이 자동으로 적용되지 않습니다.
버전 수준 불변성을 지원하도록 기존 컨테이너를 마이그레이션한 경우 마이그레이션 전에 적용된 컨테이너 수준 정책이 컨테이너의 기본 버전 수준 정책으로 마이그레이션됩니다.
스토리지 계정 또는 컨테이너에 대한 기본 버전 수준 불변성 정책을 구성하려면 Azure Portal, PowerShell, Azure CLI 또는 Azure Storage SDK 중 하나를 사용합니다. 버전 수준 불변성 지원 사용에 설명된 대로 스토리지 계정 또는 컨테이너에 대한 버전 수준 불변성에 대한 지원을 사용하도록 설정했는지 확인합니다.
Azure Portal에서 스토리지 계정에 대한 기본 버전 수준 불변성 정책을 구성하려면 다음 단계를 따릅니다.
Azure Portal에서 스토리지 계정으로 이동합니다.
데이터 관리에서 데이터 보호를 선택합니다.
데이터 보호 페이지에서 액세스 제어 섹션을 찾습니다. 버전 수준 불변성을 지원하여 스토리지 계정을 만든 경우 액세스 제어 섹션에 정책 관리 단추가 나타납니다.
정책 관리 단추를 선택하여 버전 수준 불변성 정책 관리 대화 상자를 표시합니다.
스토리지 계정에 대한 기본 시간 기반 보존 정책을 추가합니다.
Azure Portal에서 컨테이너의 기본 버전 수준 불변성 정책을 구성하려면 다음 단계를 수행합니다.
Azure Portal에서 컨테이너 페이지로 이동하여 정책을 적용하려는 컨테이너를 찾습니다.
컨테이너의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
액세스 정책 대화 상자의 변경이 불가능한 Blob 스토리지 섹션 아래에서 정책 추가를 선택합니다.
시간 기반 보존 정책을 선택하고, 보존 간격을 지정합니다.
보호된 추가 쓰기 허용 여부를 선택합니다.
추가 Blob 옵션을 사용하면 워크로드에서 블록 추가 작업을 사용하여 추가 Blob의 끝에 새 데이터 블록을 추가할 수 있습니다.
블록 및 추가 Blob 옵션은 블록 Blob에 새 블록을 쓰는 기능을 추가하여 이 지원을 확장합니다. Blob Storage API는 애플리케이션이 이를 직접 수행하는 방법을 제공하지 않습니다. 그러나 애플리케이션은 Data Lake Storage API에서 사용할 수 있는 추가 및 플러시 메서드를 사용하여 이 작업을 수행할 수 있습니다. 또한 이 속성을 사용하면 Azure Data Factory와 같은 Microsoft 애플리케이션에서 내부 API를 사용하여 데이터 블록을 추가할 수 있습니다. 워크로드가 이러한 도구에 의존하는 경우 이 속성을 사용하여 해당 도구가 Blob에 데이터를 추가하려고 할 때 나타날 수 있는 오류를 방지할 수 있습니다.
이러한 옵션에 대한 자세한 내용은 보호된 추가 Blob 쓰기 허용을 참조하세요.
컨테이너에 대한 보존 정책 범위 결정
Azure Portal에서 시간 기반 보존 정책의 범위를 결정하려면 다음 단계를 수행합니다.
원하는 컨테이너로 이동합니다.
컨테이너의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
변경이 불가능한 Blob 스토리지 아래에서 범위 필드를 찾습니다. 컨테이너가 기본 버전 수준 보존 정책으로 구성된 경우 범위는 다음 이미지와 같이 버전으로 설정됩니다.
컨테이너가 컨테이너 수준 보존 정책으로 구성된 경우 범위는 다음 이미지와 같이 컨테이너로 설정됩니다.
기존 버전에 대한 시간 기반 보존 정책 구성
시간 기반 보존 정책은 Blob 데이터를 지정된 간격 동안 WORM 상태로 유지합니다. 시간 기반 보존 정책에 대한 자세한 내용은 변경이 불가능한 Blob 데이터에 대한 시간 기반 보존 정책을 참조하세요.
Blob 버전에 대한 시간 기반 보존 정책을 구성할 수 있는 세 가지 옵션이 있습니다.
- 옵션 1: 계정 또는 컨테이너의 모든 개체에 적용되는 스토리지 계정 또는 컨테이너에 대한 기본 정책을 구성할 수 있습니다. 계정 또는 컨테이너의 개체는 개별 Blob 버전에 대한 정책을 구성하여 명시적으로 재정의하는 경우를 제외하고는 기본 정책을 상속합니다. 자세한 내용은 기본 시간 기반 보존 정책 구성을 참조하세요.
- 옵션 2: 현재 버전의 Blob에 대한 정책을 구성할 수 있습니다. 이 정책은 기본 정책이 있고 잠금 해제된 경우 스토리지 계정 또는 컨테이너에 구성된 기본 정책을 재정의할 수 있습니다. 정책이 구성된 후에 만든 모든 이전 버전은 기본적으로 현재 버전의 Blob에 대한 정책을 상속합니다. 자세한 내용은 현재 버전의 Blob에 대한 보존 정책 구성을 참조하세요.
- 옵션 3: 이전 버전의 Blob에 대한 정책을 구성할 수 있습니다. 이 정책은 현재 버전에 대해 구성된 기본 정책이 있고 잠금 해제된 경우 해당 정책을 재정의할 수 있습니다. 자세한 내용은 이전 버전의 Blob에 대한 보존 정책 구성을 참조하세요.
Blob 버전 관리에 대한 자세한 내용은 Blob 버전 관리를 참조하세요.
컨테이너로 이동하면 Azure Portal에서 Blob 목록을 표시합니다. 표시된 각 Blob은 현재 버전의 Blob을 나타냅니다. Blob의 바로 가기 메뉴를 연 다음 이전 버전 보기를 선택하여 이전 버전 목록에 액세스할 수 있습니다.
현재 버전의 Blob에 대한 보존 정책 구성
현재 버전의 Blob에 대한 시간 기반 보존 정책을 구성하려면 다음 단계를 수행합니다.
대상 Blob이 포함된 컨테이너로 이동합니다.
Blob의 바로 가기 메뉴에서 액세스 정책을 선택합니다. 이전 버전에 대해 시간 기반 보존 정책이 이미 구성된 경우 해당 정책이 액세스 정책 대화 상자에 표시됩니다.
액세스 정책 대화 상자의 변경이 불가능한 Blob 버전 섹션 아래에서 정책 추가를 선택합니다.
시간 기반 보존 정책을 선택하고, 보존 간격을 지정합니다.
확인을 선택하여 정책을 현재 버전의 Blob에 적용합니다.
Blob에 대한 속성을 보고 현재 버전에 대한 정책이 사용하도록 설정되어 있는지 여부를 확인할 수 있습니다. Blob을 선택한 다음, 개요 탭으로 이동하여 버전 수준 불변성 정책 속성을 찾습니다. 정책이 사용하도록 설정되면 보존 기간 속성에서 정책에 대한 만료 날짜와 시간을 표시합니다. 정책은 현재 버전에 대해 구성되거나 기본 정책이 적용되는 경우 Blob의 부모 컨테이너에서 상속될 수 있습니다.
이전 버전의 Blob에 대한 보존 정책 구성
이전 버전의 Blob에 대한 시간 기반 보존 정책도 구성할 수 있습니다. 이전 버전은 수정할 수 없다는 점에서 항상 변경할 수 없습니다. 그러나 이전 버전을 삭제할 수는 있습니다. 시간 기반 보존 정책은 적용되는 동안 삭제하지 못하도록 보호합니다.
이전 버전의 Blob에 대한 시간 기반 보존 정책을 구성하려면 다음 단계를 수행합니다.
대상 Blob이 포함된 컨테이너로 이동합니다.
Blob을 선택한 다음, 버전 탭으로 이동합니다.
대상 버전을 찾은 다음, 버전의 바로 가기 메뉴에서 액세스 정책을 선택합니다. 이전 버전에 대해 시간 기반 보존 정책이 이미 구성된 경우 해당 정책이 액세스 정책 대화 상자에 표시됩니다.
액세스 정책 대화 상자의 변경이 불가능한 Blob 버전 섹션 아래에서 정책 추가를 선택합니다.
시간 기반 보존 정책을 선택하고, 보존 간격을 지정합니다.
확인을 선택하여 정책을 현재 버전의 Blob에 적용합니다.
Blob을 업로드할 때 시간 기반 보존 정책 구성
Azure Portal을 사용하여 버전 수준 불변성을 지원하는 컨테이너에 Blob을 업로드하는 경우 새 Blob에 대한 시간 기반 보존 정책을 구성할 수 있는 몇 가지 옵션이 있습니다.
- 옵션 1: 컨테이너에 대해 기본 보존 정책이 구성된 경우 컨테이너의 정책을 사용하여 Blob을 업로드할 수 있습니다. 컨테이너에 대한 보존 정책이 있는 경우 이 옵션이 기본적으로 선택됩니다.
- 옵션 2: 컨테이너에 대해 기본 보존 정책이 구성된 경우 새 Blob에 대한 사용자 지정 보존 정책을 정의하거나 정책을 사용하지 않고 Blob을 업로드하여 기본 정책을 재정의하도록 선택할 수 있습니다.
- 옵션 3: 컨테이너에 대해 기본 정책이 구성되지 않은 경우 사용자 지정 정책을 사용하거나 정책을 사용하지 않고 Blob을 업로드할 수 있습니다.
Blob을 업로드할 때 시간 기반 보존 정책을 구성하려면 다음 단계를 수행합니다.
원하는 컨테이너로 이동하여 업로드를 선택합니다.
Blob 업로드 대화 상자에서 고급 섹션을 펼칩니다.
보존 정책 필드에서 새 Blob에 대한 시간 기반 보존 정책을 구성합니다. 컨테이너에 대해 구성된 기본 정책이 있는 경우 해당 정책이 기본적으로 선택됩니다. Blob에 대한 사용자 지정 정책도 지정할 수 있습니다.
잠금 해제된 보존 정책 수정 또는 삭제
보존 간격을 줄이거나 늘리도록 잠금 해제된 시간 기반 보존 정책을 수정할 수 있습니다. 잠금 해제된 정책을 삭제할 수도 있습니다. Blob 버전에 대한 잠금 해제된 시간 기반 보존 정책을 편집하거나 삭제해도 다른 버전에 적용되는 정책에는 영향을 주지 않습니다. 컨테이너에 적용되는 기본 시간 기반 보존 정책이 있는 경우 수정되거나 삭제된 정책이 있는 Blob 버전은 더 이상 컨테이너에서 상속되지 않습니다.
Azure Portal에서 잠금 해제된 시간 기반 보존 정책을 수정하려면 다음 단계를 수행합니다.
대상 컨테이너 또는 버전을 찾습니다. 컨테이너 또는 버전의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
잠금 해제된 기존 불변성 정책을 찾습니다. 바로 가기 메뉴에서 편집을 선택합니다.
정책 만료에 대한 새 날짜와 시간을 제공합니다.
잠금 해제된 정책을 삭제하려면 바로 가기 메뉴에서 삭제를 선택합니다.
시간 기반 보존 정책 잠금
시간 기반 보존 정책 테스트가 완료되면 해당 정책을 잠글 수 있습니다. 잠긴 정책은 SEC 17a-4(f) 및 기타 규정을 준수합니다. 잠긴 정책의 보존 간격을 최대 5배까지 늘릴 수 있지만, 줄일 수는 없습니다.
정책이 잠기면 해당 정책을 삭제할 수 없습니다. 그러나 보존 간격이 만료되면 Blob을 삭제할 수 있습니다.
Azure Portal에서 정책을 잠그려면 다음 단계를 수행합니다.
대상 컨테이너 또는 버전을 찾습니다. 컨테이너 또는 버전의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
변경이 불가능한 Blob 버전 섹션 아래에서 잠금 해제된 기존 정책을 찾습니다. 바로 가기 메뉴에서 잠금 정책을 선택합니다.
정책을 잠글 것인지 확인합니다.
법적 보존 구성 또는 취소
법적 보존이 명시적으로 취소될 때까지 해당 법적 보존에서 변경이 불가능한 데이터를 저장합니다. 법적 보존 정책에 대한 자세한 내용은 변경이 불가능한 Blob 데이터에 대한 법적 보존을 참조하세요.
Blob 버전에 대한 법적 보존을 구성하려면 먼저 스토리지 계정 또는 컨테이너에서 버전 수준 불변성 지원을 사용하도록 설정해야 합니다. 자세한 내용은 버전 수준 불변성 지원 사용을 참조하세요.
Azure Portal을 사용하여 Blob 버전에 대한 법적 보존을 구성하려면 다음 단계를 수행합니다.
Blob의 현재 버전 또는 이전 버전일 수 있는 대상 버전을 찾습니다. 대상 버전의 바로 가기 메뉴에서 액세스 정책을 선택합니다.
변경이 불가능한 Blob 버전 섹션 아래에서 정책 추가를 선택합니다.
정책 유형으로 법적 보존을 선택하고, 확인을 선택하여 적용합니다.
다음 이미지에서는 시간 기반 보존 정책과 법적 보존이 모두 구성된 현재 버전의 Blob을 보여 줍니다.
법적 보존을 지우려면 액세스 정책 대화 상자로 이동하고 바로 가기 메뉴에서 삭제를 선택합니다.