【Azure 环境】使用az login登录遇见OSError: [WinError -2146893813] : '' 错误

azure,环境,使用,az,login,登录,遇见,oserror,winerror,错误 · 浏览次数 : 120

小编点评

问题原因:旧 az cli 中可能存留历史文件,导致 MSAL 无法解析格式,引起 `WinError -2146893813` 错误。 解决方法: 1. 删除本机上缓存的 `C:\Users\<username>\.azure` 文件夹。 2. 再次使用 `az login` 登录 Azure。 注意: * 在删除文件之前,请确保您具有足够权限。 * 如果您无法手动删除文件,您可以使用 PowerShell 等工具进行清理。 * 如果您正在使用 Azure CLI 版本 3.0 或更高版本,请使用 `az login --debug` 命令以获取更多错误信息。

正文

问题描述

使用 az login指令登录,遇见 OS Error: [WinError -2146893813] : '', 在指令中添加 --debug后,输出的错误消息为:

urllib3.connectionpool: Starting new HTTPS connection (1): *****.******.com:443
urllib3.connectionpool: https://****.****.com:443 "POST /adfs/services/trust/13/usernamemixed HTTP/1.1" 200 7155
urllib3.connectionpool: Starting new HTTPS connection (1): login.chinacloudapi.cn:443
urllib3.connectionpool: https://login.chinacloudapi.cn:443 "POST /organizations/oauth2/v2.0/token HTTP/1.1" 200 4488
msal_extensions.persistence: DPAPI error likely caused by file content not previously encrypted. App developer should migrate by calling save(plaintext) first.
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 180, in load
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 114, in unprotect
OSError: [WinError -2146893813] : ''

从以上错误信息来看,只能发现与 MSAL扩展persistence.py有关,但是在执行的机器中,并不存在错误消息中的目录 (D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\ )

在升级 azure cli的版本后( az upgrade或下载最新的msi安装包:https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli) ,OSError 的错误代码一样,但是有了更具体的错误消息和提示信息:

cli.azure.cli.core.azclierror: Decryption failed:[WinError -2146893813] Key not vaid for use in specified state.. 
App developer may consider this guidance https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError Please report to us via Github : https://github.com/Azure/azure-cli/issues/20231

错误截图

 

问题解答

根据最新错误中的提示,访问Github (https://github.com/Azure/azure-cli/issues/20231)找到了问题的答案和解决办法。

问题原因

可能是之前该机器中安装过旧 az cli ,它是基于ADAL做登录验证的。而新版的az cli使用的是MSAL,可能是一些历史文件存留在  C:\Users\<username>\.azure 文件夹下。 引起了格式错乱问题。

解决办法

删除本机上缓存的 C:\Users\<username>\.azure 文件夹, 再次使用 az login 即可登录成功,不报错。问题解决!

 

参考资料

`az login` fails: OSError: [WinError -2146893813] · Issue #20231  : https://github.com/Azure/azure-cli/issues/20231

 

与【Azure 环境】使用az login登录遇见OSError: [WinError -2146893813] : '' 错误相似的内容:

【Azure 环境】使用 az ad group create 时候遇见 Insufficient privileges to complete the operation

问题描述 使用China Azure,通过Azure CLI 创建AAD组报错,提示权限不足 Insufficient privileges to complete the operation # 使用这个登录: az login --service-principal --username xxx

【Azure 环境】Azure CLI 获取Access Token的脚本实例

问题描述 如何使用azure CLI命令获取到中国区的Access Token呢? 问题解答 首先,需要通过 az cloud set --name AzureChinaCloud 来设置登录中国区的环境 然后,通过 az login 登录成功 最后,就可以设定特定的订阅号(subscription

【Azure Developer】Go语言调用Azure SDK如何登录到中国区Azure环境

问题描述 在 “使用 Azure SDK for Go 进行 Azure 身份验证” 文章中的 Go 示例代码进行登录Azure时,默认指向的是Globa Azure。当只修改AAD AZURE_CLIENT_ID , AZURE_TENANT_ID 和 AZURE_CLIENT_SECRET参数值

【Azure 环境】移动应用 SSO 登录AAD, MSAL的配置为Webview模式时登录页面无法加载

问题描述 移动端集成MASL登录过程中,配置文件中配置项“authorization_user_agent”使用“DEFAULT”可以正常登录,但是改为“WEBVIEW”后就无法登陆,一直处于Loading状态。 参考的示例文档: https://docs.microsoft.com/zh-cn/a

【Azure Developer】使用 Microsoft Graph API 获取 AAD User 操作示例

问题描述 查看官方文档“ Get a user ” , 产生了一个操作示例的想法,在中国区Azure环境中,演示如何获取AAD User信息。 问题解答 使用Microsoft Graph API,演示如何获取AAD User信息,因参考文档是针对Global Azure,所以文档种的URL为: /

【Azure 环境】微软云上主机,服务的安全更新疑问

【问题一】微软云上的虚拟机,不论是Windows系统or Linux 系统,系统的安全补丁是由微软云平台 打上补丁进行修复,还是使用虚拟机的用户手动更新修复呢? 【答】这些补丁不会由平台来直接操作更新上去,而是由用户根据情况选择性安装修复。 【问题二】安全更新中提及的漏洞,是否会影响PaaS服务?

【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll)。详细的错误为: “System.DllNotFoundException: Unable to load DL

【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

问题描述 Azure Event Hub支持 kafka,所以为了测试消息生产者所在环境与Azure Event Hub之间发送消息的性能如何,特别使用 kafka 官方测试生产者,消费者的性能工具 : kafka-producer-perf-test.bat kafka-consumer-perf

【Azure 云服务】云服务(经典) 迁移至云服务(外延支持) 的相关疑问

问题描述 根据微软官方文档说明,云服务(经典)已弃用。所以关于它有以下的一些疑问: 一:迁移时候的停机时间问题? 二:云服务(经典) 与 云服务(外延支持) 的区别是什么? 三:注意事项有那些呢?如 TLS证书与保管库,当前订阅环境并没有使用保管库,需要做什么样的操作对应? 云服务迁移完成后,原来的

【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败

问题描述 使用微软API管理服务(Azure API Management),简称APIM。 因为公司策略要求只能内部网络访问,所以启用了VNET集成。集成方式见: (在内部模式下使用 Azure API 管理连接到虚拟网络:https://docs.azure.cn/zh-cn/api-manag