

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

# 金鑰存放區
<a name="key-store-overview"></a>

*金鑰存放*區是存放和使用密碼編譯金鑰的安全位置。中的預設金鑰存放區 AWS KMS 也支援產生和管理其存放金鑰的方法。根據預設， AWS KMS keys 您在 中建立之 的密碼編譯金鑰材料 AWS KMS 會在 中產生，並由 [FIPS 140-3 密碼編譯模組驗證計劃的](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4884)硬體安全模組 (HSMs) 保護。KMS 金鑰的金鑰材料永遠不會讓 HSM 處於未加密狀態。

AWS KMS 支援多種類型的金鑰存放區，可在使用 AWS KMS 建立和管理加密金鑰時保護您的金鑰材料。提供的所有金鑰存放區選項 AWS KMS 都會在安全層級 3 的 FIPS 140-3 下持續驗證，旨在防止任何人存取您的純文字金鑰或在沒有您許可的情況下使用這些金鑰存放區選項，包括 AWS 運算子。

## AWS KMS 標準金鑰存放區
<a name="default-key-store"></a>

根據預設，會使用標準 AWS KMS HSM 建立 KMS 金鑰。此 HSM 類型可視為 HSMs 的多租戶機群，可讓您從角度管理最具可擴展性、最低成本且最簡單的金鑰存放區。如果您要建立 KMS 金鑰以用於一或多個 ， AWS 服務 讓 服務可以代表您加密資料，則您將建立對稱金鑰。如果您使用 KMS 金鑰進行自己的應用程式設計，您可以選擇建立對稱加密金鑰、非對稱金鑰或 HMAC 金鑰。

在標準金鑰存放區選項中， 會 AWS KMS 建立您的金鑰，然後在服務內部管理的金鑰下對其進行加密。然後，將多個加密版本的金鑰存放在專為耐用性設計的系統中。在標準金鑰存放區類型中產生和保護您的金鑰材料，可讓您充分利用 的 AWS 可擴展性、可用性和耐用性， AWS KMS 並降低金鑰存放區的營運負擔和成本。

## AWS KMS 具有匯入金鑰材料的標準金鑰存放區
<a name="imported-key-material"></a>

與其 AWS KMS 同時要求 產生和存放指定金鑰的唯一副本，您可以選擇將金鑰材料匯入 AWS KMS，允許您產生自己的 256 位元對稱加密金鑰、RSA 或橢圓曲線 (ECC) 金鑰或雜湊型訊息驗證碼 (HMAC) 金鑰，並將其套用至 KMS 金鑰識別符 (keyId)。這有時稱為*自帶金鑰* (BYOK)。從本機金鑰管理系統匯入的金鑰材料必須使用 發行的公有金鑰 AWS KMS、支援的密碼編譯包裝演算法，以及 提供的以時間為基礎的匯入字符來保護 AWS KMS。此程序會驗證您的加密匯入金鑰只有在離開您的環境後，才能由 AWS KMS HSM 解密。

如果您在系統周圍有產生金鑰的特定需求，或想要在 外部複製金鑰 AWS 做為備份，則匯入的金鑰材料可能很有用。請注意，您必須負責匯入金鑰材料的整體可用性和耐久性。雖然 AWS KMS 有匯入金鑰的副本，而且 會在您需要時保持高可用性，但匯入的金鑰提供特殊 API 以供刪除 – DeleteImportedKeyMaterial。此 API 會立即刪除 AWS KMS 具有 的匯入金鑰材料的所有副本，沒有 AWS 讓 復原金鑰的選項。此外，您可以在匯入的金鑰上設定過期時間，之後金鑰將無法使用。若要讓金鑰在 中再次有用 AWS KMS，您必須重新匯入金鑰材料，並將其指派給相同的 keyId。此匯入金鑰的刪除動作與代表您 AWS KMS 產生和存放的標準金鑰不同。在標準案例中，金鑰刪除程序具有強制的等待期間，其中排定刪除的金鑰會先封鎖使用。此動作可讓您從任何可能需要該金鑰才能存取資料的應用程式 AWS 或服務，查看日誌中的存取遭拒錯誤。如果您看到這類存取請求，您可以選擇取消排定的刪除並重新啟用金鑰。在可設定的等待期間 （介於 7 到 30 天之間） 之後，只有 KMS 才會實際刪除金鑰材料、keyID 以及與金鑰相關聯的所有中繼資料。如需可用性和耐用性的詳細資訊，請參閱《 *AWS KMS 開發人員指南*》中的[保護匯入的金鑰材料](import-keys-protect.md)。

匯入的金鑰材料有一些額外的限制需要注意。由於 AWS KMS 無法產生新的金鑰材料，因此無法設定匯入金鑰的自動輪換。您需要使用新的 keyId 建立新的 KMS 金鑰，然後匯入新的金鑰材料以實現有效的輪換。此外，在匯入的對稱金鑰 AWS KMS 下在 中建立的加密文字，無法使用 外部的金鑰本機複本輕鬆解密 AWS。這是因為 使用的已驗證加密格式會將其他中繼資料 AWS KMS 附加到加密文字，以在解密操作期間保證加密文字是由預期的 KMS 金鑰在先前的加密操作下建立。大多數外部密碼編譯系統都不會了解如何剖析此中繼資料，以取得原始加密文字的存取權，以便能夠使用其對稱金鑰的副本。在匯入的非對稱金鑰 （例如 RSA 或 ECC) 下建立的加密文字，可以在 外部 AWS KMS 與金鑰的相符 （公有或私有） 部分搭配使用，因為 不會將其他中繼資料新增至 AWS KMS 加密文字。

## AWS KMS 自訂金鑰存放區
<a name="custom-key-store-overview"></a>

然而，如果需要更多的 HSM 控制權，您可以建立自訂金鑰存放區。

*自訂金鑰存放*區是 內的金鑰存放區 AWS KMS，由您擁有和管理的 外部金鑰管理員 AWS KMS 提供支援。自訂金鑰存放區結合了方便且全面的金鑰管理界面 AWS KMS ，以及擁有和控制金鑰材料和密碼編譯操作的能力。當您使用自訂金鑰存放區中的 KMS 金鑰時，您的金鑰管理器將使用您的密碼編譯金鑰執行密碼編譯操作。因此，您需要對密碼編譯金鑰的可用性和耐久性以及 HSM 的操作承擔更多責任。

擁有 HSMs 可能有助於滿足尚未允許標準 KMS 金鑰存放區等多租戶 Web 服務保存密碼編譯金鑰的特定法規要求。自訂金鑰存放區不比使用受管 HSMs KMS AWS金鑰存放區更安全，但它們具有不同的 （和更高的） 管理和成本影響。因此，您對密碼編譯金鑰的可用性和耐久性以及 HSMs 的操作承擔更多責任。無論您使用標準金鑰存放區搭配 AWS KMS HSMs 還是自訂金鑰存放區，服務的設計都會讓包括 AWS 員工在內的任何人都無法擷取您的純文字金鑰，或在未經您許可的情況下使用這些金鑰存放區。 AWS KMS 支援兩種類型的自訂金鑰存放區、 AWS CloudHSM 金鑰存放區和外部金鑰存放區。

**不支援的功能**

AWS KMS 不支援自訂金鑰存放區中的下列功能。
+ [非對稱 KMS 金鑰](symmetric-asymmetric.md)
+ [HMAC KMS 金鑰](hmac.md)
+ [含有匯入金鑰資料的 KMS 金鑰](importing-keys.md)
+ [自動金鑰輪換](rotate-keys.md)
+ [多區域金鑰](multi-region-keys-overview.md)

### AWS CloudHSM 金鑰存放區
<a name="hsm-store"></a>

 您可以在[AWS CloudHSM](https://aws.amazon.com/kms/pricing/)金鑰存放區中建立 KMS 金鑰，其中會產生根使用者金鑰，並儲存在您擁有和管理的 AWS CloudHSM 叢集中。針對某些密碼編譯操作 AWS KMS 使用金鑰的請求會轉送到您的 AWS CloudHSM 叢集，以執行操作。當 AWS CloudHSM 叢集由 託管時 AWS，它是由您直接管理和操作的單一租用戶解決方案。您擁有 AWS CloudHSM 叢集中 KMS 金鑰的大部分可用性和效能。若要查看 AWS CloudHSM 自訂金鑰存放區是否適合您的需求，請參閱 [AWS KMS 安全部落格中的 是否適合您？ 自訂金鑰存放區](https://aws.amazon.com/blogs/security/are-kms-custom-key-stores-right-for-you/)。 AWS 

### 外部金鑰存放區
<a name="external-store"></a>

 您可以將 設定為 AWS KMS 使用外部金鑰存放區 (XKS)，其中會產生、存放根使用者金鑰，並在 外部的金鑰管理系統中使用 AWS 雲端。 AWS KMS 使用金鑰進行某些密碼編譯操作的請求會轉送至外部託管系統，以執行操作。具體而言，請求會轉送到您網路中的 XKS Proxy，然後將請求轉送到您使用的任何密碼編譯系統。XKS Proxy 是一種開放原始碼規格，任何人都可以與之整合。許多商業金鑰管理廠商支援 XKS Proxy 規格。由於外部金鑰存放區由您或某些第三方託管，因此您擁有系統中金鑰的所有可用性、耐用性和效能。若要查看外部金鑰存放區是否適合您的需求，請參閱 AWS 新聞部落格上的[公告 AWS KMS 外部金鑰存放區 (XKS)](https://aws.amazon.com/blogs/aws/announcing-aws-kms-external-key-store-xks/)。