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

Azure Key Vault 是一項雲端服務,可作為安全的祕密存放區。 您也可以安全地儲存金鑰、密碼、憑證和其他祕密。 如需 Key Vault 的詳細資訊,您可以檢閱概觀。 在本快速入門中,您會使用 PowerShell 來建立金鑰保存庫。 然後,將祕密存放在新建立的保存庫中。

如果您沒有 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 模組 5.0.0 版或更新版本。 執行 $PSVersionTable.PSVersion 以尋找版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果您在本機執行 PowerShell,則也需要執行 Connect-AzAccount 以建立與 Azure 的連線。

Connect-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) 和連字號 (-)

    重要

    每個金鑰保存庫必須有唯一的名稱。 在下列範例中,以您的金鑰保存庫名稱取代 。

  • 資源群組名稱: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 中管理密碼的權限

使用 Azure PowerShell >set-azkeyvaultaccesspolicy 指令程式可更新 Key Vault 存取原則,並將秘密許可權授與您的使用者帳戶。

Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -UserPrincipalName "user@domain.com" -PermissionsToSecrets get,set,delete

將祕密新增至 Key Vault

若要將祕密新增至保存庫,您只需要採取一些步驟。 在此情況下,您會新增應用程式可以使用的密碼。 此密碼稱為 ExamplePassword,且其中會儲存 hVFkk965BuUv 值。

第一次將 hVFkk965BuUv 值轉換為安全的字串時,請輸入:

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

然後,使用 Azure PowerShell AzKeyVaultSecret Cmdlet,在名為 >examplepassword 的 Key Vault 中建立具有值 hVFkk965BuUv 的秘密:

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -SecretValue $secretvalue

從 Key Vault 擷取祕密

若要以純文字形式來查看秘密中包含的值,請使用 Azure PowerShell AzKeyVaultSecret Cmdlet:

$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -AsPlainText

現在,您已建立 Key Vault,儲存祕密,並擷取它。

清除資源

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

若不再需要,您可以使用 Remove-AzResourceGroup 命令來移除資源群組、Key Vault 和所有相關資源。

Remove-AzResourceGroup -Name ContosoResourceGroup

後續步驟

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