本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立批次操作任務以更新物件加密
若要透過單一請求更新多個 Amazon S3 物件的伺服器端加密類型,您可以使用 S3 批次操作。您可以透過 Amazon S3 主控台、 AWS Command Line Interface (AWS CLI) AWS SDKs 或 Amazon S3 REST API 使用 S3 批次操作。 Amazon 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-idaccount-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-arnbatch-operations-role-ARN
為了獲得最佳效能,我們建議您將KmsKeyArn篩選條件與其他物件中繼資料篩選條件搭配使用,例如 MatchAnyPrefix、 CreatedAfter或 MatchAnyStorageClass。
範例 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-idaccount-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-arnbatch-operations-role-ARN
為了獲得最佳效能,我們建議您將KmsKeyArn篩選條件與其他物件中繼資料篩選條件搭配使用,例如 MatchAnyPrefix、 CreatedAfter或 MatchAnyStorageClass。