

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

# 解譯 AWS CloudHSM 稽核日誌
<a name="interpreting-audit-logs"></a>

HSM 稽核日誌中的事件具有標準欄位。有些事件類型具有額外的欄位，可擷取事件相關的實用資訊。例如，使用者登入和使用者管理事件會包含使用者名稱和使用者的使用者類型。金鑰管理命令則包含金鑰控點。

有數個欄位可提供特別重要的資訊。`Opcode` 會識別記錄的管理命令。`Sequence No` 則會識別日誌串流中的事件，指出記錄該事件的順序。

例如，下列範例事件為 HSM 日誌串流中的第二個事件 (`Sequence No: 0x1`)。它會顯示 HSM 產生密碼加密金鑰，即其啟動常式的一部分。

```
Time: 12/19/17 21:01:17.140812, usecs:1513717277140812
Sequence No : 0x1
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

下列欄位常見於稽核日誌中的每個 AWS CloudHSM 事件。

**時間**  
事件發生的時間，其時區為 UTC 時區。時間會以可供人閱讀的時間格式，以及單位為微秒的 Unix 時間顯示。

**重新開機計數器**  
32 位元的持久性序數計數器，會在 HSM 硬體重新開機時遞增。  
日誌串流中的所有事件都具有相同的重新開機計數器值。但是，重新開機計數器對日誌串流來說可能並非唯一，因為相同叢集中不同 HSM 執行個體的計數都可能不同。

**序號**  
64 位元的序數計數器，會在發生每個日誌事件時遞增。每個日誌串流中的第一個事件都具有 0x0 的序號。`Sequence No` 的值之間不應會有任何間隙。序號在日誌串流中是唯一的。

**命令類型**  
代表命令種類的十六進位值。 AWS CloudHSM 日誌串流中命令的命令類型為 `CN_MGMT_CMD` (0x0) 或 `CN_CERT_AUTH_CMD` (0x9)。

**Opcode**  
識別執行的管理命令。如需 AWS CloudHSM 稽核日誌中的`Opcode`值清單，請參閱 [AWS CloudHSM 稽核日誌參考](cloudhsm-audit-log-reference.md)。

**工作階段控點**  
識別執行命令及記錄事件的工作階段。

**回應**  
記錄針對管理命令的回應。您可以針對 `SUCCESS` 和 `ERROR` 值搜尋 `Response` 欄位。

**日誌類型**  
指出記錄命令之 AWS CloudHSM 日誌的日誌類型。  
+ `MINIMAL_LOG_ENTRY (0)`
+ `MGMT_KEY_DETAILS_LOG (1)`
+ `MGMT_USER_DETAILS_LOG (2)`
+ `GENERIC_LOG`

## 稽核日誌事件的範例
<a name="example-audit-log"></a>

日誌串流中的事件會記錄 HSM 從建立到刪除的歷史記錄。您可以使用日誌檢閱您 HSM 的生命週期，洞見其操作。當您解譯事件時，請注意表示管理命令或動作的 `Opcode`，以及指出事件順序的 `Sequence No`。

**Topics**
+ [範例：初始化叢集中的第一個 HSM](#example-audit-log-first-hsm)
+ [登入及登出事件](#example-audit-log-login-logout)
+ [範例：建立和刪除使用者](#example-audit-log-first-hsm)
+ [範例：建立和刪除金鑰對](#example-audit-log-manage-keys)
+ [範例：產生及同步金鑰](#audit-log-example-gen-key)
+ [範例：匯出金鑰](#audit-log-example-export-key)
+ [範例：匯入金鑰](#audit-log-example-import-key)
+ [範例：共用和取消共用金鑰](#audit-log-example-share-unshare-key)

### 範例：初始化叢集中的第一個 HSM
<a name="example-audit-log-first-hsm"></a>

每個叢集中第一個 HSM 的稽核日誌串流都與叢集中其他 HSM 的日誌串流有相當大的差異。每個叢集中第一個 HSM 的稽核日誌會記錄其建立和初始化。叢集中其他從備份產生之 HSM 的日誌會從登入事件開始。

**重要**  
下列初始化項目不會出現在於 CloudHSM 稽核日誌功能釋出 (2018 年 8 月 30 日) 前初始化之叢集的 CloudWatch 日誌中。如需詳細資訊，請參閱[文件歷史記錄](document-history.md)。

下列範例事件會出現在叢集中第一個 HSM 的日誌串流內。日誌中的第一個事件 (帶有 `Sequence No 0x0` 的事件) 代表初始化 HSM 的命令 (`CN_INIT_TOKEN`)。回應表示命令成功 (`Response : 0: HSM Return: SUCCESS`)。

```
Time: 12/19/17 21:01:16.962174, usecs:1513717276962174
Sequence No : 0x0
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INIT_TOKEN (0x1)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

此範例日誌串流中的第二個事件 (`Sequence No 0x1`) 會記錄建立 HSM 使用之密碼加密金鑰的命令 (`CN_GEN_PSWD_ENC_KEY`)。

這是每個叢集中第一個 HSM 很典型的過程。因為相同叢集中的後續 HSM 都是第一個 HSM 的複本，他們會使用相同的密碼加密金鑰。

```
Time: 12/19/17 21:01:17.140812, usecs:1513717277140812
Sequence No : 0x1
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GEN_PSWD_ENC_KEY (0x1d)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

此範例日誌串流中的第三個事件 (`Sequence No 0x2`) 為建立「應用裝置使用者 (AU)」[設備使用者 (AU)](understanding-users-cmu.md#appliance-user-cmu)，即 AWS CloudHSM 服務。涉及 HSM 使用者的事件會包含使用者名稱和使用者類型的額外欄位。

```
Time: 12/19/17 21:01:17.174902, usecs:1513717277174902
Sequence No : 0x2
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_APPLIANCE_USER (0xfc)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : app_user
User Type : CN_APPLIANCE_USER (5)
```

此範例日誌串流中的第四個事件 (`Sequence No 0x3`) 會記錄 `CN_INIT_DONE` 事件，即完成 HSM 初始化。

```
Time: 12/19/17 21:01:17.298914, usecs:1513717277298914
Sequence No : 0x3
Reboot counter : 0xe8
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INIT_DONE (0x95)
Session Handle : 0x1004001
Response : 0:HSM Return: SUCCESS
Log type : MINIMAL_LOG_ENTRY (0)
```

您可以依循啟動過程中的剩餘事件。這些事件可能包含幾項登入和登出事件，以及金鑰加密金鑰 (KEK) 的產生。下列事件會記錄變更「前加密主管 (PRECO)」[準加密員 (PRECO)](understanding-users-cmu.md#preco)密碼的命令。此命令會啟用叢集。

```
Time: 12/13/17 23:04:33.846554, usecs:1513206273846554
Sequence No: 0x1d
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_CHANGE_PSWD (0x9)
Session Handle: 0x2010003
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: admin
User Type: CN_CRYPTO_PRE_OFFICER (6)
```

### 登入及登出事件
<a name="example-audit-log-login-logout"></a>

當解譯您的稽核日誌時，請注意記錄使用者登入和登出 HSM 的事件。這些事件可協助您判斷從登入到登出命令之間，執行管理命令的使用者序列為何。

例如，此日誌項目會記錄名為 `admin` 之加密主管的登入。序號 (`0x0`) 指出這是此日誌串流中的第一個事件。

當使用者登入 HSM 時，叢集中的其他 HSM 也會記錄使用者的登入事件。初始登入事件之後不久，您便可以在叢集中其他 HSM 的日誌串流中找到相對應的登入事件。

```
Time: 01/16/18 01:48:49.824999, usecs:1516067329824999
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

以下範例事件會記錄 `admin` 加密主管登出。序號 (`0x2`) 指出這是此日誌串流中的第三個事件。

若登入的使用者在沒有登出的情況下關閉工作階段，日誌串流便會包含一個 `CN_APP_FINALIZE` 或關閉工作階段事件 (`CN_SESSION_CLOSE`)，而非 `CN_LOGOUT` 事件。與登入事件不同，此登出事件通常只會由執行命令的 HSM 記錄。

```
Time: 01/16/18 01:49:55.993404, usecs:1516067395993404
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGOUT (0xe)
Session Handle : 0x7014000
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

若登入嘗試因為使用者名稱無效而失敗，則 HSM 會記錄一項 `CN_LOGIN` 事件，其中包含登入命令中提供的使用者名稱和類型。回應會顯示錯誤訊息 157，解釋使用者名稱不存在。

```
Time: 01/24/18 17:41:39.037255, usecs:1516815699037255
Sequence No : 0x4
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 157:HSM Error: user isn't initialized or user with this name doesn't exist
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : ExampleUser
User Type : CN_CRYPTO_USER (1)
```

若登入嘗試因為密碼無效而失敗，則 HSM 會記錄一項 `CN_LOGIN` 事件，其中包含登入命令中提供的使用者名稱和類型。回應會顯示帶有 `RET_USER_LOGIN_FAILURE` 錯誤碼的錯誤訊息。

```
Time: 01/24/18 17:44:25.013218, usecs:1516815865013218
Sequence No : 0x5
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 163:HSM Error: RET_USER_LOGIN_FAILURE
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

### 範例：建立和刪除使用者
<a name="example-audit-log-first-hsm"></a>

此範例會顯示加密管理員 (CO) 建立和刪除使用者時記錄的日誌事件。

第一個事件記錄 CO (`admin`) 登入 HSM。序號為 `0x0` 表示此為日誌串流中的第一個事件。事件中也包含了登入使用者的名稱和類型。

```
Time: 01/16/18 01:48:49.824999, usecs:1516067329824999
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : admin
User Type : CN_CRYPTO_OFFICER (2)
```

日誌串流中的下一個事件 (序號為 `0x1`) 則記錄了 CO 建立新的加密使用者 (CU)。事件中也包含了新使用者的名稱和類型。

```
Time: 01/16/18 01:49:39.437708, usecs:1516067379437708
Sequence No : 0x1
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_USER (0x3)
Session Handle : 0x7014006
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : bob
User Type : CN_CRYPTO_USER (1)
```

然後，CO 會建立另一個加密管理員 (`alice`)。序號指出此動作是接續在前一個動作之後，期間沒有任何介入動作。

```
Time: 01/16/18 01:49:55.993404, usecs:1516067395993404
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_CREATE_CO (0x4)
Session Handle : 0x7014007
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : alice
User Type : CN_CRYPTO_OFFICER (2)
```

稍後，名為 `admin` 的 CO 登入並刪除名為 `alice` 的加密管理員。HSM 記錄 `CN_DELETE_USER` 事件。事件中也包含了遭刪除之使用者的名稱和類型。

```
Time: 01/23/18 19:58:23.451420, usecs:1516737503451420
Sequence No : 0xb
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_DELETE_USER (0xa1)
Session Handle : 0x7014007
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : alice
User Type : CN_CRYPTO_OFFICER (2)
```

### 範例：建立和刪除金鑰對
<a name="example-audit-log-manage-keys"></a>

此範例顯示您建立及刪除金鑰對時，於 HSM 稽核日誌中記錄的事件。

下列事件會記錄名為 `crypto_user` 的加密使用者 (CU) 登入 HSM。

```
Time: 12/13/17 23:09:04.648952, usecs:1513206544648952
Sequence No: 0x28
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_LOGIN (0xd)
Session Handle: 0x2014005
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: crypto_user
User Type: CN_CRYPTO_USER (1)
```

接著，CU 會產生一組金鑰對 (`CN_GENERATE_KEY_PAIR`)。私有金鑰具有金鑰控制代碼 `131079`。公有金鑰具有金鑰控制代碼 `131078`。

```
Time: 12/13/17 23:09:04.761594, usecs:1513206544761594
Sequence No: 0x29
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_GENERATE_KEY_PAIR (0x19)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131079
Public Key Handle: 131078
```

CU 立即刪除了金鑰對。CN\$1DESTROY\$1OBJECT 事件會記錄公有金鑰的刪除 (131078)。

```
Time: 12/13/17 23:09:04.813977, usecs:1513206544813977
Sequence No: 0x2a
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_DESTROY_OBJECT (0x11)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131078
Public Key Handle: 0
```

接著，第二個 `CN_DESTROY_OBJECT` 事件會記錄私有金鑰的刪除 (`131079`)。

```
Time: 12/13/17 23:09:04.815530, usecs:1513206544815530
Sequence No: 0x2b
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_DESTROY_OBJECT (0x11)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle: 131079
Public Key Handle: 0
```

最後，CU 登出。

```
Time: 12/13/17 23:09:04.817222, usecs:1513206544817222
Sequence No: 0x2c
Reboot counter: 0xe8
Command Type(hex): CN_MGMT_CMD (0x0)
Opcode: CN_LOGOUT (0xe)
Session Handle: 0x2014004
Response: 0:HSM Return: SUCCESS
Log type: MGMT_USER_DETAILS_LOG (2)
User Name: crypto_user
User Type: CN_CRYPTO_USER (1)
```

### 範例：產生及同步金鑰
<a name="audit-log-example-gen-key"></a>

此範例顯示在具有多個 HSM 的叢集中建立金鑰的效果。在其中一個 HSM 上產生的金鑰，會從 HSM 以遮罩物件擷取，然後以遮罩物件插入其他 HSM。

**注意**  
用戶端工具可能會無法成功同步金鑰。或是命令可能會包含 **min\$1srv** 參數，限定將金鑰同步至指定數量的 HSM。在任何一種情況下， AWS CloudHSM 服務都會將金鑰同步到叢集中的其他 HSMs。由於 HSM 僅會在其日誌中記錄用戶端的管理命令，因此伺服器端的同步不會記錄在 HSM 的日誌中。

首先請考慮接收及執行命令的 HSM 日誌串流。日誌串流會針對 HSM ID `hsm-abcde123456` 予以命名，但 HSM ID 未出現在日誌事件中。

首先，`testuser` 加密使用者 (CU) 登入 `hsm-abcde123456` HSM。

```
Time: 01/24/18 00:39:23.172777, usecs:1516754363172777
Sequence No : 0x0
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0xc008002
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

CU 會執行 [exSymKey](key_mgmt_util-genSymKey.md) 命令來產生對稱金鑰。`hsm-abcde123456` HSM 會產生金鑰控點為 `262152` 的對稱金鑰。HSM 會在其日誌中記錄 `CN_GENERATE_KEY` 事件。

```
Time: 01/24/18 00:39:30.328334, usecs:1516754370328334
Sequence No : 0x1
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_GENERATE_KEY (0x17)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

`hsm-abcde123456` 之日誌串流中的下一個事件會記錄金鑰同步處理程序中的第一個步驟。從 HSM 將新的金鑰 (金鑰控點 `262152`) 擷取為遮罩物件。

```
Time: 01/24/18 00:39:30.330956, usecs:1516754370330956
Sequence No : 0x2
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

現在請考慮 HSM `hsm-zyxwv987654` (相同叢集中的另一個 HSM) 的日誌串流。此日誌串流也包含 `testuser` CU 的登入事件。時間值會在使用者登入 `hsm-abcde123456` HSM 之後短暫發生。

```
Time: 01/24/18 00:39:23.199740, usecs:1516754363199740
Sequence No : 0xd
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7004004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

此 HSM 的這個日誌串流沒有 `CN_GENERATE_KEY` 事件。但它的事件會記錄與此 HSM 的金鑰同步處理。`CN_INSERT_MASKED_OBJECT_USER` 事件會記錄將金鑰 `262152` 接收為遮罩物件。現在，金鑰 `262152` 存在於叢集的兩個 HSM 上。

```
Time: 01/24/18 00:39:30.408950, usecs:1516754370408950
Sequence No : 0xe
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 262152
Public Key Handle : 0
```

CU 使用者登出時，此 `CN_LOGOUT` 事件只會顯示在收到命令之 HSM 的日誌串流中。

### 範例：匯出金鑰
<a name="audit-log-example-export-key"></a>

此範例顯示加密使用者 (CU) 從含多個 HSM 的叢集匯出金鑰時所記錄的稽核日誌事件。

下列事件會記錄 CU (`testuser`) 登入 [key\$1mgmt\$1util](key_mgmt_util.md)。

```
Time: 01/24/18 19:42:22.695884, usecs:1516822942695884
Sequence No : 0x26
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_LOGIN (0xd)
Session Handle : 0x7004004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_USER_DETAILS_LOG (2)
User Name : testuser
User Type : CN_CRYPTO_USER (1)
```

CU 執行 [exSymKey](key_mgmt_util-exSymKey.md) 命令來匯出金鑰 `7` (256 位元 AES 金鑰)。此命令使用金鑰 `6` (HSM 上的 256 位元 AES 金鑰) 做為包裝金鑰。

接收此命令的 HSM 會記錄金鑰 `7` (即將匯出的金鑰) 的 `CN_WRAP_KEY` 事件。

```
Time: 01/24/18 19:51:12.860123, usecs:1516823472860123
Sequence No : 0x27
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_WRAP_KEY (0x1a)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 7
Public Key Handle : 0
```

然後，HSM 會記錄包裝金鑰 (金鑰 `6`) 的 `CN_NIST_AES_WRAP` 事件。金鑰會予以包裝後立即予以解除包裝，但 HSM 只會記錄一個事件。

```
Time: 01/24/18 19:51:12.905257, usecs:1516823472905257
Sequence No : 0x28
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_NIST_AES_WRAP (0x1e)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 6
Public Key Handle : 0
```

**exSymKey** 命令會將匯出的金鑰寫入至檔案，但不會變更 HSM 上的金鑰。因此，叢集中其他 HSM 的日誌內沒有對應事件。

### 範例：匯入金鑰
<a name="audit-log-example-import-key"></a>

此範例顯示您將金鑰匯入至叢集中的 HSM 時所記錄的稽核日誌事件。在此範例中，加密使用者 (CU) 使用 [imSymKey](key_mgmt_util-imSymKey.md) 命令將 AES 金鑰匯入至 HSM。此命令使用金鑰 `6` 做為包裝金鑰。

接收這些命令的 HSM 會先記錄金鑰 `6` (包裝金鑰) 的 `CN_NIST_AES_WRAP` 事件。

```
Time: 01/24/18 19:58:23.170518, usecs:1516823903170518
Sequence No : 0x29
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_NIST_AES_WRAP (0x1e)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 6
Public Key Handle : 0
```

接著，HSM 會記錄代表匯入操作的 `CN_UNWRAP_KEY` 事件。匯入的金鑰會獲指派金鑰控點 `11`。

```
Time: 01/24/18 19:58:23.200711, usecs:1516823903200711
Sequence No : 0x2a
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_UNWRAP_KEY (0x1b)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

產生或匯入新的金鑰時，用戶端工具會自動嘗試同步處理新的金鑰與叢集中的其他 HSM。在此情況下，將金鑰 `11` 從 HSM 擷取為遮罩物件時，HSM 會記錄 `CN_EXTRACT_MASKED_OBJECT_USER` 事件。

```
Time: 01/24/18 19:58:23.203350, usecs:1516823903203350
Sequence No : 0x2b
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_EXTRACT_MASKED_OBJECT_USER (0xf0)
Session Handle : 0x7004003
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

叢集中其他 HSM 的日誌串流會反映收到新匯入的金鑰。

例如，此事件會記錄在相同叢集中不同 HSM 的日誌串流內。此 `CN_INSERT_MASKED_OBJECT_USER` 事件會記錄收到代表金鑰 `11` 的遮罩物件。

```
Time: 01/24/18 19:58:23.286793, usecs:1516823903286793
Sequence No : 0xb
Reboot counter : 0x107
Command Type(hex) : CN_MGMT_CMD (0x0)
Opcode : CN_INSERT_MASKED_OBJECT_USER (0xf1)
Session Handle : 0xc008004
Response : 0:HSM Return: SUCCESS
Log type : MGMT_KEY_DETAILS_LOG (1)
Priv/Secret Key Handle : 11
Public Key Handle : 0
```

### 範例：共用和取消共用金鑰
<a name="audit-log-example-share-unshare-key"></a>

此範例顯示當加密使用者 (CU) 與其他加密使用者共用或停止共用 ECC 私有金鑰所記錄的稽核日誌事件。CU 可使用 [shareKey](cloudhsm_mgmt_util-shareKey.md) 命令，並提供金鑰控制代碼、使用者 ID，及 `1` 值以共用金鑰，或 `0` 值以停止共用金鑰。

在下列範例中，接收命令的 HSM 會記錄 `CM_SHARE_OBJECT` 事件，其表示共用操作。

```
Time: 02/08/19 19:35:39.480168, usecs:1549654539480168
Sequence No	: 0x3f
Reboot counter	: 0x38
Command Type(hex)	: CN_MGMT_CMD (0x0)
Opcode	: CN_SHARE_OBJECT (0x12)
Session Handle	: 0x3014007
Response	: 0:HSM Return: SUCCESS
Log type	: UNKNOWN_LOG_TYPE (5)
```