共用方式為


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

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

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

Azure Cloud Shell

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

若要啟動 Azure Cloud Shell:

Option 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 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-InstalledModule -Name Az 尋找版本。 如果您需要升級,請參閱 如何安裝 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:在此範例中,此 URI 是 https://< your-unique-keyvault-name.vault.azure.net/>。 透過其 REST API 使用保存庫的應用程式必須使用此 URI。

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

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

若要透過 Role-Based 存取控制 (RBAC) 取得金鑰保存庫的許可權,請使用 Azure PowerShell Cmdlet New-AzRoleAssignment 將角色指派給您的「使用者主體名稱」(UPN)。

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

以實際值取代 <upn>、<subscription-id>、<resource-group-name> 和 <your-unique-keyvault-name>。 您的 UPN 格式通常是電子郵件地址 (例如,username@domain.com)。

將秘密新增至金鑰保存庫

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

首先,執行下列命令,並在提示將值 hVFkk965BuUv 轉換為安全字串時輸入值:

$secretvalue = Read-Host -Prompt 'Enter the example password' -AsSecureString

然後,使用 Azure PowerShell Set-AzKeyVaultSecret Cmdlet 在金鑰保存庫中建立名為 ExamplePassword 的秘密,其值為 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 命令來移除資源群組、金鑰保存庫和所有相關資源。

Remove-AzResourceGroup -Name myResourceGroup

後續步驟

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