快速入門:使用 PowerShell 從 Azure 金鑰保存庫 設定和擷取秘密

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

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

Azure Cloud Shell

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

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Screenshot that shows an example of Try It for Azure Cloud Shell.
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 Button to launch Azure Cloud Shell.
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 Screenshot that shows the Cloud Shell button in the Azure portal

若要使用 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,在上一個步驟的資源群組中建立 金鑰保存庫。 您必須提供一些資訊:

  • 密鑰保存庫名稱: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://< our-unique-keyvault-name.vault.azure.net/>。 透過其 REST API 使用保存庫的應用程式必須使用此 URI。

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

授與用戶帳戶許可權,以管理 金鑰保存庫 中的秘密

使用 Azure PowerShell Set-AzKeyVaultAccessPolicy Cmdlet 來更新 金鑰保存庫 存取原則,並將秘密許可權授與用戶帳戶。

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

將秘密新增至 金鑰保存庫

若要將秘密新增至保存庫,您只需要執行幾個步驟。 在此情況下,您會新增應用程式可以使用的密碼。 密碼稱為 ExamplePassword,並將 hVFkk965BuUv 的值儲存在其中。

首先輸入下列命令,將 hVFkk965BuUv 的值轉換為安全字串:

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

然後,使用 Azure PowerShell Set-AzKeyVaultSecret Cmdlet,以名為 ExamplePassword 的值 hVFkk965BuUv 在名為 ExamplePassword的 金鑰保存庫 建立秘密:

$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

現在,您已建立 金鑰保存庫、儲存秘密,並加以擷取。

清除資源

此集合中的其他快速入門和教學課程是以本快速入門為基礎。 如果您打算繼續使用其他快速入門和教學課程,您可能想要保留這些資源。

不再需要時,您可以使用 Remove-AzResourceGroup 命令來移除資源群組、金鑰保存庫 和所有相關資源。

Remove-AzResourceGroup -Name myResourceGroup

下一步

在本快速入門中,您已建立 金鑰保存庫,並將秘密儲存在其中。 若要深入瞭解 金鑰保存庫 以及如何將其與您的應用程式整合,請繼續閱讀下列文章。