設定 S3 物件鎖定 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 S3 物件鎖定

透過 Amazon S3 物件鎖定,您可以使用 write-once-read-many(WORM) 模型將物件存放在 Amazon S3 中。您可以使用 S3 物件鎖定,讓物件在固定期間或無限期免於遭到刪除或覆寫。如需物件鎖定功能的一般資訊,請參閱 使用物件鎖定鎖定物件

在鎖定任何物件之前,您必須先在儲存貯體上啟用 S3 版本控制和物件鎖定。之後您就可以設定保留期和/或法務保存。

若要使用物件鎖定,您必須擁有特定許可。如需與各種物件鎖定操作相關的許可清單,請參閱 所需的許可

重要
  • 您在儲存貯體上啟用物件鎖定後,就無法停用該儲存貯體的物件鎖定或暫停版本控制。

  • 具有物件鎖定的 S3 儲存貯體不能用作伺服器存取日誌的目的地儲存貯體。如需詳細資訊,請參閱使用伺服器存取記錄記錄要求

在建立新的 S3 儲存貯體時啟用物件鎖定

您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI) 或 Amazon S3 REST 建立新的 S3 儲存貯體時 AWS SDKs啟用物件鎖定API。 Amazon S3

  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 選擇 Create bucket (建立儲存貯體)。

    Create bucket (建立儲存貯體) 頁面隨即開啟。

  4. 針對 Bucket name (儲存貯體名稱),輸入儲存貯體的名稱。

    注意

    建立儲存貯體後,便無法變更其名稱。如需儲存貯體命名的詳細資訊,請參閱 一般用途儲存貯體命名規則

  5. 針對區域 ,選擇您要儲存貯體所在的 AWS 區域 。

  6. 物件擁有權 下,選擇停用或啟用存取控制清單 (ACLs),並控制在儲存貯體中上傳之物件的擁有權。

  7. 封鎖此儲存貯體的公開存取設定之下,選擇要套用至儲存貯體的封鎖公開存取設定。

  8. 儲存貯體版本控制下,選擇已啟用

    物件鎖定只可搭配版本化的儲存貯體運作。

  9. (選用) 在 Tags (標籤) 下,您可以選擇新增標籤至儲存貯體。標籤是用來分類儲存和分配成本的鍵值對。

  10. 進階設定下,尋找物件鎖定並選擇啟用

    您必須確實了解,啟用物件鎖定將永久允許鎖定此儲存貯體中的物件。

  11. 選擇建立儲存貯體

下列 create-bucket 範例會建立名為 amzn-s3-demo-bucket1 且啟用物件鎖定的新 S3 儲存貯體:

aws s3api create-bucket --bucket amzn-s3-demo-bucket1 --object-lock-enabled-for-bucket

如需詳細資訊和範例,請參閱 create-bucketAWS CLI 命令參考 中。

注意

您可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱 使用者指南 中的什麼是 CloudShell?AWS CloudShell

您可以使用 REST API 建立新的 S3 儲存貯體,並啟用物件鎖定。如需詳細資訊,請參閱 CreateBucketAmazon Simple Storage Service API參考 中。

如需如何在使用 建立新的 S3 儲存貯體時啟用物件鎖定的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需如何使用 取得目前物件鎖定組態的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用 示範不同物件鎖定功能的互動式案例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用不同 的一般資訊 AWS SDKs,請參閱 Amazon S3 參考 中的使用 開發 AWS SDKs Amazon S3API

在現有 S3 儲存貯體上啟用物件鎖定

您可以使用 Amazon S3 主控台、 AWS CLI AWS SDKs或 Amazon S3 REST 啟用現有 Amazon S3 儲存貯體的物件鎖定API。 Amazon S3

注意

物件鎖定只可搭配版本化的儲存貯體運作。

  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇要啟用物件鎖定的儲存貯體名稱。

  4. 選擇屬性索引標籤。

  5. 屬性下,向下捲動至物件鎖定區段,然後選擇編輯

  6. 物件鎖定下,選擇啟用

    您必須確實了解,啟用物件鎖定將永久允許鎖定此儲存貯體中的物件。

  7. 選擇 Save changes (儲存變更)。

下列 put-object-lock-configuration 範例命令會在名為 amzn-s3-demo-bucket1 的儲存貯體上設定 50 天的物件鎖定保留期:

aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

如需詳細資訊和範例,請參閱 put-object-lock-configurationAWS CLI 命令參考 中。

注意

您可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱 使用者指南 中的什麼是 CloudShell?AWS CloudShell

您可以使用 Amazon S3 REST API 在現有的 S3 儲存貯體上啟用物件鎖定。如需詳細資訊,請參閱 PutObjectLockConfigurationAmazon Simple Storage Service API參考 中。

如需如何使用 為現有 S3 儲存貯體啟用物件鎖定的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需如何使用 取得目前物件鎖定組態的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用 示範不同物件鎖定功能的互動式案例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用不同 的一般資訊 AWS SDKs,請參閱 Amazon S3 參考 中的使用 開發 AWS SDKs Amazon S3API

您可以使用 Amazon S3 主控台 AWS CLI、 AWS SDKs、 或 Amazon S3 設定或移除 S3 物件的法務保存RESTAPI。 Amazon S3

重要
  • 如果您要設定物件的法務保存,則物件的儲存貯體必須已啟用物件鎖定。

  • 當您對儲存貯體中具有明確的個別保留模式和保留期的物件版本執行 PUT 時,物件版本的個別物件鎖定設定會覆寫任何儲存貯體屬性保留設定。

如需詳細資訊,請參閱「法務保存」。

  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇包含您要設定或移除法務保存之物件的儲存貯體名稱。

  4. 物件清單中,選取您要設定或修改法務保存的物件。

  5. 物件屬性頁面上,尋找物件鎖定法務保存區段,然後選擇編輯

  6. 選擇啟用以設定法務保存,或選擇停用以移除法務保存。

  7. 選擇 Save changes (儲存變更)。

下列put-object-legal-hold範例會設定物件的法務保存 my-image.fs 在名為 的儲存貯體中amzn-s3-demo-bucket1

aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=ON"

下列put-object-legal-hold範例會移除物件上的法務保存 my-image.fs 在名為 的儲存貯體中amzn-s3-demo-bucket1

aws s3api put-object-legal-hold --bucket amzn-s3-demo-bucket1 --key my-image.fs --legal-hold="Status=OFF"

如需詳細資訊和範例,請參閱 put-object-legal-holdAWS CLI 命令參考 中。

注意

您可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱 使用者指南 中的什麼是 CloudShell?AWS CloudShell

您可以使用 RESTAPI來設定或修改物件的法務保存。如需詳細資訊,請參閱 PutObjectLegalHoldAmazon Simple Storage Service API參考 中。

如需如何使用 設定物件的法務保存的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需如何使用 取得目前法務保存狀態的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用 示範不同物件鎖定功能的互動式案例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用不同 的一般資訊 AWS SDKs,請參閱 Amazon S3 參考 中的使用 AWS SDKs開發 Amazon S3API

設定或修改 S3 物件的保留期

您可以使用 Amazon S3 主控台、 AWS CLI、 或 AWS SDKsAmazon S3 REST 設定或修改 S3 物件的保留期API。 Amazon S3

重要
  • 如果您要設定物件的保留期,則物件的儲存貯體必須已啟用物件鎖定。

  • 當您對儲存貯體中具有明確的個別保留模式和保留期的物件版本執行 PUT 時,物件版本的個別物件鎖定設定會覆寫任何儲存貯體屬性保留設定。

  • 在物件的保留日期到期之前,在合規模式下刪除物件的唯一方法是刪除相關聯的 AWS 帳戶。

如需詳細資訊,請參閱「保留期」。

  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇包含您要設定或修改保留期之物件的儲存貯體名稱。

  4. 物件清單中,選取您要設定或修改保留期的物件。

  5. 物件屬性頁面上,尋找物件鎖定保留區段,然後選擇編輯

  6. 保留下,選擇啟用以設定保留期,或選擇停用以移除保留期。

  7. 如果您選擇啟用,在保留模式下選擇控管模式合規模式。如需詳細資訊,請參閱保留模式

  8. 保留截止日期下,選擇您希望保留期結束的日期。在此期間,您的物件受到 WORM保護,無法覆寫或刪除。如需詳細資訊,請參閱保留期

  9. 選擇 Save changes (儲存變更)。

下列put-object-retention範例會在物件上設定保留期間 my-image.fs 在 2025 年 1 月 1 amzn-s3-demo-bucket1日之前命名的儲存貯體中:

aws s3api put-object-retention --bucket amzn-s3-demo-bucket1 --key my-image.fs --retention='{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

如需詳細資訊和範例,請參閱 put-object-retentionAWS CLI 命令參考 中。

注意

您可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱 使用者指南 中的什麼是 CloudShell?AWS CloudShell

您可以使用 RESTAPI來設定物件的保留期。如需詳細資訊,請參閱 PutObjectRetentionAmazon Simple Storage Service API參考 中。

如需如何使用 設定物件保留期的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需如何使用 取得物件保留期的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用 示範不同物件鎖定功能的互動式案例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用不同 的一般資訊 AWS SDKs,請參閱 Amazon S3 參考 中的使用 開發 AWS SDKs Amazon S3API

設定或修改 S3 儲存貯體的預設保留期

您可以使用 Amazon S3 主控台或 AWS CLI AWS SDKsAmazon S3 設定或修改 S3 REST 儲存貯體的預設保留期API。 Amazon S3 您可以指定一段以天或年為單位的時間,代表要保護放置在儲存貯體中的每個物件版本的期間。

重要
  • 如果您要設定儲存貯體的預設保留期,則儲存貯體必須已啟用物件鎖定。

  • 當您對儲存貯體中具有明確的個別保留模式和保留期的物件版本執行 PUT 時,物件版本的個別物件鎖定設定會覆寫任何儲存貯體屬性保留設定。

  • 在物件的保留日期到期之前,在合規模式下刪除物件的唯一方法是刪除相關聯的 AWS 帳戶。

如需詳細資訊,請參閱「保留期」。

  1. 登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇您要設定或修改預設保留期的儲存貯體名稱。

  4. 選擇屬性索引標籤。

  5. 屬性下,向下捲動至物件鎖定區段,然後選擇編輯

  6. 預設保留下,選擇啟用以設定預設保留,或選擇停用以移除預設保留。

  7. 如果您選擇啟用,在保留模式下選擇控管模式合規模式。如需詳細資訊,請參閱保留模式

  8. 預設保留期下,選擇您希望保留期持續的天數或年數。放置在此儲存貯體中的物件將會鎖定長達此天數或年數。如需詳細資訊,請參閱保留期

  9. 選擇 Save changes (儲存變更)。

下列 put-object-lock-configuration 範例命令會使用合規模式在名為 amzn-s3-demo-bucket1 的儲存貯體上設定 50 天的物件鎖定保留期:

aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

下列 put-object-lock-configuration 範例會移除儲存貯體的預設保留組態:

aws s3api put-object-lock-configuration --bucket amzn-s3-demo-bucket1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'

如需詳細資訊和範例,請參閱 put-object-lock-configurationAWS CLI 命令參考 中。

注意

您可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。如需詳細資訊,請參閱 使用者指南 中的什麼是 CloudShell?AWS CloudShell

您可以使用 RESTAPI來設定現有 S3 儲存貯體的預設保留期。如需詳細資訊,請參閱 PutObjectLockConfigurationAmazon Simple Storage Service API參考 中。

如需如何使用 設定現有 S3 儲存貯體的預設保留期的範例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用 示範不同物件鎖定功能的互動式案例 AWS SDKs,請參閱 Amazon S3 API參考 中的程式碼範例

如需使用不同 的一般資訊 AWS SDKs,請參閱 Amazon S3 參考 中的使用 開發 AWS SDKs Amazon S3API