教學課程:使用 Azure CLI 將 HSM 部署至現有的虛擬網路

Azure 專用 HSM 提供實體裝置以供單獨客戶使用,其具有完整的系統管理控制權和完整的管理責任。 使用實體裝置創造了 Microsoft 控制裝置配置的需求,以確保有效率地管理容量。 因此,在 Azure 訂用帳戶內,通常看不見可供佈建資源的專用 HSM 服務。 任何需要存取專用 HSM 服務的 Azure 客戶都必須先連絡其 Microsoft 客戶代表,要求註冊專用 HSM 服務。 唯有順利完成此程序,才可能進行佈建。

本教學課程示範典型的佈建程序,其中:

  • 客戶已經有虛擬網路
  • 他們有虛擬機器
  • 他們必須將 HSM 資源新增到該現有的環境中。

高可用性、多區域的典型部署架構可能如下所示:

multi region deployment

本教學課程著重於一對已整合到現有虛擬網路 (請參閱上述的 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 帳戶代表以註冊此服務。

subscription status

建立 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。

  1. 使用 az dedicated-hsm create 命令來佈建第一個 HSM。 HSM 的名稱是 hsm1。 取代您的訂用帳戶:

    az dedicated-hsm create --location westus --name hsm1 --resource-group myRG --network-profile-network-interfaces \
         /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
    

    此部署應該需要大約 25 到 30 分鐘才能完成,其中大量時間用於 HSM 裝置。

  2. 若要查看目前的 HSM,請執行 az dedicated-hsm show 命令:

    az dedicated-hsm show --resource group myRG --name hsm1
    
  3. 使用此命令來佈建第二個 HSM:

    az dedicated-hsm create --location westus --name hsm2 --resource-group myRG --network-profile-network-interfaces \
         /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
    
  4. 執行 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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/HSM-RG/providers/Microsoft.Network/networkInterfaces/HSMl_HSMnic", "privatelpAddress": "10.0.2.5",
            "resourceGroup": "HSM-RG"
            }
            L
            "subnet": {
                "id": n/subscriptions/00000000-0000-0000-0000-000000000000/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。

components list

注意

請注意,若已選取 [顯示隱藏的類型] 核取方塊,將會顯示 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

其輸出應類似下圖所示:

Screenshot shows output in PowerShell window.

此時,您已配置所有資源,以提供高可用性、兩個 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 可處理區域可用性。