

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

# 遷移您的 AWS Encryption SDK
<a name="migration"></a>

 AWS Encryption SDK 支援多個可互通[的程式設計語言實作](programming-languages.md)，每個都是在 GitHub 上的開放原始碼儲存庫中開發。根據[最佳實務](best-practices.md)，建議您 AWS Encryption SDK 針對每種語言使用最新版本的 。

您可以安全地從 2.0.*x* 版或更新版本升級至 AWS Encryption SDK 最新版本。不過， 的 2.0.*x* 版本 AWS Encryption SDK 引進了重要的新安全功能，其中一些正在中斷變更。若要從 1.7.*x* 之前的版本升級至 2.0.*x* 及更新版本，您必須先升級至最新的 1.*x* 版本。本節中的主題旨在協助您了解變更、為您的應用程式選取正確的版本，以及安全且成功地遷移至最新版本的 AWS Encryption SDK。

如需 重要版本的資訊 AWS Encryption SDK，請參閱 [的版本 AWS Encryption SDK](about-versions.md)。

**重要**  
在未先升級至最新的 1.*x* 版本之前，請勿直接從 1.7.x 版升級至 2.0*.**x* 版或更新版本。如果您直接升級至 2.0.*x* 版或更新版本，並立即啟用所有新功能， AWS Encryption SDK 則 將無法解密在舊版 下加密的加密文字 AWS Encryption SDK。

**注意**  
for .NET AWS Encryption SDK 的最早版本是 3.0.*x* 版。 AWS Encryption SDK 適用於 .NET 的所有版本都支援 2.0.*x* 中引入的安全最佳實務。 AWS Encryption SDK您可以安全地升級至最新版本，無需變更任何程式碼或資料。  
AWS Encryption CLI：閱讀此遷移指南時，請使用 AWS Encryption CLI 1.8.*x* 的 1.7.*x* 遷移說明，並使用 AWS Encryption CLI 2.1.x 的 2.0.*x* **遷移說明。如需詳細資訊，請參閱[AWS 加密 CLI 的版本](crypto-cli-versions.md)。  
新的安全功能最初在 AWS 加密 CLI 版本 1.7.*x* 和 2.0.*x* 中發行。不過， AWS Encryption CLI 1.8.*x* 版取代了 1.7.*x* 版，而 AWS Encryption CLI 2.1.*x* 版取代了 2.0.*x*。如需詳細資訊，請參閱 GitHub 上 [aws-encryption-sdk-cli](https://github.com/aws/aws-encryption-sdk-cli/) 儲存庫中的相關[安全建議](https://github.com/aws/aws-encryption-sdk-cli/security/advisories/GHSA-2xwp-m7mq-7q3r)。

**新使用者**  
如果您是初次使用 AWS Encryption SDK， AWS Encryption SDK 請為您的程式設計語言安裝最新版本的 。預設值會啟用 的所有安全功能 AWS Encryption SDK，包括使用簽署、金鑰衍生和[金鑰承諾](concepts.md#key-commitment)進行加密。 AWS Encryption SDK

**目前使用者**  
建議您盡快從目前版本升級至最新的可用版本。所有 1.*x* 版本的 AWS Encryption SDK 都處於[end-of-support階段](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle)，某些程式設計語言的更新版本也是如此。如需 AWS Encryption SDK 程式設計語言中 支援和維護狀態的詳細資訊，請參閱 [支援和維護](introduction.md#support)。  
AWS Encryption SDK 2.0.*x* 版和更新版本提供新的安全功能，以協助保護您的資料。不過，2.0.*x* AWS Encryption SDK 版包含無法回溯相容的重大變更。為了確保安全的轉換，請先將程式設計語言中的目前版本遷移至最新的 1.*x*。當您最新的 1.*x* 版本完全部署並成功運作時，您可以安全地遷移至 2.0.*x* 版和更新版本。這個[兩步驟程序](migration-guide.md)對於分散式應用程式尤其重要。

如需這些變更背後之 AWS Encryption SDK 安全功能的詳細資訊，請參閱 *AWS 安全部落格*中的[改善用戶端加密：明確 KeyIds 和金鑰承諾](https://aws.amazon.com/blogs/security/improved-client-side-encryption-explicit-keyids-and-key-commitment/)。

尋找 適用於 JAVA 的 AWS Encryption SDK 搭配 使用 的協助 AWS SDK for Java 2.x？ 請參閱 [先決條件](java.md#java-prerequisites)。

**Topics**
+ [如何遷移和部署 AWS Encryption SDK](migration-guide.md)
+ [更新 AWS KMS 主金鑰提供者](migrate-mkps-v2.md)
+ [更新 AWS KMS keyring](migrate-keyrings-v2.md)
+ [設定您的承諾政策](migrate-commitment-policy.md)
+ [對遷移至最新版本進行故障診斷](troubleshooting-migration.md)