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

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

如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶

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 鍵執行程式碼或命令。

如果您選擇在本機安裝和使用 PowerShell,則在執行本教學課程時,您必須使用 Azure PowerShell 模組 5.0.0 版或更新版本。 執行 Get-Module az -ListAvailable 以尋找版本。 如果您需要升級,請參閱安裝 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) 和連字號 (-)

    重要

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

  • 資源群組名稱:myResourceGroup

  • 位置:EastUS

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

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

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

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

授與使用者帳戶在 Key Vault 中管理密碼的權限

若要透過角色型 存取控制 (RBAC) 將應用程式許可權授與密鑰保存庫,請使用 Azure PowerShell Cmdlet New-AzRoleAssignment 指派角色。

New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets User" -SignInName "<your-email-address>" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

將 your-email-address>、subscription-id>、<resource-group-name 和 <your-unique-keyvault-name>> 取代<為您的實際<值。 <your-email-address> 是您的登入名稱;您可以改用 -ObjectId 參數和 Microsoft Entra 對象識別碼。

將祕密新增至 Key Vault

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

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

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

然後,使用 Azure PowerShell Set-AzKeyVaultSecret Cmdlet,然後在稱為 ExamplePassword 的 Key Vault 中以值 hVFkk965BuUv 建立秘密:

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

從 Key Vault 擷取祕密

若要以純文字檢視秘密中包含的值,請使用 Azure PowerShell Get-AzKeyVaultSecret Cmdlet:

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

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

清除資源

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

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

Remove-AzResourceGroup -Name myResourceGroup

下一步

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