快速入門:使用 Azure CLI 布建和啟用受控 HSM

在本快速入門中,您將使用 Azure CLI 建立並啟用 Azure 金鑰保存庫 受控 HSM (硬體安全性模組)。 受控 HSM 是完全受控、高可用性、符合標準的標準雲端服務,可讓您使用 FIPS 140-2 層級 3 驗證的 HSM 來保護雲端應用程式的密碼編譯密鑰。 如需受控 HSM 的詳細資訊,您可以檢閱概

必要條件

若要完成本文中的步驟,您必須具備:

  • 訂閱 Microsoft Azure。 如果您沒有訂用帳戶,您可以註冊 免費試用
  • Azure CLI 2.25.0 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI 模組

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Screenshot that shows an example of Try It for Azure Cloud Shell.
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 Button to launch Azure Cloud Shell.
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 Screenshot that shows the Cloud Shell button in the Azure portal

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

登入 Azure

若要使用 CLI 登入 Azure,您可以輸入:

az login

建立資源群組

資源群組是在其中部署與管理 Azure 資源的邏輯容器。 下列範例會在 eastus2 位置建立名為 ContosoResourceGroup 的資源群組。

az group create --name "ContosoResourceGroup" --location eastus2

建立受控 HSM

建立受控 HSM 是兩個步驟的程式:

  1. 布建受控 HSM 資源。
  2. 下載稱為安全性網域的成品,以啟用受控 HSM。

布建受控 HSM

az keyvault create使用 命令來建立受控 HSM。 此腳本有三個必要參數:資源組名、HSM 名稱和地理位置。

您必須提供下列輸入來建立受控 HSM 資源:

  • 將放在訂用帳戶中的資源群組。
  • Azure 位置。
  • 初始系統管理員的清單。

下列範例會在資源群組 ContosoResourceGroup 中建立名為 ContosoMHSM 的 HSM,其位於美國東部 2 位置,目前以系統管理員身分登入的使用者,並保留 7 天的虛刪除期限 受控 HSM 會繼續計費,直到在虛刪除期間清除為止。 如需詳細資訊,請參閱 受控 HSM 虛刪除和清除保護 ,並深入瞭解 受控 HSM 虛刪除

oid=$(az ad signed-in-user show --query id -o tsv)
az keyvault create --hsm-name "ContosoMHSM" --resource-group "ContosoResourceGroup" --location "eastus2" --administrators $oid --retention-days 7

注意

如果您使用受控識別作為受控 HSM 的初始系統管理員,您應該在 『--administrators』 之後輸入受控識別的 OID/PrincipalID,而不是 ClientID。

注意

create 命令可能需要幾分鐘的時間。 成功傳回之後,您就可以開始啟用 HSM。

警告

受控 HSM 實例會被視為一律使用中。 如果您選擇使用 --enable-purge-protection 旗標啟用清除保護,則會針對整個保留期間計費。

此命令的輸出會顯示您已建立之 Managed HSM 的屬性。 最重要的兩個屬性如下:

  • name:在此範例中,名稱為 ContosoMHSM。 您將針對其他命令使用此名稱。
  • hsmUri:在此範例中,URI 為 'https://contosohsm.managedhsm.azure.net.' 透過其 REST API 使用 HSM 的應用程式必須使用此 URI。

您的 Azure 帳戶現在已獲授權在此受控 HSM 上執行任何作業。 到目前為止,沒有人獲得授權。

啟用受控 HSM

所有數據平面命令都會停用,直到 HSM 啟用為止。 例如,您將無法建立金鑰或指派角色。 只有在 create 命令期間指派的指定系統管理員才能啟動 HSM。 若要啟用 HSM,您必須下載 安全性網域

若要啟用 HSM,您需要:

  • 提供至少三個 RSA 金鑰群組 (最多 10 個)
  • 若要指定解密安全性網域所需的最小金鑰數目(稱為 仲裁

若要啟用 HSM,您必須將至少 3 個(最多 10 個)RSA 公鑰傳送至 HSM。 HSM 會使用這些金鑰加密安全性網域,並將其傳回。 成功完成此安全性網域下載之後,您的 HSM 即已準備好使用。 您也需要指定仲裁,這是解密安全性網域所需的最小私鑰數目。

下列範例示範如何使用 openssl 來產生三個自我簽署憑證。

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

注意

即使憑證已「已過期」,仍可用來還原安全性網域。

重要

安全地建立及儲存此步驟中產生的 RSA 金鑰組和安全性網域檔案。

az keyvault security-domain download使用 命令來下載安全性網域並啟用受控 HSM。 下列範例使用三個 RSA 金鑰組(此命令只需要公鑰),並將仲裁設定為兩個。

az keyvault security-domain download --hsm-name ContosoMHSM --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json

請安全地儲存安全性網域檔案和 RSA 金鑰組。 您需要它們來進行災害復原,或建立另一個共用相同安全性網域的受控 HSM,讓兩者可以共用密鑰。

成功下載安全性網域之後,您的 HSM 會處於作用中狀態,並可供您使用。

清除資源

此集合中的其他快速入門和教學課程是以本快速入門為基礎。 如果您打算繼續使用後續的快速入門和教學課程,建議您保留這些資源。

不再需要時,您可以使用 az group delete 命令來移除資源群組和所有相關資源。 您可以刪除資源,如下所示:

az group delete --name ContosoResourceGroup

警告

刪除資源群組會將受控 HSM 置於虛刪除狀態。 受控 HSM 會繼續計費,直到清除為止。 請參閱受控 HSM 虛刪除和清除保護

下一步

在本快速入門中,您已布建受控 HSM 並加以啟用。 若要深入瞭解受控 HSM 以及如何將其與您的應用程式整合,請繼續閱讀這些文章。