View a markdown version of this page

設定 Amazon S3 清查 - Amazon Simple Storage Service

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

設定 Amazon S3 清查

Amazon S3 清查在您定義的排程上,提供物件及中繼資料的一般檔案清單。您可以將 S3 清查做為 Amazon S3 同步 List API 操作的另一種排程選擇。S3 清查提供以逗號分隔的值 (CSV)、Apache 最佳化資料列單欄式 (ORC) 或 Apache Parquet (Parquet) 輸出檔,其中列出您的物件及相應中繼資料。

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

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

概觀

Amazon S3 清查可依定義的排程,建立 S3 儲存貯體中物件的清單,協助您管理儲存體。您可以為儲存貯體設定多份清查清單。會在目的地儲存貯體中將清查清單發佈為 CSV、ORC 或 Parquet 檔案。

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

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

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

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

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

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

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

    如需 S3 庫存清單中可用的選用中繼資料欄位詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的OptionalFields。如需限制存取庫存組態中特定選用中繼資料欄位的詳細資訊,請參閱控制 S3 庫存報告組態建立。

    您可以指定使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 或 AWS Key Management Service (AWS KMS) 客戶受管金鑰 (SSE-KMS) 來加密庫存清單檔案。

    注意

    SSE-KMS 加密搭配 S3 庫存不支援 AWS 受管金鑰 (aws/s3)。

    如需 SSE-S3 與 SSE-KMS 的詳細資訊,請參閱 使用伺服器端加密保護資料。若預計使用 SSE-KMS 加密,請參閱步驟 3。

  3. 若要使用 SSE-KMS 加密清查清單檔案,請對 Amazon S3 授予許可使用 AWS KMS key。

    您可以使用 Amazon S3 主控台、Amazon S3 REST API AWS CLI或 AWS SDKs 來設定清查清單檔案的加密。無論選擇哪種方式,您必須對 Amazon S3 授予許可使用客戶受管金鑰來加密清查檔案。您可以透過修改要用於加密庫存檔案的客戶自管金鑰的金鑰策略,來授予 Amazon S3 權限。請確定您已在 S3 庫存組態或目的地儲存貯體的加密設定中提供 KMS 金鑰 ARN。如果未指定 KMS 金鑰 ARN 且正在使用預設加密設定,您將無法存取 S3 庫存報告。

    儲存庫存清單檔案的目的地儲存貯體可由不同的  AWS 帳戶  擁有,不需與擁有來源儲存貯體的帳戶相同。如果您對 Amazon S3 庫存清單的跨帳戶操作使用 SSE-KMS 加密,建議您在設定 S3 庫存清單時使用完整的 KMS 金鑰 ARN。如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 針對跨帳戶操作使用 SSE-KMS 加密 或 ServerSideEncryptionByDefault。

    注意

    如果您無法存取 S3 庫存報告,請使用 GetBucketEncryption API,並檢查目的地儲存貯體是否已啟用預設 SSE-KMS 加密。如果未指定 KMS 金鑰 ARN 且正在使用預設加密設定,您將無法存取 S3 庫存報告。若要再次存取 S3 庫存報告,請在 S3 庫存組態或目的地儲存貯體的加密設定中提供 KMS 金鑰 ARN。

目錄儲存貯體

目錄儲存貯體支援 S3 清查。為目錄儲存貯體設定 S3 庫存時,請注意下列差異:

  • 許可 – 對於目錄儲存貯體,您必須在 IAM 身分型政策中使用 s3express:PutInventoryConfiguration和 s3express:GetInventoryConfiguration許可,而不是儲存貯體政策。這些許可使用 s3express: 命名空間,而不是用於一般用途儲存貯體的s3:命名空間。如需詳細資訊,請參閱使用 IAM 授權地區端點 API 操作。

  • 支援的選用欄位 – 目錄儲存貯體支援下列選用欄位:Size、LastModifiedDate、StorageClass、ETag、IsMultipartUploadedEncryptionStatus、BucketKeyStatus、 ChecksumAlgorithm和 LifecycleExpirationDate。

  • 條件索引鍵 – 對於目錄儲存貯體,請使用s3express:InventoryAccessibleOptionalFields條件索引鍵控制對庫存報告中選用中繼資料欄位的存取。

建立目的地儲存貯體政策

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

以下是範例儲存貯體政策。

JSON
{ "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-123456789012", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

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

目錄儲存貯體

對於目錄儲存貯體,您必須手動新增目的地儲存貯體政策。目的地儲存貯體政策使用與一般用途儲存貯體不同的服務主體和 ARN 格式。指定 s3express.amazonaws.com做為服務主體,並使用來源儲存貯體的目錄儲存貯體 ARN 格式。下列範例顯示目錄儲存貯體的目的地儲存貯體政策。

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

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

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

注意

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

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

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

准許 Amazon S3 使用客戶自管金鑰進行加密
  1. 使用 AWS 帳戶 擁有客戶受管金鑰的 ,登入 AWS 管理主控台。

  2. 在 https://https://console.aws.amazon.com/kms 開啟 AWS KMS 主控台。

  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. 選擇儲存變更。

如需建立客戶受管金鑰和使用金鑰政策的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的下列連結:

目錄儲存貯體

對於目錄儲存貯體,KMS 金鑰政策使用與一般用途儲存貯體不同的服務主體和來源 ARN 格式。指定 s3express.amazonaws.com做為服務主體,並使用來源 ARN 的目錄儲存貯體 ARN 格式。下列範例顯示目錄儲存貯體的金鑰政策陳述式。

{ "Sid": "Allow S3 Express use of the KMS key", "Effect": "Allow", "Principal": { "Service": "s3express.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "source-account-id" }, "ArnLike": { "aws:SourceARN": "arn:aws:s3express:region:source-account-id:bucket/DOC-EXAMPLE-SOURCE-BUCKET--zone-id--x-s3" } } }
注意

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

使用 S3 主控台設定清查

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

注意

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

  1. 登入 AWS 管理主控台 並開啟位於 https://https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇一般用途儲存貯體。

    注意

    Amazon Simple Storage Service 主控台不支援設定目錄儲存貯體的 S3 庫存。若要設定目錄儲存貯體的 S3 庫存,請使用 Amazon S3 REST API、 AWS Command Line Interface (AWS CLI) 或 AWS SDKs。

  3. 在儲存貯體清單中,選擇您要設定其 Amazon S3 庫存清單的儲存貯體名稱。

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

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

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

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

    • 輸入選擇性字首。請勿在字首中包含儲存貯體名稱。

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

  8. 在 Report details (報告詳細資訊) 下,選擇要儲存報告的 AWS 帳戶 位置:This account (此帳戶) 或 A different account (不同帳戶)。

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

    目的地儲存貯體必須與您要設定清查的儲存 AWS 區域 貯體位於相同的 。目的地儲存貯體可位於不同的 AWS 帳戶中。指定目的地儲存貯體時,您也可以加入選用的字首,以將庫存清單報告集中在一起。

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

  10. 在頻率下,選擇產生報告的頻率:每日或每週。

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

    • CSV - 如果您打算使用此庫存清單報告進行 S3 批次操作,或是您想要在其他工具 (例如 Microsoft Excel) 中分析此報告,請選擇 CSV。

    • Apache ORC

    • Apache Parquet

  12. 在 Status (狀態) 下,選擇 Enable (啟用) 或 Disable (停用)。

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

    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) 和您的客戶受管金鑰都會顯示在清單中。不過,SSE-KMS 加密搭配 S3 庫存不支援 AWS 受管金鑰 (aws/s3)。

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

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

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

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

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

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

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

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

    • 儲存貯體金鑰狀態 – 指出 產生的儲存貯體層級金鑰是否 AWS KMS 套用至物件。如需詳細資訊,請參閱使用 Amazon S3 儲存貯體金鑰降低 SSE-KMS 的成本。

    • 物件存取控制清單 – 每個物件的存取控制清單 (ACL),定義哪些 AWS 帳戶 或 群組獲授予此物件的存取權,以及獲授予的存取權類型。如需此欄位的詳細資訊,請參閱 使用物件 ACL 欄位。如需 ACL 的詳細資訊,請參閱「存取控制清單 (ACL) 概觀」。

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

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

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

    • ETag – 實體標籤 (ETag) 是物件的雜湊值。ETag 只會反映物件內容的變更,而非其中繼資料的變更。ETag 可能是 (也可能不是) 物件資料的 MD5 摘要。取決於建立物件的方式,及其加密的方式。如需詳細資訊,請參閱 Amazon Simple Storage Service API 參考中的 Object。

    • 檢查總和演算法 - 說明用於建立物件的檢查總和演算法。支援的值包括 CRC64NVME、CRC32、CRC32C、SHA1、SHA256、MD5XXHASH64、XXHASH3、XXHASH128、 和 SHA512。如需詳細資訊,請參閱使用支持的檢查總和演算法。

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

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

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

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

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

    • 生命週期過期日期 – 庫存報告中物件的生命週期過期時間戳記。只有在適用的生命週期規則使物件過期時,才會填入此欄位。在其他情況下, 欄位將為空。如需詳細資訊,請參閱即將到期的物件。

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

    如需限制存取庫存組態中特定選用中繼資料欄位的詳細資訊,請參閱控制 S3 庫存報告組態建立。

  15. 選擇建立。

使用 REST API 搭配 S3 庫存清單

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