使用伺服器端加密保護資料
重要
Amazon S3 現在將伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 套用為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起,所有上傳到 Amazon S3 的新物件都會自動加密,無需額外費用,也不會影響效能。S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態會顯示於 AWS CloudTrail 日誌、S3 清查、S3 Storage Lens、Amazon S3 主控台,並做為 AWS Command Line Interface 和 AWS SDK 的其他 Amazon S3 API 回應標頭。如需詳細資訊,請參閱預設加密常見問答集。
伺服器端加密是指接收資料的應用程式或服務在目的地將資料加密。Amazon S3 會在將物件層級的資料寫入 AWS 資料中心的磁碟時加密資料,並在您存取資料時解密資料。只要您驗證要求並具備存取許可,存取加密物件或未加密物件的方式並無不同。例如,如果您使用預先簽章的 URL 來分享物件,加密物件與未加密物件的 URL 運作方式會相同。此外,當您列出儲存貯體中的物件時,清單 API 操作會傳回所有物件清單,無論其是否經過加密。
根據預設,所有 Amazon S3 儲存貯體都設定了加密,所有上傳到 S3 儲存貯體的新物件都會在靜態時自動加密。伺服器端加密與 Amazon S3 受管金鑰 (SSE-S3) 是 Amazon S3 中每個儲存貯體的預設加密組態。若要使用不同類型的加密,您可以指定 S3 PUT 請求中要使用的伺服器端加密類型,也可以在目的地儲存貯體中更新預設加密組態。
若您想在 PUT 請求中指定不同的加密類型,您可以使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 進行伺服器端加密、使用 AWS KMS 金鑰 (DSSE-KMS) 進行雙層伺服器端加密,或使用客戶提供的金鑰 (SSE-C) 進行伺服器端加密。若您想在目的地儲存貯體中設定不同的預設加密組態,您可以使用 SSE-KMS 或 DSSE-KMS。
如需變更一般用途儲存貯體之預設加密組態的詳細資訊,請參閱 設定預設加密。
當您將儲存貯體的預設加密組態變更為 SSE-KMS 時,並不會變更儲存貯體中現有 Amazon S3 物件的加密類型。若要在將預設加密組態更新為 SSE-KMS 之後變更既有物件的加密類型,您可以使用 Amazon S3 Batch Operations。您為 S3 Batch Operations 提供物件清單,而批次操作會呼叫個別 API 操作。您可以使用 複製物件 動作來複製現有物件,該動作會將它們寫回與 SSE-KMS 加密物件相同的儲存貯體。單一批次操作任務可在數十億個物件上執行指定的操作。如需詳細資訊,請參閱 使用 Batch Operations 大量執行物件操作 和 AWS 儲存部落格文章如何使用 S3 庫存清單、Amazon Athena 和 S3 Batch Operations 來追溯加密 Amazon S3 中的現有物件
注意
您不可以同時對同一個物件套用不同類型的伺服器端加密。
若您需要加密現有物件,請使用 S3 批次操作和 S3 清查。如需詳細資訊,請參閱使用 Amazon S3 批次操作來加密物件
將資料儲存在 Amazon S3 中時,您有四種互斥的伺服器端加密選項,視您選擇管理加密金鑰的方式,以及您想套用的加密層級數量,針對伺服器端加密而定。
使用 Amazon S3 受管金鑰 (SSE-S3) 的伺服器端加密
根據預設,所有 Amazon S3 儲存貯體都設定了加密。伺服器端加密的預設為使用 Amazon S3 受管金鑰 (SSE-S3)。每個物件都使用不重複的金鑰加密。SSE-S3 使用定期輪換的根金鑰自行加密金鑰,提供額外的防護。SSE-S3 使用目前最強大的其中一種區塊加密法 (256 位元進階加密標準 (AES-256)),加密您的資料。如需更多詳細資訊,請參閱 使用 Amazon S3 受管金鑰 (SSE-S3) 進行伺服器端加密。
以 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 為伺服器端加密。
伺服器端加密搭配 AWS KMS keys (SSE-KMS) 是透過 AWS KMS 服務與 Amazon S3 的整合而提供。透過 AWS KMS,您可以更完善地控制金鑰。例如,您可以檢視個別金鑰、編輯控制政策,並遵循 AWS CloudTrail 中的金鑰。此外,您可以建立和管理客戶受管金鑰,或是使用您、您服務和您區域唯一的 AWS 受管金鑰。如需更多詳細資訊,請參閱 搭配 AWS KMS 金鑰 (SSE-KMS) 使用伺服器端加密。
以 AWS Key Management Service (AWS KMS) 金鑰 (DSSE-KMS) 進行雙層伺服器端加密
使用 AWS KMS keys(DSSE-KMS) 的雙層伺服器端加密類似於 SSE-KMS,但 DSSE-KMS 套用兩個獨立的 AES-256 加密層,而不是一層:首先使用 AWS KMS 資料加密金鑰,然後使用單獨的 Amazon S3 受管加密金鑰。由於兩層加密都套用至伺服器端的物件,您可以使用各種 AWS 服務 和工具來分析 S3 中的資料,同時使用可满足合規要求的加密方法。如需更多詳細資訊,請參閱 搭配 AWS KMS 金鑰 (DSSE-KMS) 使用雙層伺服器端加密。
使用客戶提供金鑰 (SSE-C) 的伺服器端加密
使用「伺服器端加密搭配客戶提供金鑰 (SSE-C)」時,您負責管理加密金鑰,而 Amazon S3 會在將物件寫入磁碟時進行加密,並在您存取物件時予以解密。如需更多詳細資訊,請參閱 搭配客戶提供的金鑰 (SSE-C) 使用伺服器端加密。
注意
使用 S3 存取點將存取點用於 Amazon FSx 檔案系統時,您可以選擇伺服器端加密。
使用 Amazon FSx (SSE-FSX) 的伺服器端加密
根據預設,所有 Amazon FSx 檔案系統都會設定加密,並以使用 AWS Key Management Service 管理的金鑰進行靜態加密。當資料寫入檔案系統並從檔案系統讀取時,資料會在檔案系統上自動加密和解密。這些程序由 Amazon FSx 以透明化方式處理。