快速入門:使用 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 中。 | |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 Enter 鍵執行程式碼或命令。
登入 Azure
若要使用 CLI 登入 Azure,您可以輸入:
az login
建立資源群組
資源群組是在其中部署與管理 Azure 資源的邏輯容器。 下列範例會在 eastus2 位置建立名為 ContosoResourceGroup 的資源群組。
az group create --name "ContosoResourceGroup" --location eastus2
建立受控 HSM
建立受控 HSM 是兩個步驟的程式:
- 布建受控 HSM 資源。
- 下載稱為安全性網域的成品,以啟用受控 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 以及如何將其與您的應用程式整合,請繼續閱讀這些文章。
- 閱讀受控 HSM 概觀
- 瞭解在 受控 HSM 中管理金鑰
- 瞭解 受控 HSM 的角色管理
- 檢閱 受控 HSM 最佳做法