버킷 잠금

설정

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

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

개요

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

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

    • 정책은 버킷의 기존 객체뿐만 아니라 버킷에 추가된 새 객체에도 소급 적용됩니다. 이는 객체별로 데이터 보관 요구사항을 정의할 수 있는 객체 보관 잠금 기능과 다릅니다.

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

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

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

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

버킷 보관 정책

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

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

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

일반적인 고려사항

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

  • 버킷의 보관 정책이 잠겨 있으면 정책을 늘리거나 줄이거나 삭제할 수 없습니다.

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

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

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

다른 기능의 고려사항

다음은 다른 Cloud Storage 기능과 보관 정책의 상호작용입니다.

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

  • 이벤트 기반 보존 조치가 적용되는 객체는 보존 조치가 적용되는 동안 삭제될 수 없습니다. 객체에서 이벤트 기반 보존 조치가 삭제되면 객체의 보관 기간이 재설정됩니다.

  • 개별 객체에는 버킷의 보관 정책과 고유한 개별 보관 구성이 적용될 수 있습니다. 객체에 두 가지 모두가 적용되는 경우 두 보관이 모두 충족될 때까지 보관됩니다.

  • 객체가 해당 보관 만료 시간을 충족하지 않으면 잠긴 버킷의 객체를 암호화하는 Cloud Key Management Service 키 버전을 폐기할 수 없습니다. 자세한 내용은 잠긴 객체를 암호화하는 데 사용되는 키 버전을 참조하세요.

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

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

  • 결과로 생성된 객체가 아직 보관 기간을 채우지 못한 객체를 덮어쓸 경우 XML API 멀티파트 업로드 완료 시도가 실패합니다.

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

보관 기간

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

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

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

gcloud CLI 경우 보관 기간을 지정할 때 정수와 단위를 지정합니다. 여기서 단위는 각각 초, 일, 월 또는 년을 나타내는 s, d, m 또는 y일 수 있습니다. 예를 들어 1d43200s는 보관 기간을 1일 43,200초(1.5일)로 설정합니다.

보관 정책 잠금

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

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

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

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

다음 단계