分享方式:


快速入門:使用 Azure CLI 佈建並啟動受控 HSM

在本快速入門中,您會使用 Azure CLI 來建立和啟動 Azure Key Vault 受控 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 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 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 資源的邏輯容器。 下列範例會在挪威位置建立名為 ContosoResourceGroup 的資源群組。

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

建立受控 HSM

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

  1. 佈建受控 HSM 資源。
  2. 下載稱為「安全性網域」的成品以啟動受控 HSM。

佈建受控 HSM

使用 az keyvault create 命令建立受控 HSM。 此指令碼包含三個必要參數:資源群組名稱、HSM 名稱和地理位置。

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

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

下列範例會在位於挪威東部位置的資源群組 ContosoResourceGroup 中建立名為 ContosoMHSM 的 HSM目前以系統管理員身分登入的使用者,並保留 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 "norwayeast" --administrators $oid --retention-days 7

注意

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

注意

執行 create 命令可能需要幾分鐘的時間。 成功傳回之後,您即可啟動 HSM。

警告

受控 HSM 執行個體視為永遠使用中。 如果您選擇使用 --enable-purge-protection 旗標啟用清除保護,則需要支付整個保留期間的費用。

此命令的輸出會顯示您所建立之受控 HSM 的屬性。 兩個最重要屬性是:

  • 名稱:在此範例中,此名稱為 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 金鑰組 (此命令只需要公開金鑰),並將仲裁設定為 2。

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 及如何與應用程式整合,請繼續閱讀下列文章。