密码修改后PowerShell中Azure认证失败导致Terraform操作报错
解决方案
报错中明确提到调用Azure CLI返回鉴权失败,核心原因是Terraform AzureRM Provider默认优先使用Azure CLI的本地缓存凭证,你此前所有操作都是清理Az PowerShell模块的上下文,没有触及Azure CLI的过期缓存,因此问题一直无法解决。
清理Azure CLI本地过期凭证,执行以下命令(直接在PowerShell中运行即可,要求本地已安装Azure CLI):
az logoutaz account clear按照报错提示执行指定scope的登录命令:
az login --scope https://graph.windows.net//.default验证Azure CLI登录状态是否正常:
az account show
确认返回的订阅信息是你要操作的目标订阅,无报错即可。重新执行
terraform plan验证操作是否恢复正常。
补充排查方案
如果确实不需要使用Azure CLI作为Terraform的鉴权源,想要用Az PowerShell的凭证鉴权,可在azurerm provider配置中显式关闭CLI鉴权:
provider "azurerm" { features {} use_cli = false }
配置保存后重新执行Connect-AzAccount登录,再运行Terraform命令即可。
如果上述操作仍无效,可手动删除Azure CLI本地缓存目录后重新登录:
- Windows系统路径:
%USERPROFILE%\.azure - Linux/Mac系统路径:
~/.azure
内容的提问来源于stack exchange,提问作者Big Bear Brian
相关产品推荐
相关产品推荐

