Important
Azure 專用 HSM 即將淘汰。 Microsoft 將全面支援現有專用 HSM 客戶至 2028 年 7 月 31 日。 不接受新客戶入職。 完整細節與所需操作,請參閱 官方 Azure 更新。
如果您是 Azure 專用 HSM 使用者,請參閱從 Azure 專用 HSM 遷移至 Managed HSM 或 Azure Cloud HSM。 Azure Cloud HSM 現已正式推出,且 Azure 專用 HSM 的後續專案。
新客戶應根據工作負載需求評估並導入 Azure Cloud HSM、Managed HSM 或 Azure Key Vault。 如需指引,請參閱如何 選擇正確的 Azure 金鑰管理解決方案。
Azure 專用 HSM 提供實體裝置供單一客戶專用,擁有完整的管理控制權並承擔完全管理責任。 由於該服務提供實體硬體,Microsoft 會控制這些裝置的分配方式,以確保有效的容量管理。 因此,在 Azure 訂閱中,專用 HSM 服務通常不會被顯示用於資源配置。 若要使用專用 HSM 服務,您必須聯絡您的 Microsoft 客戶經理,申請註冊專用 HSM 服務。 只有在這個過程成功完成後,你才能配置服務。
本教學展示了一個典型的配置流程,內容包括:
- 客戶已經有虛擬網路
- 他們有虛擬機
- 他們需要將 HSM 資源加入現有環境。
典型的高可用性多區域部署架構可能如下:
本教學聚焦於一對 HSM 與必要的 ExpressRoute 閘道 器(見上文子網 1)整合進現有的虛擬網路(見上文 VNET 1)。 其他資源都是標準的 Azure 資源。 上述 VNET 3 子網 4 的 HSM 也可採用相同的整合流程。
Prerequisites
Azure 專用 HSM 目前在 Azure 入口網站中尚未提供。 所有與服務的互動必須透過命令列或使用 PowerShell。 本教學使用Azure Cloud Shell中的命令列(CLI)介面。 如果您是 Azure CLI 新手,請依照這裡的入門說明:Azure CLI 2.0 快速入門。
假設:
- 你必須有一位指派給你的 Microsoft 帳戶經理,才可符合 Azure 專用 HSM 的上線和使用資格。
- 你已經完成 Azure 專用 HSM 註冊流程,並獲得使用該服務的核准。 如果沒有,請聯絡你的 Microsoft 帳戶 代表了解詳情。
- 你為這些資源建立了一個資源群組,而這個教學中新部署的資源會加入該群組。
- 你已經依圖建立了必要的虛擬網路、子網路和虛擬機器,現在想將兩個 HSM 整合進該部署中。
本文所有說明都假設你在 Azure 入口網站,且 Cloud Shell 已開啟(入口網站右上角點選「>_」)。
設置專用 HSM
進行 HSM 配置並透過 ExpressRoute gateway 整合至現有虛擬網路,可使用 ssh 驗證。 此驗證有助於確保 HSM 裝置的可達性及基本可用性,以便進行後續設定活動。
驗證功能註冊
任何配置活動都必須先為您的訂閱註冊專用 HSM 服務。 要驗證這點,請在 Azure 入口網站 Cloud Shell 執行以下指令。
az feature show \
--namespace Microsoft.HardwareSecurityModules \
--name AzureDedicatedHSM
指令應該會回傳「已註冊」狀態。 如果指令沒有回傳「已註冊」,你必須聯絡你的 Microsoft 帳戶 代表註冊此服務。
建立HSM資源
在建立 HSM 資源之前,有一些先決資源是你需要的。 你必須有一個虛擬網路,並有子網範圍用於運算、HSM 和閘道。 以下指令作為建立此類虛擬網路的範例。
az network vnet create \
--name myHSM-vnet \
--resource-group myRG \
--address-prefix 10.2.0.0/16 \
--subnet-name compute \
--subnet-prefix 10.2.0.0/24
az network vnet subnet create \
--vnet-name myHSM-vnet \
--resource-group myRG \
--name hsmsubnet \
--address-prefixes 10.2.1.0/24 \
--delegations Microsoft.HardwareSecurityModules/dedicatedHSMs
az network vnet subnet create \
--vnet-name myHSM-vnet \
--resource-group myRG \
--name GatewaySubnet \
--address-prefixes 10.2.255.0/26
Note
虛擬網路中最重要的配置是 HSM 裝置的子網路必須將委派設定為「Microsoft.HardwareSecurityModules/dedicatedHSMs」。 沒有設定這個選項,HSM 佈建就無法運作。
虛擬網路也需要 ExpressRoute 閘道器。 若無閘道器,HSM 建立操作會因 連接裝置與虛擬網路時出錯而失敗。 用 az network vnet-gateway create 指令和 ErGwScale SKU 建立閘道器。 Azure 會自動分配和管理閘道器的公開 IP 位址,所以不要建立公共 IP 資源或傳遞--public-ip-addresses參數。
az network vnet-gateway create \
--resource-group myRG \
--name myergw \
--vnet myHSM-vnet \
--gateway-type ExpressRoute \
--sku ErGwScale \
--min-scale-unit 1 \
--max-scale-unit 1
閘道器部署約需17分鐘。
設定網路後,請使用這些 Azure CLI 指令來佈建您的 HSM。
使用 az dedicated-hsm create 指令來配置第一個 HSM。 HSM 命名為 hsm1。 請替代您的訂閱:
az dedicated-hsm create --location westus --name hsm1 --resource-group myRG \ --stamp-id stamp1 --sku "SafeNet Luna Network HSM A790" \ --subnet id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myHSM-vnet/subnets/hsmsubnet" \ --network-interfaces private-ip-address=10.2.1.4HSM 創建操作約需 7 分鐘完成。
要查看目前的 HSM,請執行 az dedicated-hsm show 指令:
az dedicated-hsm show --resource-group myRG --name hsm1使用以下指令配置第二個 HSM:
az dedicated-hsm create --location westus --name hsm2 --resource-group myRG \ --stamp-id stamp2 --sku "SafeNet Luna Network HSM A790" \ --subnet id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myHSM-vnet/subnets/hsmsubnet" \ --network-interfaces private-ip-address=10.2.1.5執行 az dedicated-hsm list 指令以查看您目前 HSM 的詳細資訊:
az dedicated-hsm list --resource-group myRG
還有其他一些指令可能有用。 使用 az dedicated-hsm update 指令來更新 HSM:
az dedicated-hsm update --resource-group myRG --name hsm1
要刪除 HSM,請使用 az dedicated-hsm delete 指令:
az dedicated-hsm delete --resource-group myRG --name hsm1
驗證部署
為了確認裝置是否已配置並查看裝置屬性,請執行以下指令集。 確保資源群組設定正確,且資源名稱與參數檔中完全相同。
subid=$(az account show --query id --output tsv)
az resource show \
--ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM1
az resource show \
--ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM2
輸出結果大致如下:
{
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSMl",
"identity": null,
"kind": null,
"location": "westus",
"managedBy": null,
"name": "HSM1",
"plan": null,
"properties": {
"networkProfile": {
"networkInterfaces": [
{
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/networkInterfaces/HSMl_HSMnic", "privatelpAddress": "10.0.2.5",
"resourceGroup": "HSM-RG"
}
L
"subnet": {
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/virtualNetworks/demo-vnet/subnets/hsmsubnet", "resourceGroup": "HSM-RG"
}
},
"provisioningState": "Succeeded",
"stampld": "stampl",
"statusMessage": "The Dedicated HSM device is provisioned successfully and ready to use."
},
"resourceGroup": "HSM-RG",
"sku": {
"capacity": null,
"family": null,
"model": null,
"name": "SafeNet Luna Network HSM A790",
"size": null,
"tier": null
},
"tags": {
"Environment": "prod",
"resourceType": "Hsm"
},
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
你現在也可以使用 Azure 資源總管查看這些資源。 進入瀏覽器後,展開「訂閱」,展開你專屬 HSM 的訂閱,再展開「資源群組」,再展開你使用的資源群組,最後選擇「資源」項目。
測試部署
測試部署就是連接一台能存取一個或多個 HSM 的虛擬機器,然後直接連接到 HSM 裝置。 這些動作確認了HSM是可連線的。 SSH 工具用於連接虛擬機。 這個指令類似下列指令,但管理員名稱和 DNS 名稱是你在參數中指定的。
ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com
虛擬機的 IP 位址也可以用來取代 DNS 名稱。 如果指令成功,系統會要求輸入密碼,你應該輸入該密碼。 登入虛擬機後,你可以使用入口網站中找到的與 HSM 相關的網路介面資源的私有 IP 位址登入 HSM。
Note
請注意「顯示隱藏類型」的勾選框,勾選後會顯示 HSM 資源。
在截圖中,點擊「HSM1_HSMnic」或「HSM2_HSMnic」會顯示正確的私人 IP 位址。 否則,這個 az resource show 指令是用來辨識正確的 IP 位址。
當你有正確的 IP 位址時,執行以下指令,將該位址代入:
ssh tenantadmin@10.0.2.4
如果成功,系統會提示你輸入密碼。 預設密碼是 PASSWORD,HSM 會先要求你更改密碼,所以設定強密碼,並使用你組織偏好的儲存方式來儲存密碼並防止遺失。
Important
如果你遺失了這個密碼,HSM 必須重置,這也意味著你會失去金鑰。
當你用 ssh 連接到 HSM 時,執行以下指令以確保 HSM 正常運作。
hsm show
輸出應該看起來像這樣:
此時,你已經分配了所有資源用於高可用性的雙 HSM 部署,並驗證存取與運作狀態。 任何進一步的設定或測試都需要對 HSM 裝置本身進行更多工作。 為此,你應該依照 Thales Luna 7 HSM 管理指南第 7 章的指示初始化 HSM 並建立分割區。 所有文件與軟體皆可在您註冊Thales 客戶支援入口網站並擁有客戶 ID 後,直接從 Thales 下載。 下載 Client Software 版本 7.2 以取得所有所需元件。
刪除或清理資源
如果你只是不再需要 HSM 裝置,可以把它當作資源刪除,並將其歸還至空閒資源池。 這樣做時最明顯的顧慮是裝置上可能存在任何敏感的客戶資料。 讓裝置「清除」的最佳方法是把 HSM 管理員密碼錯三次。 (不是設備管理員,是真正的 HSM 管理員。) 為了保護關鍵資料,裝置在歸零化狀態前不能以 Azure 資源身分刪除。
Note
如果你在任何 Thales 裝置設定上遇到問題,請聯絡 Thales 客服。
如果你已經不再需要資源群組中的所有資源,可以用以下指令移除它們:
az group delete \
--resource-group myRG \
--name HSMdeploy \
--verbose
下一步
完成教學步驟後,專用 HSM 資源會被配置,並建立一個虛擬網路,包含必要的 HSM 及更多網路元件以啟用與 HSM 的通訊。 你現在可以依照偏好的部署架構,提供更多資源來補充這次部署。 欲了解更多協助規劃部署的資訊,請參閱概念文件。 建議採用以下設計:主要區域中的兩台 HSM 因應機架層級的可用性需求,次要區域中的兩台 HSM 因應區域可用性需求。