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

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

設定 S3 物件鎖定

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

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

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

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

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

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

您可以使用 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI)、 AWS 開發套件或 Amazon S3 REST API,在建立新的 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. 物件擁有權下,選擇停用或啟用上傳到儲存貯體中之物件的存取控制清單 (ACL) 和控制擁有權。

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

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

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

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

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

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

  11. 選擇建立儲存貯體

下列 create-bucket 範例會建立名為 DOC-EXAMPLE-BUCKET1 且啟用物件鎖定的新 S3 儲存貯體:

aws s3api create-bucket --bucket DOC-EXAMPLE-BUCKET1 --object-lock-enabled-for-bucket

如需詳細資訊和範例,請參閱《AWS CLI 命令參考》中的 create-bucket

注意

您可以使用從控制台運行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一個以瀏覽器為基礎的預先驗證殼層,您可以直接從. AWS Management Console如需詳細資訊,請參閱什麼是 CloudShell?《AWS CloudShell 使用者指南》中。

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

如需使用 AWS SDK 建立新 S3 儲存貯體時如何啟用物件鎖定的範例,請參閱搭CreateBucket配 AWS 開發套件或 CLI 使用

如需如何使用 AWS SDK 取得目前物件鎖定組態的範例,請參閱搭GetObjectLockConfiguration配 AWS 開發套件或 CLI 使用

如需展示使用 AWS SDK 之不同物件鎖定功能的互動式案例,請參閱。使用 AWS 開發套件使用 Amazon S3 物件鎖定功能

如需使用不同 AWS SDK 的一般資訊,請參閱使用開發 AWS 套件和探險家使用 Amazon S3 進行開發

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

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

注意

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

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

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

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

  4. 選擇屬性索引標籤。

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

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

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

  7. 選擇儲存變更

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

aws s3api put-object-lock-configuration --bucket DOC-EXAMPLE-BUCKET1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

如需詳細資訊和範例,請參閱《AWS CLI 命令參考》中的 put-object-lock-configuration

注意

您可以使用從控制台運行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一個以瀏覽器為基礎的預先驗證殼層,您可以直接從. AWS Management Console如需詳細資訊,請參閱什麼是 CloudShell?《AWS CloudShell 使用者指南》中。

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

如需如何使用 AWS SDK 為現有 S3 儲存貯體啟用物件鎖定的範例,請參閱搭PutObjectLockConfiguration配 AWS 開發套件或 CLI 使用

如需如何使用 AWS SDK 取得目前物件鎖定組態的範例,請參閱搭GetObjectLockConfiguration配 AWS 開發套件或 CLI 使用

如需展示使用 AWS SDK 之不同物件鎖定功能的互動式案例,請參閱。使用 AWS 開發套件使用 Amazon S3 物件鎖定功能

如需使用不同 AWS SDK 的一般資訊,請參閱使用開發 AWS 套件和探險家使用 Amazon S3 進行開發

您可以使用 Amazon S3 主控台、 AWS CLI AWS 開發套件或 Amazon S3 REST API 來設定或移除 S3 物件的法律訴訟保留。

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

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

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

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

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

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

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

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

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

  7. 選擇儲存變更

下列 put-object-legal-hold 範例會在名為 DOC-EXAMPLE-BUCKET1 的儲存貯體中設定物件 my-image.fs 的法務保存:

aws s3api put-object-legal-hold --bucket DOC-EXAMPLE-BUCKET1 --key my-image.fs --legal-hold="Status=ON"

下列 put-object-legal-hold 範例會在名為 DOC-EXAMPLE-BUCKET1 的儲存貯體中移除物件 my-image.fs 的法務保存:

aws s3api put-object-legal-hold --bucket DOC-EXAMPLE-BUCKET1 --key my-image.fs --legal-hold="Status=OFF"

如需詳細資訊和範例,請參閱《AWS CLI 命令參考》中的 put-object-legal-hold

注意

您可以使用從控制台運行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一個以瀏覽器為基礎的預先驗證殼層,您可以直接從. AWS Management Console如需詳細資訊,請參閱什麼是 CloudShell?《AWS CloudShell 使用者指南》中。

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

如需如何使用 AWS SDK 對物件設定法律訴訟保留的範例,請參閱搭PutObjectLegalHold配 AWS 開發套件或 CLI 使用

如需如何透過 AWS SDK 取得目前合法保留狀態的範例,請參閱使用 AWS 開發套件取得 Amazon S3 物件的合法保留組態

如需展示使用 AWS SDK 之不同物件鎖定功能的互動式案例,請參閱。使用 AWS 開發套件使用 Amazon S3 物件鎖定功能

如需使用不同 AWS SDK 的一般資訊,請參閱使用開發 AWS 套件和探險家使用 Amazon S3 進行開發

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

您可以使用 Amazon S3 主控台、 AWS CLI AWS 開發套件或 Amazon S3 REST API 來設定或修改 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 範例會在名為 DOC-EXAMPLE-BUCKET1 的儲存貯體中設定物件 my-image.fs 的保留期且結束日期為 2025 年 1 月 1 日:

aws s3api put-object-retention --bucket DOC-EXAMPLE-BUCKET1 --key my-image.fs --retention='{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T00:00:00" }'

如需詳細資訊和範例,請參閱《AWS CLI 命令參考》中的 put-object-retention

注意

您可以使用從控制台運行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一個以瀏覽器為基礎的預先驗證殼層,您可以直接從. AWS Management Console如需詳細資訊,請參閱什麼是 CloudShell?《AWS CloudShell 使用者指南》中。

您可以使用 REST API 設定物件的保留期。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的 PutObjectRetention

如需如何在具有 AWS SDK 的物件上設定保留期的範例,請參閱搭PutObjectRetention配 AWS 開發套件或 CLI 使用

如需如何使用 AWS SDK 取得物件的保留期範例,請參閱搭GetObjectRetention配 AWS 開發套件或 CLI 使用

如需展示使用 AWS SDK 之不同物件鎖定功能的互動式案例,請參閱。使用 AWS 開發套件使用 Amazon S3 物件鎖定功能

如需使用不同 AWS SDK 的一般資訊,請參閱使用開發 AWS 套件和探險家使用 Amazon S3 進行開發

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

您可以使用 Amazon S3 主控台、開發套件或 Amazon S3 REST AWS API AWS CLI,在 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 範例命令會使用合規模式在名為 DOC-EXAMPLE-BUCKET1 的儲存貯體上設定 50 天的物件鎖定保留期:

aws s3api put-object-lock-configuration --bucket DOC-EXAMPLE-BUCKET1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "COMPLIANCE", "Days": 50 }}}'

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

aws s3api put-object-lock-configuration --bucket DOC-EXAMPLE-BUCKET1 --object-lock-configuration='{ "ObjectLockEnabled": "Enabled"}'

如需詳細資訊和範例,請參閱《AWS CLI 命令參考》中的 put-object-lock-configuration

注意

您可以使用從控制台運行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一個以瀏覽器為基礎的預先驗證殼層,您可以直接從. AWS Management Console如需詳細資訊,請參閱什麼是 CloudShell?《AWS CloudShell 使用者指南》中。

您可以使用 REST API 在現有 S3 儲存貯體上設定預設保留期。如需詳細資訊,請參閱《Amazon Simple Storage Service API 參考》中的 PutObjectLockConfiguration

如需如何使用 AWS SDK 在現有 S3 儲存貯體上設定預設保留期的範例,請參閱搭PutObjectLockConfiguration配 AWS 開發套件或 CLI 使用

如需展示使用 AWS SDK 之不同物件鎖定功能的互動式案例,請參閱。使用 AWS 開發套件使用 Amazon S3 物件鎖定功能

如需使用不同 AWS SDK 的一般資訊,請參閱使用開發 AWS 套件和探險家使用 Amazon S3 進行開發