

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

# 步驟 1：建立 AWS KMS key 不含金鑰材料的
<a name="importing-keys-create-cmk"></a>

根據預設， 會在您 AWS KMS 建立 KMS 金鑰時為您建立金鑰材料。若是要匯入您自己的金鑰材料，請從建立一個不含金鑰材料的 KMS 金鑰開始。然後再匯入金鑰材料。若要建立不含金鑰材料的 KMS 金鑰，請使用 AWS KMS 主控台或 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 操作。

若要建立不含金鑰資料的金鑰，請指定 `EXTERNAL` 的[來源](create-keys.md#key-origin)。KMS 金鑰的來源屬性不可變。建立 KMS 金鑰之後，您就無法將專為匯入金鑰材料設計的 KMS 金鑰轉換為 KMS 金鑰，其中包含來自 AWS KMS 或任何其他來源的金鑰材料。

具有 `EXTERNAL` 來源且沒有金鑰材料的 KMS 金鑰的[金鑰狀態](key-state.md)為 `PendingImport`。KMS 金鑰可以無限期保持在 `PendingImport` 狀態。然而，您無法在密碼編譯操作採用 `PendingImport` 狀態的 KMS 金鑰。在匯入金鑰資料之後，KMS 金鑰的金鑰狀態會變為 `Enabled`，且您可在密碼編譯操作使用該 KMS 金鑰。

AWS KMS 當您[建立 KMS 金鑰](ct-createkey.md)、[下載公有金鑰和匯入字符](ct-getparametersforimport.md)，以及[匯入金鑰材料](ct-importkeymaterial.md)時， 會在 AWS CloudTrail 日誌中記錄事件。 AWS KMS 當您[刪除匯入的金鑰材料](ct-deleteimportedkeymaterial.md)或 AWS KMS [刪除過期的金鑰材料](ct-deleteexpiredkeymaterial.md)時， 也會記錄 CloudTrail 事件。

**Topics**
+ [建立不含金鑰材料的 KMS 金鑰 (主控台)](#importing-keys-create-cmk-console)
+ [建立不含金鑰材料 (AWS KMS API) 的 KMS 金鑰](#importing-keys-create-cmk-api)

## 建立不含金鑰材料的 KMS 金鑰 (主控台)
<a name="importing-keys-create-cmk-console"></a>

您只需為匯入的金鑰資料建立一次 KMS 金鑰。您可視需要無限次匯入及重新匯入相同金鑰資料至現有 KMS 金鑰，但您不能匯入不同金鑰資料至一個 KMS 金鑰。如需詳細資訊，請參閱[步驟 2：下載包裝公有金鑰及匯入字符](importing-keys-get-public-key-and-token.md)。

若要在 **Customer managed keys** (客戶受管金鑰) 資料表中尋找具有匯入金鑰材料的現有 KMS 金鑰，請使用右上角的齒輪圖示在 KMS 金鑰清單中顯示 **Origin** (來源) 資料欄。匯入金鑰的**來源**值為**外部 (匯入金鑰資料)**。

若要使用匯入的金鑰材料建立 KMS 金鑰，請先遵循[建立您慣用金鑰類型的 KMS 金鑰的指示](create-keys.md)，但有下列例外。

在選擇金鑰用途之後，請執行下列步驟：

1. 展開 **Advanced options (進階選項)**。

1. 對於 **Key material origin** (金鑰材料來源)，選擇 **External (Import key material)** (外部 (匯入金鑰材料))。

1. 然後選擇**我了解採用已匯入金鑰的安全性及持久性隱憂**旁邊的核取方塊，表示您了解使用匯入金鑰資料的隱憂。如要閱讀這些隱憂的相關資訊，請參閱 [保護匯入的金鑰資料](import-keys-protect.md)。

1. 選用：若要使用匯入[的金鑰材料建立多區域 KMS](multi-region-keys-overview.md) 金鑰，請在**區域**性下選取**多區域金鑰**。

1. 返回基本說明。對於該類型的所有 KMS 金鑰，基本程序的其餘步驟均相同。

當您選擇**完成**時，您已建立不含金鑰資料的 KMS 金鑰，且狀態 ([金鑰狀態](key-state.md)) 為**待匯入**。

然而，主控台不會返回**客戶自管金鑰**表，而是顯示頁面讓您可在其中下載匯入金鑰資料所需的公有金鑰與匯入字符。您可立即繼續執行下載步驟，或選擇**取消**並在此時停止。您可隨時返回此下載步驟。

下一步：[步驟 2：下載包裝公有金鑰及匯入字符](importing-keys-get-public-key-and-token.md)。

## 建立不含金鑰材料 (AWS KMS API) 的 KMS 金鑰
<a name="importing-keys-create-cmk-api"></a>

若要使用 [AWS KMS API](https://docs.aws.amazon.com/kms/latest/APIReference/) 建立不含金鑰資料的對稱加密 KMS 金鑰，請傳送 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 請求並將 `Origin` 參數設為 `EXTERNAL`。以下範例顯示如何使用 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) 執行此作業。

```
$ aws kms create-key --origin EXTERNAL
```

如果命令成功執行，您會看到類似如下的輸出。 AWS KMS 金鑰的 `Origin`是 `EXTERNAL` ，其 `KeyState`是 `PendingImport`。

**提示**  
如果命令未成功，您可能看到 `KMSInvalidStateException` 或 `NotFoundException`。您可重試請求。

```
{
    "KeyMetadata": {
        "Origin": "EXTERNAL",
        "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
        "Description": "",
        "Enabled": false,
        "MultiRegion": false,
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "PendingImport",
        "CreationDate": 1568289600.0,
        "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
        "AWSAccountId": "111122223333",
        "KeyManager": "CUSTOMER",
        "KeySpec": "SYMMETRIC_DEFAULT",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ]
    }
}
```

從命令輸出複製 `KeyId` 值以供後續步驟使用，然後繼續進行 [步驟 2：下載包裝公有金鑰及匯入字符](importing-keys-get-public-key-and-token.md)。

**注意**  
此命令會利用 `SYMMETRIC_DEFAULT` 的 `KeySpec` 與 `ENCRYPT_DECRYPT` 的 `KeyUsage` 來建立對稱加密 KMS 金鑰。您可利用選用參數 `--key-spec` 與 `--key-usage` 來建立非對稱 HMAC KMS 金鑰。如需詳細資訊，請參閱 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 操作。