Skip to content

RustFS의 객체 불변성

RustFS와 S3 API - 멀티 클라우드 스토리지를 위한 설계

RustFS는 처음부터 AWS S3 호환성의 표준으로 자리매김했습니다. S3 API(V2 및 V4)의 최초 채택자 중 하나이자 S3에만 집중하는 유일한 스토리지 회사 중 하나로서, RustFS의 거대한 커뮤니티는 다른 AWS 대안이 더 호환성이 높지 않음을 보장합니다. S3 API는 클라우드의 사실상 표준이므로, AWS 대안은 다양한 환경(퍼블릭 클라우드, 프라이빗 클라우드, 데이터센터, 멀티 클라우드, 하이브리드 클라우드 및 엣지)에서 작동하고 상호 운용하기 위해 API를 원활하게 사용할 수 있어야 합니다.

객체 보존

객체 스토리지 보존 규칙은 일정 기간 동안 WORM으로 객체를 보호하도록 보장합니다. 객체 스토리지 보존 정책은 명시적으로 또는 버킷 기본 설정을 통해 객체 버전에 설정된 보존 기간을 지정합니다. 버킷 수준에서 설정된 기본 잠금 구성은 후속에 생성된 객체에 적용되며 이전에 생성된 객체의 버전에 소급 적용되지 않습니다.

버킷 기본 설정을 사용할 때, 버킷에 배치된 각 객체 버전이 보호되어야 하는 기간을 정의하기 위해 일 또는 년 단위의 기간이 설정됩니다. 버킷에 배치된 새 객체는 버킷에 설정된 보호 기간을 상속받습니다.

보존 기간은 객체 버전에 대해 명시적으로 설정될 수 있습니다. 명시적 보존 기간은 객체 버전에 대한 "보존 만료 날짜"를 지정합니다. "보존 만료 날짜"는 객체 버전의 메타데이터에 저장되며 보존 기간이 만료될 때까지 객체 버전을 보호합니다.

보존 기간이 만료된 후에는 법적 보존이 객체 버전에 배치되지 않는 한 객체 버전을 삭제할 수 있습니다.

명시적 보존 모드 설정은 기본 버킷 설정을 재정의합니다.

새로운 잠금 요청을 제출하여 보존 기간을 쉽게 연장할 수 있습니다.

보존 프레임워크 내에서 객체와 버킷에 대한 보존 기간을 설정하는 두 가지 유형의 모드가 있습니다.

거버넌스 모드

거버넌스 모드는 표준 사용자가 객체를 삭제하는 것을 방지하는 데 사용됩니다. 그러나 특정 사용자는 보존 설정을 수정하거나 객체를 삭제하는 데 필요한 권한을 유지해야 합니다. 이러한 사용자는 s3:BypassGovernanceRetention 권한 및 DeleteObject 권한과 같은 특별한 권한이 필요합니다.

컴플라이언스 모드

컴플라이언스 모드는 더 제한적이며 보존 기간 동안 취소할 수 없습니다. 따라서 컴플라이언스 모드는 객체 보존 기간 동안 아무도(루트 사용자 포함) 객체를 삭제할 수 없도록 보장합니다.

법적 보존

법적 보존은 보존 기간과 동일한 WORM 보호를 제공하지만 만료 날짜가 없습니다. 이는 승인된 사용자만이 제거할 수 있는 무기한 보존입니다.

객체에 보존 또는 법적 보존 정책이 정의되어 있으면 계속 버전 관리됩니다. 객체 버전에서 수행된 복제 작업은 소스 버킷에서 대상으로 보존 및 법적 보존 설정을 전송하지 않습니다.

RustFS 데이터 불변성은 Cohasset 인증 표준을 충족하거나 초과합니다

객체 잠금, 보존 및 법적 보존에 대한 황금 표준은 Cohasset Associates의 검증입니다. RustFS의 객체 스토리지 보존 및 데이터 불변성은 특히 SEC Rule 17a-4(f), FINRA Rule 4511 및 CFTC Regulation 1.31과 관련하여 Cohasset Associates로부터 긍정적인 평가를 받았습니다. Rule 17a-4는 브로커-딜러 기록 보존의 기간, 형식, 품질, 가용성 및 책임성과 같은 기록 관리의 많은 측면을 포함하여 전자 데이터 스토리지에 대한 특정 요구사항을 가지고 있습니다.

Cohasset Associates 평가 보고서의 사본은 RustFS에 데이터를 저장할 때 전체를 다운로드하여 관련 규제 기관과 공유할 수 있습니다. 이는 요구사항을 충족하기 위해 RustFS를 구성하는 방법과 객체 잠금 기능을 지원하는 논리에 대해 자세히 설명합니다.

Apache License 2.0 하에 출시되었습니다.