您可以使用物件保留功能,防止 Cloud Storage 資料遭到刪除或替換。這些保留措施可協助您符合法規遵循或法律探索要求。您可以對個別物件套用事件型和暫時性保留。此外,您也可以設定 bucket,根據預設對新物件套用事件型保留。
本頁說明如何使用物件保留功能,包括預設對新物件套用保留,以及對個別物件套用保留。
所需權限
如要在 Cloud Storage 中使用這項功能,您必須具備足夠的權限,才能查看及更新 Cloud Storage 中的 bucket 和物件:
如果您是 bucket 所在專案的擁有者,通常會具備必要權限。
如果您使用 IAM,則應具備相關 bucket 的
storage.buckets.update、storage.buckets.get、storage.objects.update和storage.objects.get權限。如要瞭解如何取得具備這些權限的角色 (例如儲存空間管理員),請參閱「使用 IAM 權限」一文。如果您使用 ACL,則應擁有相關值區和其中物件的 OWNER 權限。如需操作說明,請參閱「設定 ACL」。
使用預設事件型保留屬性
下列工作說明如何設定及查看 bucket 的預設事件型保留屬性。啟用這個屬性時,系統會對新增到值區的物件自動提交依據事件的訴訟保留。
設定預設事件型保留屬性
如要啟用或停用 bucket 的預設事件型保留屬性,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要設定預設事件型保留屬性的 bucket 名稱。
選取靠近頁面頂端的「保護」分頁標籤。
值區的目前狀態會顯示在「預設以事件為準的暫緩處置選項」部分。
在「Default event-based hold option」(預設事件型保留選項) 部分,按一下目前狀態即可變更。
狀態會顯示為「已啟用」或「已停用」。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」。
指令列
使用 gcloud storage buckets update 指令並加上適當的旗標:
gcloud storage buckets update gs://BUCKET_NAME FLAG
其中:
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。FLAG可以是--default-event-based-hold(啟用預設的事件型物件保留) 或--no-default-event-based-hold(停用預設的事件型物件保留)。
用戶端程式庫
C++
詳情請參閱「Cloud Storage C++ API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留:
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留政策:
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留政策:
下列範例會停用 bucket 的預設事件型保留政策:
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留:
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留政策:
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留:
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留政策:
下列範例會停用 bucket 的預設事件型保留:
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下列範例會為 bucket 啟用預設的事件型保留政策:
下列範例會停用 bucket 的預設事件型保留政策:
Rust
下列範例會為 bucket 啟用預設的事件型保留:
下列範例會停用 bucket 的預設事件型保留:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立包含下列資訊的 JSON 檔案:
{ "defaultEventBasedHold": STATE }
其中 STATE 為
true或false。使用
cURL來透過PATCH值區要求呼叫 JSON API:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
其中:
JSON_FILE_NAME是您在步驟 2 建立的檔案路徑。BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。
XML API
XML API 無法使用物件訴訟保留,請改用其他 Cloud Storage 工具,例如 gcloud CLI。
取得 bucket 的預設保留狀態
如要查看值區是否會對新物件預設提交依據事件的訴訟保留,請按照以下指示操作:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選要檢查預設事件狀態的 bucket 名稱。
選取頁面頂端的「保護」分頁標籤。
狀態會顯示在「預設事件型保留選項」部分。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」。
指令列
使用 gcloud storage buckets describe 指令,並加上 --format 旗標:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_event_based_hold)"
其中 BUCKET_NAME 是要查看狀態的 bucket 名稱。例如:my-bucket。
如果成功,回應會類似以下範例:
default_event_based_hold: true
用戶端程式庫
C++
詳情請參閱 Cloud Storage C++ API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Java
詳情請參閱 Cloud Storage Java API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
Rust
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。使用
cURL來透過包含所需fields的GET值區要求呼叫 JSON API:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=defaultEventBasedHold"
其中
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。如果值區已啟用預設為依事件保留,回應會如下列範例所示:
{ "defaultEventBasedHold": true }
XML API
XML API 無法使用物件訴訟保留,請改用其他 Cloud Storage 工具,例如 gcloud CLI。
管理個別物件保留設定
下列工作說明如何修改及查看個別物件的保留。
設定或解除物件保留
如要對 bucket 中的物件設定或解除訴訟保留,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選含有要保留或移除保留物件的 bucket 名稱。
找出要套用或移除保留設定的物件,然後選取名稱旁的核取方塊。
按一下 [Manage holds] (管理訴訟保留) 按鈕。
「Manage holds」(管理訴訟保留) 視窗隨即出現。
視需要勾選或取消勾選各訴訟保留類型的核取方塊。
按一下 [Save hold settings] (儲存訴訟保留設定)。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」。
指令列
使用 gcloud storage objects update 指令,並加上適當的旗標:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG
其中:
BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。OBJECT_NAME是相關物件的名稱。例如:pets/dog.png。FLAG是下列其中一項:--event-based-hold,即可對物件啟用事件型保留。--no-event-based-hold,即可停用物件的任何事件型保留。--temporary-hold:對物件啟用暫時性保留。--no-temporary-hold:停用物件的任何暫時性保留。
如要進一步瞭解保留類型,請參閱「物件保留」。
用戶端程式庫
C++
詳情請參閱「Cloud Storage C++ API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
C#
詳情請參閱 Cloud Storage C# API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Go
詳情請參閱 Cloud Storage Go API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Node.js
詳情請參閱 Cloud Storage Node.js API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
PHP
詳情請參閱 Cloud Storage PHP API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Python
詳情請參閱 Cloud Storage Python API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Ruby
詳情請參閱 Cloud Storage Ruby API 參考文件。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
Rust
下例示範如何對物件設定依據事件的訴訟保留:
下例示範如何釋出物件的依據事件訴訟保留:
下例示範如何對物件設定暫時性訴訟保留:
下例示範如何釋出物件的暫時性訴訟保留:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立包含下列資訊的 JSON 檔案:
{ "HOLD_TYPE": STATE }
其中:
HOLD_TYPE是您要對物件設定或解除的保留類型。例如:temporaryHold或eventBasedHold。如要進一步瞭解保留類型,請參閱「物件保留」。STATE是true(用於設定保留) 或false(用於解除保留)。
使用
cURL呼叫 JSON API,並發出PATCHObject 要求:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
其中:
JSON_FILE_NAME是您在步驟 2 建立的檔案路徑。BUCKET_NAME是相關 bucket 的名稱。例如:my-bucket。OBJECT_NAME是相關物件的網址編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.png。
XML API
XML API 無法使用物件訴訟保留,請改用其他 Cloud Storage 工具,例如 gcloud CLI。
取得物件的保留狀態
如要查看物件是否有保留狀態,請按照查看物件中繼資料的一般操作說明進行。
大量設定或解除物件保留
如要透過單一工作對數百萬或數十億個物件設定或解除保留,請使用 儲存空間批次作業。如要建立工作,請在資訊清單檔案中提供物件清單,或使用物件前置字串,指定要設定或解除訴訟保留的物件。指定物件清單後,請建立批次作業工作,更新物件保留狀態。