本頁說明如何使用值區鎖定功能,包括使用保留政策,以及在值區中永久鎖定保留政策。
事前準備
如要使用「儲存格鎖定」功能,請先完成下列各節中的步驟。
取得必要角色
如要取得使用「值區鎖定」功能所需的權限,請要求管理員授予您值區的「Storage 管理員」(roles/storage.admin
) 角色。這個預先定義的角色包含使用「Bucket Lock」所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.buckets.get
storage.buckets.list
- 只有在您打算使用Google Cloud 控制台執行本頁面操作說明時,才需要這項權限。
storage.buckets.update
您或許還可透過自訂角色取得這些權限。
如要進一步瞭解如何授予值區角色,請參閱「在值區中使用 IAM」。
設定值區的保留政策
如要新增、修改或移除值區的保留政策,請按照下列步驟操作:
控制台
- 在 Google Cloud 控制台,前往 Cloud Storage「Buckets」頁面。
在值區清單中,找出要變更保留政策的值區,然後按一下該值區名稱。
選取頁面頂端附近的「Protection」分頁標籤。
在「Retention policy」(保留政策) 部分設定保留政策:
如果目前沒有任何保留政策套用至值區,請按一下 add_box「設定資料保留政策」連結。選擇保留期限的時間單位和時間長度。
如果目前有保留政策套用至值區,該政策就會顯示在該專區中。按一下「編輯」可修改保留時間,按一下「刪除」則可完全移除保留政策。
如要瞭解Google Cloud 主控台如何轉換不同的時間單位,請參閱「保留期限」一節。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱疑難排解。
指令列
使用加上適當旗標的 gcloud storage buckets update
指令:
gcloud storage buckets update gs://BUCKET_NAME FLAG
其中:
BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。FLAG
是值區保留期限的所需設定。請使用下列其中一種格式:--retention-period
和保留期限 (如要新增或變更資料保留政策)。例如:--retention-period=1d43200s
。--clear-retention-period
,如果您想移除值區的保留政策。
如果成功,回應如下所示:
Updating gs://my-bucket/... Completed 1
用戶端程式庫
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,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
以下範例示範如何設定值區的保留政策:
下例示範如何從值區移除保留政策:
REST API
JSON API
建立包含下列資訊的 JSON 檔案:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
其中
TIME_IN_SECONDS
是值區物件必須保留的時間長度 (以秒為單位)。例如:2678400
。如要瞭解不同的時間單位如何以秒計算,請參閱 保留期限一文。如要從值區移除保留政策,請在 JSON 檔案中使用下列內容:
{ "retentionPolicy": null }
使用
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=retentionPolicy"
其中:
JSON_FILE_NAME
是您在步驟 2 建立的 JSON 檔案路徑。BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。
XML API
XML API 無法用來設定或移除現有值區的保留政策。只能用來在新值區中納入保留政策。
鎖定值區
如要鎖定值區並永久限制值區保留政策的編輯動作:
控制台
- 在 Google Cloud 控制台,前往 Cloud Storage「Buckets」頁面。
在值區清單中,找出您要鎖定保留政策的值區,然後點選該值區名稱。
選取頁面頂端附近的「Protection」分頁標籤。
在「Retention policy」(保留政策) 部分,按一下「Lock」(鎖定) 按鈕。
即會顯示「Lock retention policy?」(要鎖定保留政策嗎?) 對話方塊。
讀取「Permanent」(永久) 通知。
在「Bucket name」(值區名稱) 文字方塊中,輸入值區的名稱。
按一下 [Lock policy] (鎖定政策)。
如要瞭解如何在 Google Cloud 控制台中取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱疑難排解。
指令列
使用加上 --lock-retention-period
旗標的 gcloud storage buckets update
指令:
gcloud storage buckets update gs://BUCKET_NAME --lock-retention-period
其中 BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。
如果成功,回應會類似以下範例:
Updating gs://my-bucket/... Completed 1
用戶端程式庫
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,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
使用
cURL
來透過POST
值區要求呼叫 JSON API:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
其中:
BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。BUCKET_METAGENERATION_NUMBER
是值區的 metageneration 值。例如8
。您可以透過使用GET
值區要求呼叫 JSON API,找出值區的 metageneration 值。
XML API
XML API 無法用來鎖定值區,請改用 Google Cloud 主控台等其他 Cloud Storage 工具。
查看值區的保留政策和鎖定狀態
如果查看值區設定的保留政策 (如果有),以及該保留政策是否鎖定:
控制台
- 在 Google Cloud 控制台,前往 Cloud Storage「Buckets」頁面。
按一下要查看狀態的值區名稱。
如果值區有保留政策,系統會在值區的「Protection」欄位中顯示保留期限。如果保留政策未鎖定,系統會在保留期限旁顯示解鎖狀態的鎖定圖示。如果保留政策已鎖定,系統會在保留期限旁邊顯示鎖定狀態的鎖定圖示。
指令列
使用加上 --format
旗標的 gcloud storage buckets describe
指令:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(retention_policy)"
其中 BUCKET_NAME
是您要查看其保留政策的值區名稱。例如:my-bucket
。
如果成功且值區有保留政策,回應會類似以下內容:
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
如果成功且值區不存在保留政策,回應會類似以下內容:
null
用戶端程式庫
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,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證機制」。
REST API
JSON API
使用
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=retentionPolicy"
其中
BUCKET_NAME
是相關值區的名稱。例如:my-bucket
。如果值區已設定保留政策,回應會如下列範例所示:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
XML API
XML API 不能用來查看值區的保留政策,請改用Google Cloud 控制台等其他 Cloud Storage 工具。