教學課程:使用 Azure CLI 將 HSM 部署至現有的虛擬網路
Azure 專用 HSM 提供實體裝置以供單獨客戶使用,其具有完整的系統管理控制權和完整的管理責任。 使用實體裝置創造了 Microsoft 控制裝置配置的需求,以確保有效率地管理容量。 因此,在 Azure 訂用帳戶內,通常看不見可供佈建資源的專用 HSM 服務。 任何需要存取專用 HSM 服務的 Azure 客戶都必須先連絡其 Microsoft 客戶代表,要求註冊專用 HSM 服務。 唯有順利完成此程序,才可能進行佈建。
本教學課程示範典型的佈建程序,其中:
- 客戶已經有虛擬網路
- 他們有虛擬機器
- 他們必須將 HSM 資源新增到該現有的環境中。
高可用性、多區域的典型部署架構可能如下所示:
本教學課程著重於一對已整合到現有虛擬網路 (請參閱上述的 VNET 1) 的 HSM 和必要 ExpressRoute 閘道 (請參閱上述的子網路 1)。 所有其他資源都是標準 Azure 資源。 相同的整合程序可以用於上述 VNET 3 上子網路 4 中的 HSM。
必要條件
Azure 入口網站中目前尚未提供 Azure 專用 HSM。 所有與服務的互動都會透過命令列或使用 PowerShell 進行。 本教學課程會使用 Azure Cloud Shell 中的命令列 (CLI) 介面。 如果您不熟悉 Azure CLI,則請遵循此處的使用者入門指示:Azure CLI 2.0 使用者入門。
假設:
- 您擁有所指派的 Microsoft 帳戶管理員,並符合五百萬 (5M) 美元或更高的整體認可 Azure 營收,以符合 Azure 專用 HSM 的上線和使用資格。
- 您已完成 Azure 專用 HSM 註冊程序並且獲准使用服務。 若非如此,則連絡 Microsoft 客戶代表以取得詳細資料。
- 您已建立這些資源的資源群組,而本教學課程中部署的新資訊將會加入該群組。
- 您已經按照上圖建立所需的虛擬網路、子網路和虛擬機器,而現在想要將 2 個 HSM 整合到該部署中。
下面的所有指示都假設您已經導覽至 Azure 入口網站,並已開啟 Cloud Shell (選取靠近入口網站右上方的 ">_"。
佈建專用 HSM
透過 ExpressRoute 閘道佈建 HSM 並將其整合到現有的虛擬網路時,會使用 ssh 來驗證。 此驗證有助於確保 HSM 裝置的連線性和基本可用性,以便進行任何進一步的設定活動。
驗證功能註冊
如上所述,任何佈建活動都要求向您的訂用帳戶註冊專用 HSM 服務。 若要加以驗證,請在 Azure 入口網站 Cloud Shell 中執行下列命令。
az feature show \
--namespace Microsoft.HardwareSecurityModules \
--name AzureDedicatedHSM
這些命令都應該會傳回 "Registered" 狀態 (如下所示)。 如果命令並未傳回 “Registered”,則必須連絡您的 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
注意
請注意,對於虛擬網路而言最重要的組態是 HSM 裝置的子網路必須將委派設定為 "Microsoft.HardwareSecurityModules/dedicatedHSMs"。 若未設定此選項,HSM 佈建將無法運作。
設定網路之後,請使用這些 Azure CLI 命令來佈建您的 HSM。
使用 az dedicated-hsm create 命令來佈建第一個 HSM。 HSM 的名稱是 hsm1。 取代您的訂用帳戶:
az dedicated-hsm create --location westus --name hsm1 --resource-group myRG --network-profile-network-interfaces \ /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
此部署應該需要大約 25 到 30 分鐘才能完成,其中大量時間用於 HSM 裝置。
若要查看目前的 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 --network-profile-network-interfaces \ /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
執行 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
VM 的 IP 位址也用來取代上述命令中的 DNS 名稱。 如果命令成功,則將會提示您輸入密碼,而您應該加以輸入。 登入虛擬機器後,即可使用在與 HSM 相關聯的網路介面資源的入口網站中找到的私人 IP 位址登入 HSM。
注意
請注意,若已選取 [顯示隱藏的類型] 核取方塊,將會顯示 HSM 資源。
在上面的螢幕擷取畫面,按一下 "HSM1_HSMnic" 或 "HSM2_HSMnic" 會顯示適當的私人 IP 位址。 否則,以上使用的 az resource show
命令是識別正確 IP 位址的方法。
當您擁有正確的 IP 位址時,請執行下列命令來替代該位址:
ssh tenantadmin@10.0.2.4
如果成功,則會提示您輸入密碼。 預設密碼是 PASSWORD,而 HSM 會先要求您變更您的密碼,以設定強式密碼,然後使用貴組織所偏好的機制來儲存密碼並防止遺失。
重要
如果您遺失此密碼,HSM 必須重設,這表示您的金鑰會遺失。
當您要使用 ssh 連線至 HSM 時,請執行下列命令,以確保 HSM 運作正常。
hsm show
其輸出應類似下圖所示:
此時,您已配置所有資源,以提供高可用性、兩個 HSM 部署以及已驗證的存取和作業狀態。 任何進一步的設定或測試都牽涉到更多 HSM 裝置本身的工作。 因此,您應該遵循 Thales Luna HSM 7 Administration Guide 第 7 章的指示,來初始化 HSM 以及建立分割區。 您在 Thales 客戶支援入口網站中註冊且具有客戶識別碼後,可以直接從 Thales 下載所有文件和軟體。 下載用戶端軟體 7.2 版,以取得所有必要的元件。
刪除或清除資源
如果您已處理完 HSM 裝置,則可以將其當作資源刪除,並返回可用的集區。 執行此作業時的顯著考量就是裝置上的任何敏感性客戶資料。 將裝置「歸零」的最佳方式是讓 HSM 管理員的密碼連錯三次 (注意:這裡指的不是設備系統管理員,而是實際 HSM 系統管理員)。 因為金鑰內容有安全措施保護,所以裝置必須處於歸零狀態,才能以 Azure 資源的形式刪除。
注意
如果您有關於任何 Thales 裝置組態的問題,您應該連絡 Thales 客戶支援。
如果您已處理完此資源群組中的所有資源,則可以使用下列命令來將其移除:
az group delete \
--resource-group myRG \
--name HSMdeploy \
--verbose
下一步
完成本教學課程中的步驟之後,就會佈建專用 HSM 資源,而您具有包含必要 HSM 和進一步網路元件的虛擬網路,能夠與 HSM 進行通訊。 您現在可以慣用部署架構所需的更多資源,讓此部署更加完善。 如需有關協助規劃部署的詳細資訊,請參閱「概念」文件。 建議採用以下設計:主要區域中有兩個 HSM 可處理機架層級的可用性,而次要區域中有兩個 HSM 可處理區域可用性。