保護 Azure PowerShell 中的秘密
當您使用 Azure PowerShell 管理 Azure 資源時,命令的輸出可能會公開您必須保護的敏感性資訊。 例如,當您建立密碼、令牌或密鑰時,Azure PowerShell 可能會在輸出中顯示密碼、令牌或密鑰。 某些命令也可以將輸出儲存在記錄檔中。 使用 GitHub Actions 或 Azure DevOps 時,此案例通常是這種情況。
了解風險
保護秘密和敏感性資訊非常重要。 不當處理時,未經授權的使用者就可以存取它們。 使用者錯誤,例如未正確設定的腳本或以純文本輸入秘密做為參數的值,可能會公開記錄、命令歷程記錄或版本控制系統中的機密詳細數據。
警告訊息
Azure PowerShell 預設會顯示警告訊息,從 12.0.0 版開始,以協助您在命令輸出中識別潛在的秘密時保護敏感性資訊。
停用警告訊息
在下列範例中,會使用 Update-AzConfig
Cmdlet 來停用警告訊息。
Update-AzConfig -DisplaySecretsWarning $false
您也可以使用 $Env:AZURE_CLIENTS_SHOW_SECRETS_WARNING
環境變數來停用警告訊息。
Set-Item -Path Env:\AZURE_CLIENTS_SHOW_SECRETS_WARNING -Value $false
從字串轉換至 SecureStrings
基於安全性考慮,Get-AzAccessToken
Cmdlet 的預設輸出類型會排程從純文字 String
變更為 SecureString
。 若要準備此更新,請在重大變更發生之前,使用 AsSecureString 參數。
這項變更的目的是為了防止敏感性標記在純文本中被不小心暴露。 若要確保順利轉換,請更新腳本以使用 AsSecureString 參數,如下列範例所示:
$token = Get-AzAccessToken -AsSecureString