快速入門:使用 Azure PowerShell 從 Azure Key Vault 設定及擷取憑證

在本快速入門中,您會在 Azure Key Vault 中使用 Azure PowerShell 建立金鑰保存庫。 Azure Key Vault 是一項雲端服務,可作為安全的祕密存放區。 您也可以安全地儲存金鑰、密碼、憑證和其他祕密。 如需 Key Vault 的詳細資訊,您可以檢閱概觀。 Azure PowerShell 可供使用命令列或指令碼來建立和管理 Azure 資源。 一旦完成該作業,您就會儲存憑證。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

使用 Azure Cloud Shell

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

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼區塊右上角的 [試試看]。 選取 [試用] 並不會自動將程式碼複製到 Cloud Shell 中。 Azure Cloud Shell 的試試看範例
請前往 https://shell.azure.com 或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 在新視窗中啟動 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 鍵執行程式碼。

如果您選擇在本機安裝和使用 PowerShell,則在執行本教學課程時,您必須使用 Azure PowerShell 模組 1.0.0 版或更新版本。 執行 $PSVersionTable.PSVersion 以尋找版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果您在本機執行 PowerShell,則也需要執行 Login-AzAccount 以建立與 Azure 的連線。

Login-AzAccount

建立資源群組

資源群組是在其中部署與管理 Azure 資源的邏輯容器。 使用 Azure PowerShell >new-azresourcegroup Cmdlet,在 eastus 位置中建立名為 myResourceGroup 的資源群組。

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

建立金鑰保存庫

使用 Azure PowerShell >new-azkeyvault Cmdlet,在上一個步驟的資源群組中建立 Key Vault。 您必須提供一些資訊:

  • 金鑰保存庫名稱:由 3 到 24 個字元組成的字串,只能包含數字 (0-9)、字母 (a-z、A-Z) 和連字號 (-)

    重要

    每個金鑰保存庫必須有唯一的名稱。 <your-unique-keyvault-name>以您在下列範例中的金鑰保存庫名稱取代。

  • 資源群組名稱:myResourceGroup

  • 位置:EastUS

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "East US"

此 Cmdlet 的輸出會顯示新建立金鑰保存庫的屬性。 請記下下列兩個屬性:

  • 保存庫名稱:您提供給上述 --name 參數的名稱。
  • 保存庫 URI:在此範例中是 https://<your-unique-keyvault-name>.vault.azure.net/。 透過其 REST API 使用保存庫的應用程式必須使用此 URI。

此時,您的 Azure 帳戶是唯一獲得授權在此新保存庫上執行任何作業的帳戶。

在 Key Vault 中新增憑證

若要在保存庫中新增憑證,您只需要另外進行幾個步驟。 應用程式可以使用此憑證。

輸入下列命令以建立具有原則的自我簽署憑證,稱為 ExampleCertificate

$Policy = New-AzKeyVaultCertificatePolicy -SecretContentType "application/x-pkcs12" -SubjectName "CN=contoso.com" -IssuerName "Self" -ValidityInMonths 6 -ReuseKeyOnRenewal

Add-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate" -CertificatePolicy $Policy

透過使用其 URI,您現在可以參照您新增至 Azure Key Vault 的憑證。 使用 https://<your-unique-keyvault-name>.vault.azure.net/certificates/ExampleCertificate 來取得最新版本。

若要檢視先前儲存的憑證:

Get-AzKeyVaultCertificate -VaultName "<your-unique-keyvault-name>" -Name "ExampleCertificate"

現在,您已建立 Key Vault、儲存憑證並加以擷取。

疑難排解

作業傳回不正確狀態碼 ' 禁止 '

如果您收到此錯誤,存取 Azure Key Vault 的帳戶沒有適當的許可權可建立憑證。

執行下列 Azure PowerShell 命令以指派適當的許可權:

Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> -ObjectId <AzureObjectID> -PermissionsToCertificates get,list,update,create

清除資源

此集合中的其他快速入門和教學課程會以本快速入門為基礎。 如果您打算繼續進行其他快速入門和教學課程,您可以讓這些資源留在原處。

若不再需要,您可以使用 Azure PowerShell >new-azresourcegroup指令 Cmdlet 來移除資源群組和所有相關資源。

Remove-AzResourceGroup -Name "myResourceGroup"

後續步驟

在本快速入門中,您已建立 Key Vault 並在其中儲存憑證。 若要深入了解 Key Vault 以及要如何將其與應用程式整合,請繼續閱讀下列文章。