

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

# AWS CloudHSM 金鑰管理最佳實務
<a name="bp-hsm-key-management"></a>

管理 金鑰時，請遵循本節中的最佳實務 AWS CloudHSM。

## 選擇正確的金鑰類型
<a name="bp-choose-the-right-key"></a>

使用工作階段金鑰時，每秒交易數 (TPS) 將僅限於金鑰存在的一個 HSM。叢集中的額外 HSMs 不會增加該金鑰的請求輸送量。如果您針對相同的應用程式使用權杖金鑰，您的請求將在叢集中的所有可用 HSMs之間進行負載平衡。如需詳細資訊，請參閱[中的金鑰同步和耐久性設定 AWS CloudHSM](manage-key-sync.md)。

## 管理金鑰儲存限制
<a name="bp-key-storage-limits"></a>

HSMs 對可以一次儲存在 HSM 上的字符和工作階段金鑰數目上限有限制。如需金鑰儲存限制的資訊，請參閱 [AWS CloudHSM 配額](limits.md)。如果您的應用程式需要超過限制，您可以使用下列一或多個策略來有效管理金鑰：

**使用信任的包裝將您的金鑰存放在外部資料存放區**：使用信任的金鑰包裝，您可以將所有金鑰包裝在外部資料存放區中，以克服金鑰儲存限制。當您需要使用此金鑰時，您可以將金鑰取消包裝至 HSM 做為工作階段金鑰，使用金鑰進行必要的操作，然後捨棄工作階段金鑰。原始金鑰資料會安全地存放在資料存放區中，供您在需要時使用。使用信任的金鑰來執行此操作，可最大化您的保護。

將**金鑰分散到叢集**：克服金鑰儲存限制的另一個策略是將金鑰存放在多個叢集中。在此方法中，您可以維護儲存在每個叢集中的金鑰映射。使用此映射將用戶端請求路由到具有所需金鑰的叢集。如需如何從相同用戶端應用程式連線至多個叢集的資訊，請參閱下列主題：
+ [使用 JCE 提供者連線至多個 AWS CloudHSM 叢集](java-lib-configs-multi.md)
+ [適用於 的 PKCS \#11 程式庫的多個槽組態 AWS CloudHSM](pkcs11-library-configs-multi-slot.md)

## 管理和保護金鑰包裝
<a name="best-practices-key-protection"></a>

金鑰可以透過 `EXTRACTABLE` 屬性標示為可擷取或不可擷取。根據預設，HSM 金鑰會標記為可擷取。

可擷取金鑰是允許透過金鑰包裝從 HSM 匯出的金鑰。包裝的金鑰會加密，而且必須先使用相同的包裝金鑰來取消包裝，才能使用。在任何情況下，都不能從 HSM 匯出不可擷取的金鑰。無法擷取不可擷取的金鑰。因此，請務必考慮是否需要擷取金鑰，並相應地設定對應的金鑰屬性。

如果您需要在應用程式中使用金鑰包裝，您應該利用信任的金鑰包裝來限制 HSM 使用者只能包裝/取消包裝已被管理員明確標記為信任的金鑰。如需詳細資訊，請參閱 中受信任金鑰包裝的主題[中的金鑰 AWS CloudHSM](manage-keys.md)。

相關資源
+ [包裝和解包函數](pkcs11-mechanisms.md#pkcs11-mech-function-wrap-unwrap)
+ [JCE 的加密函數](java-lib-supported_5.md#java-ciphers_5)
+ [AWS CloudHSM 用戶端 SDK 5 支援的 Java 金鑰屬性](java-lib-attributes_5.md)
+ [CloudHSM CLI 的金鑰屬性](cloudhsm_cli-key-attributes.md)