보관 정책 및 보관 정책 잠금

예시로 이동

이 페이지에서는 버킷의 객체를 보관해야 하는 기간을 관리하는 Cloud Storage 버킷에 대한 데이터 보관 정책을 구성할 수 있는 버킷 잠금 기능에 대해 설명합니다. 이 기능을 사용하면 데이터 보관 정책을 잠글 수 있어 정책이 축소되거나 삭제되는 것을 영구적으로 방지할 수 있습니다.

이 기능은 Cloud Storage에 변경할 수 없는 저장소를 제공합니다. Cloud Storage 요청 및 응답 세부정보를 로깅하는 상세한 감사 로깅 모드와 함께 버킷 잠금은 FINRA, SEC, CFTC와 관련된 요구사항과 같은 규제 및 규정 준수 요구사항을 충족하는 데 유용합니다. 버킷 잠금은 또한 특정한 의료업계의 보관 규정을 준수하는 데도 도움이 됩니다.

개요

  • 버킷에 보관 정책을 추가하여 보관 기간을 지정할 수 있습니다.

    • 버킷에 보관 정책이 없으면 언제든지 버킷에 있는 객체를 삭제하거나 교체할 수 있습니다.

    • 버킷에 보관 정책이 있는 경우 보관 기간보다 오래된 버킷의 객체만 삭제하거나 교체할 수 있습니다.

    • 보관 정책은 버킷의 기존 객체뿐만 아니라 버킷에 추가된 새 객체에도 소급해서 적용됩니다.

  • 보관 정책을 잠그면 버킷에 해당 정책을 영구적으로 설정할 수 있습니다.

    • 보관 정책을 잠그면 보관 정책을 삭제하거나 보관 기간을 줄일 수 없습니다.

    • 보관 정책이 잠긴 버킷은 버킷의 모든 객체가 보관 기간을 충족해야만 삭제할 수 있습니다.

    • 잠긴 보관 정책의 보관 기간을 늘릴 수 있습니다.

    • 보관 정책을 잠그면 데이터가 레코드 보관 규정을 준수하도록 하는 데 도움이 됩니다.

보관 정책

새 버킷을 만들 때 보관 정책을 포함하거나 기존 버킷에 보관 정책을 추가할 수 있습니다. 버킷에 보관 정책을 적용하면 보관 정책에서 정의한 기간에 도달할 때까지 버킷의 현재 및 이후의 모든 객체를 삭제 또는 교체할 수 없습니다. 보관 기간이 지나지 않은 객체를 삭제하거나 교체하려고 하면 403 - retentionPolicyNotMet 오류와 함께 실패합니다.

예를 들어 한 달 전에 추가한 객체 A와 2년 전에 추가한 객체 B라는 두 객체가 있는 버킷이 있다고 가정해 보겠습니다. 버킷에 보관 기간이 1년인 보관 정책을 적용하면 향후 11개월 동안 객체 A를 삭제하거나 교체할 수 없습니다. 객체 A는 현재 1개월이 지났으며 최소한 1년은 지나야 삭제하거나 교체할 수 있습니다. 반면 객체 B는 보관 기간을 경과했기 때문에 즉시 삭제하거나 교체할 수 있습니다. 객체 B를 교체하기로 한 경우 새 버전의 객체 B는 경과 기간이 0년으로 재설정됩니다.

개별 객체를 삭제할 수 있는 시기를 편리하게 추적할 수 있도록 보관 정책이 적용된 버킷의 객체에는 각각 보관 만료 시간 메타데이터가 있습니다. 이러한 메타데이터는 객체의 보관 기간이 만료되는 날짜 및 시간을 보여줍니다.

보관 정책을 사용할 때 다음 사항에 유의하세요.

  • 보관 정책이 잠금 상태가 아니라면 버킷의 보관 정책을 늘리거나, 줄이거나, 삭제할 수 있습니다.

  • 보관 정책의 변경은 영향을 받는 객체 수에 관계없이 단일 A 클래스 작업으로 간주됩니다.

  • 객체의 편집 가능한 메타데이터는 보관 정책의 적용을 받지 않으며, 객체 자체를 수정할 수 없는 경우에도 수정할 수 있습니다.

  • 보관 정책에는 유효 시간, 즉 버킷의 모든 객체가 보관 기간을 준수한다고 보장할 수 있는 시간이 포함됩니다.

  • 보관 정책이 적용된 버킷에서 특정 객체를 삭제할 수 있는 가장 이른 날짜를 확인하려면 객체 메타데이터보관 만료 날짜를 확인합니다.

  • 보관 정책과 객체 버전 관리는 Cloud Storage에서 상호 배타적인 기능입니다. 즉, 특정 버킷에서 한 번에 이들 기능 중 하나만 사용 설정할 수 있습니다. 보관 정책을 적용할 때 버킷에 남아 있는 버전 관리된 객체는 보관 정책으로 보호됩니다.

  • 객체 수명 주기 관리를 사용하여 잠긴 정책이 있는 버킷을 비롯한 버킷의 객체를 자동으로 삭제할 수 있습니다. 수명 주기 규칙은 객체가 보관 정책을 충족할 때까지 객체를 삭제하지 않습니다.

  • 버킷에 보관 정책이 있으면 버킷의 최소 보관 기간이 충족될 때까지 구성요소 조각을 삭제할 수 없기 때문에 동시 복합 업로드를 수행하지 않아야 합니다.

  • 조직 정책보관 정책 제약조건을 사용하여 특정 보관 기간이 있는 보관 정책이 새 버킷을 만들 때 포함되거나 기존 버킷의 보관 정책을 추가/업데이트할 때 포함되도록 할 수 있습니다.

보관 기간

보관 기간은 초 단위로 측정되지만 Google Cloud Consolegsutil과 같은 일부 도구를 사용하면 간편하게 다른 시간 단위를 사용하여 보관 기간을 설정 및 확인할 수 있습니다. 이 경우 다음과 같은 변환이 적용됩니다.

  • 하루는 86,400초로 간주됩니다.
  • 한 달은 31일이며 2,678,400초로 간주됩니다.
  • 1년은 365.25일이며 31,557,600초로 간주됩니다.

최대 보관 기간은 3,155,760,000초(100년)로 설정할 수 있습니다.

gsutil의 경우 보관 기간을 지정할 때 정수와 단위를 지정합니다. 여기서 단위는 각각 초, 일, 월 또는 년을 나타내는 s, d, m 또는 y일 수 있습니다. 한 명령어에 시간 단위 하나만 사용할 수 있습니다. 예를 들어 86400s 또는 1d는 사용할 수 있지만 1d30s는 사용할 수 없습니다.

보관 정책 잠금

버킷의 보관 정책을 잠그면 정책이 삭제되거나 축소되는 것을 방지할 수 있습니다(보관 기간을 늘리는 것도 가능). 잠긴 버킷의 정책 기간을 삭제하거나 줄이려고 하면 400 BadRequestException 오류가 표시됩니다. 보관 정책이 잠기면 버킷의 모든 객체가 보관 기간을 충족할 때까지 버킷을 삭제할 수 없습니다.

보관 정책을 잠그는 것은 되돌릴 수 없으므로 이 기능을 사용하기 전에 보안 정책을 잠그는 것의 의미에 대해 잘 알고 있어야 합니다. 잠금 해제된 보관 정책을 사용하면 정책을 삭제할 수 있으므로 필요할 때 객체를 삭제할 수 있습니다. 보관 정책을 잠근 후에 정책을 '삭제'하려면 전체 버킷을 삭제해야 합니다. 그러나 보관 기간을 채우지 못한 객체가 있는 경우에는 버킷을 삭제할 수 없습니다. 따라서 잠긴 보관 정책을 '삭제'하려면 버킷의 모든 객체가 버킷을 삭제할 수 있는 보관 기간에 도달할 때까지 기다려야 합니다.

또한 보관 정책을 잠그면 Cloud Storage가 버킷이 포함된 프로젝트에 대한 projects.delete 권한에 자동으로 선취권을 적용합니다. 선취권이 적용되면 프로젝트를 삭제할 수 없게 됩니다. 프로젝트를 삭제하려면 먼저 해당 선취권을 모두 삭제해야 합니다. 선취권을 삭제하려면 roles/ownerroles/resourcemanager.lienModifier 역할의 일부인 resourcemanager.projects.updateLiens 권한이 필요합니다.

보관 정책을 잠그면 데이터가 레코드 보관 규정을 준수하는 데 어떤 도움이 되는지에 대한 자세한 내용은 규정 준수 페이지를 참조하세요.

다음 단계