你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure PowerShell 管理 Azure 资源时,命令的输出可能会公开必须保护的敏感信息。 例如,创建密码、令牌或密钥时,Azure PowerShell 可以在输出中显示这些内容。 某些命令还可以将输出存储在日志文件中。 使用 GitHub Actions 或 Azure DevOps 时,通常会出现这种情况。
了解风险
保护机密和敏感信息至关重要。 如果处理不当,可能会被未经授权的用户访问。 用户错误,例如脚本配置不当或者以纯文本形式输入机密作为参数的值,可能会在日志、命令历史记录或版本控制系统中公开敏感详细信息。
警告消息
从版本 12.0.0 开始,Azure PowerShell 默认情况下会显示警告消息,来帮助在命令输出中识别潜在机密时保护敏感信息。
禁用警告消息
在以下示例中中,使用了 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)
为了提高安全性并减少凭据泄漏的风险,cmdlet 的默认输出类型Get-AzAccessToken
从纯文本String
更改为从 SecureString
Az.Accounts 版本 5.0.0 和 Az 版本 14.0.0 开始。
访问令牌是授予对 Azure 资源访问权限的敏感凭据。 以纯文本形式返回它们会增加日志、脚本或交互式会话中意外泄露的风险。
通过切换到 SecureString
,此 cmdlet 可以帮助防止令牌被不安全地显示或存储。
如果您的情境要求以纯文本形式使用令牌(强烈不建议这样做),可以手动转换SecureString
。 有关指南,请参阅如何在 PowerShell 中将 SecureString 转换为纯文本?