設定 Amazon S3 清查 - Amazon Simple Storage Service

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

設定 Amazon S3 清查

Amazon S3 清查在您定義的排程上,提供物件及中繼資料的一般檔案清單。您可以使用 S3 庫存作為 Amazon S3 同步ListAPI操作的排程替代方案。S3 庫存提供逗號分隔值 (CSV)、Apache 最佳化列欄 (ORC),或 Apache Parquet (Parquet)列出物件及其對應中繼資料的輸出檔案。

您可以設定 S3 清查,為具有共同字首的 S3 儲存貯體和物件 (名稱以相同字串開頭的物件),每天或每週建立清查清單。如需詳細資訊,請參閱Amazon S3 清查

本節說明如何設定清查,包括清查來源與目的地儲存貯體的詳細資訊。

概觀

Amazon S3 清查可依定義的排程,建立 S3 儲存貯體中物件的清單,協助您管理儲存體。您可以為儲存貯體設定多份清查清單。庫存清單會發佈到CSVORC、或 Parquet 目標值區中的檔案。

設定庫存最簡單的方法是使用 Amazon S3 主控台,但您也可以使用 Amazon S3 RESTAPI, AWS Command Line Interface (AWS CLI),或 AWS SDKs。主控台會為您執行以下程序的第一項步驟:在目的地儲存貯體中新增儲存貯體政策。

設定 S3 儲存貯體的 Amazon S3 清查

  1. 新增目標儲存貯體的儲存貯體政策。

    您必須在目的地儲存貯體上建立儲存貯體政策,以授予 Amazon S3 許可,以將物件寫入定義位置的儲存貯體。如需政策範例,請參閱「授予 S3 清查與 S3 分析的許可」。

  2. 設定清查以列出來源儲存貯體的物件,並將清單發佈至目標儲存貯體。

    當您設定來源儲存貯體的清查清單時,要指定存放清單的目的地儲存貯體,以及每日或每週產生清單。您也可以設定是列出所有物件版本還是僅列出目前版本,以及要包含的物件中繼資料。

    S3 庫存報告組態中的某些物件中繼資料欄位是選用的,這表示預設可使用,但是當您授與使用者s3:PutInventoryConfiguration權限時,這些欄位可能會受到限制。您可以使用s3:InventoryAccessibleOptionalFields條件索引鍵,控制使用者是否可以在報表中包含這些選擇性的中繼資料欄位。

    如需 S3 庫存中可用選擇性中繼資料欄位的詳細資訊,請參閱 OptionalFieldsAmazon 簡單存儲服務API參考中。如需有關限制存取詳細目錄組態中某些選用中繼資料欄位的詳細資訊,請參閱控制 S3 庫存報告組態建立

    您可以使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 或 AWS Key Management Service (AWS KMS)客戶管理密鑰(SSE-KMS)。

    注意

    所以此 AWS 受管金鑰 (aws/s3) 不支援 SSE-使用 S3 庫存進行KMS加密。

    如需 SSE-S3 和 SSE-的詳細資訊KMS,請參閱使用伺服器端加密保護資料。如果您打算使用 SSE-KMS 加密,請參閱步驟 3。

  3. 若要使用 SSE-加密庫存清單檔案KMS,請授與 Amazon S3 使用權限 AWS KMS key.

    您可以使用 Amazon S3 主控台 Amazon S3,為庫存清單檔案設定加密 RESTAPI, AWS CLI,或 AWS SDKs。無論選擇哪種方式,您必須對 Amazon S3 授予許可使用客戶受管金鑰來加密清查檔案。對 Amazon S3 授予許可時,請針對要用於加密清查檔案的客戶受管金鑰,修改金鑰政策。如需詳細資訊,請參閱對 Amazon S3 授予許可使用您的客戶受管金鑰進行加密

    儲存詳細目錄清單檔案的目的地值區可以由不同的擁有 AWS 帳戶 比擁有來源值區的帳戶。如果您對 Amazon S3 庫存的跨帳戶操作使用 SSE-KMS 加密,建議您在設定 S3 庫存ARN時使用完全合格的KMS金鑰。如需詳細資訊,請參閱 使用 SSE-跨帳戶操作的KMS加密ServerSideEncryptionByDefaultAmazon 簡單存儲服務API參考中。

建立目的地儲存貯體政策

如果透過 S3 主控台建立庫存清單組態,Amazon S3 會自動在目的地儲存貯體上建立儲存貯體政策,將儲存貯體的寫入許可授予 Amazon S3。不過,如果您透過 AWS CLI, AWS SDKs或者 Amazon S3 RESTAPI,您必須在目標儲存貯體上手動新增儲存貯體政策。S3 庫存目的地儲存貯體政策允許 Amazon S3 將庫存報告的資料寫入儲存貯體。

以下是值區政策範例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InventoryExamplePolicy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" }, "StringEquals": { "aws:SourceAccount": "source-account-id", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

如需詳細資訊,請參閱授予 S3 清查與 S3 分析的許可

若在嘗試建立儲存貯體政策的時候發生錯誤,會為您提供修正方式的說明。例如,如果您在另一個值區中選擇目的地值區 AWS 帳戶 並且沒有讀取和寫入存儲桶策略的權限,您會看到一條錯誤消息。

在這種情況下,目的地值區擁有者必須將值區政策新增至目的地值區。如果未將政策新增至目的地儲存貯體,您將不會取得清查報告,因為 Amazon S3 沒有目的地儲存貯體的寫入許可。若來源儲存貯體由不同的帳戶擁有,而非由目前的使用者擁有,則必須為政策中的來源儲存貯體擁有者替換正確的帳戶 ID。

注意

請確定目的地儲存貯體政策中未新增任何拒絕陳述式,以防止將庫存報告傳送至此儲存貯體。如需詳細資訊,請參閱為什麼無法產生 Amazon S3 庫存報告?

對 Amazon S3 授予許可使用您的客戶受管金鑰進行加密

授予 Amazon S3 使用權限 AWS Key Management Service (AWS KMS) 用於伺服器端加密的客戶管理金鑰,您必須使用金鑰政策。若要更新您的金鑰政策,以便使用您的客戶受管金鑰,請依照下列步驟執行。

使用您的客戶受管金鑰授予 Amazon S3 加密許可
  1. 使用 AWS 帳戶 擁有客戶管理的金鑰,請登入 AWS Management Console.

  2. 打開 AWS KMS 控制台在 https://console.aws.amazon.com/公里

  3. 若要變更 AWS 區域,使用頁面右上角的「地區」選取器。

  4. 在左側導覽窗格中,選擇 Customer managed keys (客戶受管金鑰)

  5. 客戶受管金鑰下,選擇要用於加密清查檔案的客戶受管金鑰。

  6. Key policy (金鑰政策) 區段中,選擇 Switch to policy view (切換至政策檢視)

  7. 若要更新金鑰政策,請選擇 Edit (編輯)

  8. 編輯金鑰政策頁面上,將下列幾行新增至現有的金鑰政策。針對 source-account-id 和 amzn-s3-demo-source-bucket,提供您的使用案例適用的值。

    { "Sid": "Allow Amazon S3 use of the customer managed key", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "*", "Condition":{ "StringEquals":{ "aws:SourceAccount":"source-account-id" }, "ArnLike":{ "aws:SourceARN": "arn:aws:s3:::amzn-s3-demo-source-bucket" } } }
  9. 選擇 Save changes (儲存變更)。

如需有關建立客戶受管金鑰和使用金鑰原則的詳細資訊,請參閱下列連結 AWS Key Management Service 開發人員指南

注意

請確定目的地儲存貯體政策中未新增任何拒絕陳述式,以防止將庫存報告傳送至此儲存貯體。如需詳細資訊,請參閱為什麼無法產生 Amazon S3 庫存報告?

使用 S3 主控台設定清查

使用這些說明來設定使用 S3 主控台的清查。

注意

Amazon S3 最長可能需要 48 小時的時間才能提供第一份庫存清單報告。

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

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。在儲存貯體清單中,選擇您要設定其 Amazon S3 庫存清單的儲存貯體名稱。

  3. 選擇 Management (管理) 標籤,

  4. Inventory configurations (清查組態) 下,選擇 Create inventory configuration (建立清查組態)

  5. 清查組態名稱中,輸入名稱。

  6. 針對庫存清單範圍,執行下列操作:

    • 輸入選擇性字首。

    • 選擇要包含的物件版本:僅目前版本包含所有版本

  7. 在「報告詳細資料」下,選擇 AWS 帳戶 您要儲存報告的目的地:此帳戶其他帳戶

  8. 目的地下,選擇要儲存庫存清單報告的目的地儲存貯體。

    目的地值區必須位於相同 AWS 區域 作為您要為其設定庫存的值區。目標值區可以位於不同 AWS 帳戶。 指定目標值區時,您也可以加入選擇性字首,以將庫存報告群組在一起。

    目的地儲存貯體欄位下,您會看到目的地儲存貯體許可陳述式,這會新增至目的地儲存貯體政策,以允許 Amazon S3 將資料放入該儲存貯體中。如需詳細資訊,請參閱建立目的地儲存貯體政策

  9. 頻率下,選擇產生報告的頻率:每日每週

  10. 針對輸出格式,選擇下列其中一種報告格式:

    • CSV— 如果您打算將此庫存報告與 S3 Batch 操作搭配使用,或者您想要在其他工具 (例如 Microsoft Excel) 中分析此報告,請選擇CSV

    • Apache ORC

    • Apache Parquet

  11. Status (狀態) 下,選擇 Enable (啟用)Disable (停用)

  12. 若要設定伺服器端加密,請在清查報告加密之下,遵循下列步驟:

    1. 在 [伺服器端加密] 下,選擇 [不指定加密金鑰] 或 [指定要加密資料的加密金鑰]。

      • 若要在將物件存放到 Amazon S3 時,保留預設伺服器端加密的儲存貯體設定,請選擇不指定加密金鑰。只要儲存貯體目的地已啟用 S3 儲存貯體金鑰,複製操作便會在目的地儲存貯體中套用 S3 儲存貯體金鑰。

        注意

        如果指定目標的儲存貯體政策要求物件先加密,然後再將物件存放到 Amazon S3,您必須選擇指定加密金鑰。否則,便無法將物件複製到目的地。

      • 若要先加密物件再存放到 Amazon S3,請選擇指定加密金鑰

    2. 如果選擇「指定加密金鑰」,則在「加密類型」下,您必須選擇 Amazon S3 受管金鑰 (SSE-S3)AWS Key Management Service 鍵(SSE-KMS)

      SSE-S3 使用最強大的區塊加密之一 — 256 位元進階加密標準 (AES-256) 來加密每個物件。SSE-KMS 為您提供對密鑰的更多控制權。如需 SSE-S3 的詳細資訊,請參閱搭配 Amazon S3 受管金鑰使用伺服器端加密 (SSE-S3)。若要取得有關 SSE-的更多資訊KMS,請參閱使用伺服器端加密 AWS KMS 按鍵 (SSE-KMS)

      注意

      若要使用 SSE-加密庫存清單檔案KMS,您必須授予 Amazon S3 使用客戶受管金鑰的權限。如需指示,請參閱授與 Amazon S3 使用KMS金鑰加密的權限

    3. 如果您選擇 AWS Key Management Service 鍵 (SSE-KMS),下 AWS KMS key,您可以指定 AWS KMS 通過以下選項之一鍵。

      注意

      如果儲存詳細目錄清單檔案的目標值區屬於其他儲存貯體 AWS 帳戶,請確定您使用完全合格的KMS金鑰ARN來指定您的KMS金鑰。

      • 若要從可用KMS金鑰清單中選擇,請選擇「從您的」 AWS KMS 金鑰,然後從可用金鑰清單中選擇對稱加KMS密金鑰。確定KMS金鑰與儲存貯體位於相同的區域。

        注意

        這兩個 AWS 受管金鑰 (aws/s3) 且您的客戶管理金鑰會出現在清單中。然而, AWS 受管金鑰 (aws/s3) 不支援 SSE-使用 S3 庫存進行KMS加密。

      • 若要輸入KMS金鑰ARN,請選擇 [輸入] AWS KMS key ARN,然後在出現的欄位ARN中輸入您的KMS金鑰。

      • 若要在中建立新的客戶管理金鑰 AWS KMS 主控台中,選擇 [建立KMS金鑰]。

  13. 針對其他欄位,選取下列其中一項或多項以新增至庫存清單報告中:

    • 大小 - 物件大小 (以位元組為單位),不包括未完成的分段上傳、物件中繼資料和刪除標記的大小。

    • 上次修改日期 – 物件建立日期或上次修改日期,以最近者為準。

    • Multipart upload (分段上傳) – 指出物件的上傳方式為分段上傳。如需詳細資訊,請參閱「使用分段上傳來上傳和複製物件」。

    • Replication status (複寫狀態) – 物件的複寫狀態。如需詳細資訊,請參閱取得複寫狀態資訊

    • 加密狀態 - 用來加密物件的伺服器端加密類型。如需詳細資訊,請參閱使用伺服器端加密保護資料

    • 值區索引鍵狀態 — 指出儲存貯體層級金鑰是否由 AWS KMS 套用至物件。如需詳細資訊,請參閱KMS使用 Amazon S3 儲存貯體金鑰降低成本 SSE

    • 物件存取控制清單 — 每個物件的存取控制清單 (ACL),定義哪些物件 AWS 帳戶 或群組會被授與此物件的存取權,以及授與的存取權類型。如需此欄位的詳細資訊,請參閱 使用物件 ACL 欄位。如需有關的更多資訊ACLs,請參閱存取控制清單 (ACL) 概觀

    • 物件擁有者 - 物件的擁有者。

    • 儲存類別 - 用於存放物件的儲存類別。

    • Intelligent-Tiering:存取方案 - 指出物件的存取方案 (經常或不常) (如果儲存在 Intelligent-Tiering 儲存類別中)。如需詳細資訊,請參閱存取模式會變更或不明的自動最佳化資料的儲存體方案

    • ETag— 實體標籤 (ETag) 是物件的雜湊值。只會ETag反映物件內容的變更,而不反映其中繼資料。ETag可能是或可能不是物件資料的MD5摘要。取決於建立物件的方式,及其加密的方式。如需詳細資訊,請參閱 ObjectAmazon 簡單存儲服務API參考中。

    • 檢查總和演算法 - 說明用於建立物件的檢查總和演算法。如需詳細資訊,請參閱使用支持的檢查總和演算法

    • 所有物件鎖定組態 - 物件的物件鎖定狀態,包括下列設定:

      • 物件鎖定:保留模式 - 套用於物件的保護層級:控管合規

      • 物件鎖定:保留截止日期 - 此日期之後才能刪除鎖定的物件。

      • 物件鎖定:法務保存措施狀態 - 鎖定物件的法務保存措施狀態。

      如需 S3 物件鎖定的詳細資訊,請參閱 S3 物件鎖定的運作方式

    如需清查報告內容的詳細資訊,請參閱 Amazon S3 清查清單

    如需有關限制存取詳細目錄組態中某些選用中繼資料欄位的詳細資訊,請參閱控制 S3 庫存報告組態建立

  14. 選擇 Create (建立)。

使用RESTAPI與 S3 庫存搭配使用

以下是您可以用來與 Amazon S3 庫存搭配使用的REST操作。