練習 - 建立 Key Vault 並儲存祕密

已完成

建立應用程式的 Key Vault

最佳做法是為每個應用程式的各個部署環境 (例如開發、測試和生產環境) 都建立不同的保存庫。 您可以使用單一保存庫儲存多個應用程式和環境的祕密,但攻擊者取得保存庫讀取權限的影響會隨著保存庫中的祕密數目而增加。

提示

如果您針對應用程式跨不同環境使用相同名稱的祕密,則必須在應用程式中變更的唯一環境專屬設定是保存庫 URL。

建立保存庫不需要初始設定。 您的使用者身分識別會自動獲得完整的祕密管理權限。 您可以開始立即新增祕密。 當您擁有保存庫之後,即可從任何 Azure 系統管理介面 (包括 Azure 入口網站、Azure CLI 和 Azure PowerShell) 新增和管理祕密。 當您設定應用程式以使用保存庫時,必須為其指派正確的權限;如下一個單元中所述。

建立 Key Vault 並在其中儲存祕密

考慮到公司使用應用程式祕密時發生的所有麻煩。 管理階層要求您建立小型入門應用程式,引導其他開發人員走向正確的路徑。 應用程式需要盡量簡單且安全地示範管理祕密的最佳做法。

一開始,請建立保存庫,並在其中儲存一個祕密。

建立 Key Vault

金鑰保存庫名稱必須是全域唯一名稱,因此請挑選一個唯一名稱。 保存庫名稱的長度必須是 3-24 個字元,而且只能包含英數字元和連字號。 請記下您選擇的保存庫名稱,因為在這整個練習中將會用到。

若要建立保存庫,在 Azure Cloud Shell 中執行下列命令。 請務必將您的唯一保存庫名稱輸入到 --name 參數。

az keyvault create \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --location centralus \
    --name <your-unique-vault-name>

完成後,您會看到描述新保存庫的 JSON 輸出。

提示

此命令使用名為 [沙箱資源群組] 的預先建立資源群組。 使用您自己的訂用帳戶時,您可能想要建立新的資源群組,或使用先前建立的現有資源群組。

新增祕密

現在,新增秘密。 我們的秘密是以 reindeer_flotilla 的值命名為 SecretPassword。 務必將 <your-unique-vault-name> 取代為您在 --vault-name 參數中建立的保存庫名稱。

az keyvault secret set \
    --name SecretPassword \
    --value reindeer_flotilla \
    --vault-name <your-unique-vault-name>

在您為應用程式撰寫程式碼之前,需要先稍微了解應用程式如何向保存庫進行驗證。