View a markdown version of this page

建立批次操作任務以更新物件加密 - Amazon Simple Storage Service

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

建立批次操作任務以更新物件加密

若要透過單一請求更新多個 Amazon S3 物件的伺服器端加密類型,您可以使用 S3 批次操作。您可以透過 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI) AWS SDKs或 Amazon S3 REST API 使用 S3 批次操作。

若要執行下列命令,您必須 AWS CLI 安裝並設定 。如果您沒有 AWS CLI 安裝 ,請參閱AWS Command Line Interface 《 使用者指南》中的安裝或更新至最新版本的 AWS CLI

或者,您也可以使用 ,從主控台執行 AWS CLI 命令 AWS CloudShell。 AWS CloudShell 是一種以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS 管理主控台。如需詳細資訊,請參閱《AWS CloudShell 使用者指南》中的什麼是 CloudShell開始使用 AWS CloudShell

範例 1 – 建立批次操作任務,將加密的物件從一個更新 AWS KMS key 到另一個 KMS 金鑰

下列範例示範如何建立 S3 批次操作任務,以更新一般用途儲存貯體中多個物件的加密設定。此命令會建立任務,將以 one AWS Key Management Service (AWS KMS) 金鑰加密的物件變更為使用不同的 KMS 金鑰。此任務也會產生和儲存受影響物件的資訊清單,並建立結果的報告。若要使用此命令,請以您自己的資訊取代 user input placeholders

aws s3control create-job --account-id account-id \ --no-confirmation-required \ --operation '{"S3UpdateObjectEncryption": { "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false } } } }' \ --report '{ "Enabled": true, "Bucket": "report-bucket-ARN", "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \ --manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": { "MatchAnyObjectEncryption": [{ "SSEKMS": { "KmsKeyArn": "kms-key-ARN-to-match" } }] } } }' \ --priority 1 \ --role-arn batch-operations-role-ARN

為了獲得最佳效能,我們建議您將KmsKeyArn篩選條件與其他物件中繼資料篩選條件搭配使用,例如 MatchAnyPrefixCreatedAfterMatchAnyStorageClass

範例 2 – 建立批次操作任務,將 SSE-S3 加密物件更新為 SSE-KMS

下列範例示範如何建立 S3 批次操作任務,以更新一般用途儲存貯體中多個物件的加密設定。此命令會建立任務,以使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 來變更加密的物件,改為使用伺服器端加密搭配 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS)。此任務也會產生和儲存受影響物件的資訊清單,並建立結果的報告。若要使用此命令,請以您自己的資訊取代 user input placeholders

aws s3control create-job --account-id account-id \ --no-confirmation-required \ --operation '{"S3UpdateObjectEncryption": { "ObjectEncryption": { "SSEKMS": { "KMSKeyArn": "KMS-key-ARN-to-apply", "BucketKeyEnabled": false } } } }' \ --report '{ "Enabled": true, "Bucket": "report-bucket-ARN", "Format": "Report_CSV_20180820", "Prefix": "report", "ReportScope": "AllTasks" }' \ --manifest-generator '{ "S3JobManifestGenerator": { "ExpectedBucketOwner": "account-id", "SourceBucket": "source-bucket-ARN", "EnableManifestOutput": true, "ManifestOutputLocation": { "Bucket": "manifest-bucket-ARN", "ManifestFormat": "S3InventoryReport_CSV_20211130", "ManifestPrefix": "manifest-prefix" }, "Filter": { "MatchAnyObjectEncryption": [{ "SSES3": {} }] } } }' \ --priority 1 \ --role-arn batch-operations-role-ARN

為了獲得最佳效能,我們建議您將KmsKeyArn篩選條件與其他物件中繼資料篩選條件搭配使用,例如 MatchAnyPrefixCreatedAfterMatchAnyStorageClass