首页 > 解决方案 > 获取 keyvault 的访问令牌

问题描述

我在本地发布了一个 Web 应用程序并将其连接到 IIS。

当我尝试导航到该站点时,它在启动时失败,并在尝试访问keyvault时出现以下错误:

应用程序启动异常:

Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProviderException:参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,授权: https ://login.windows.net/72f988bf-86f1- 41af-91ab-2d7cd011db47。异常消息:尝试了以下 3 种方法来获取访问令牌,但都没有奏效。参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限: https ://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47 。异常消息:尝试使用托管服务标识获取令牌。

无法连接到托管服务标识 (MSI) 端点。

请检查您是否在具有 MSI 设置的 Azure 资源上运行。

参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限: https ://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47 。

异常消息:尝试使用 Visual Studio 获取令牌。

无法获取访问令牌。在“C:\WINDOWS\system32\config\systemprofile\AppData\Local.IdentityService\AzureServiceAuth\tokenprovider.json”中找不到 Visual Studio 令牌提供程序文件

参数:连接字符串:[未指定连接字符串],资源:https ://vault.azure.net ,权限: https ://login.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47 。配置(最后一次调用):
文件“runpy.py”,第 193 行,在 _run_module_as_main
文件“runpy.py”,第 85 行,在 _run_code
文件“C:\Users\VSSADM~1\AppData\Local\Temp\pip -install-qw7dqhq0\azure-cli\azure\cli__main__.py”,第 32 行,在文件“C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qw7dqhq0\azure-cli-core\azure \cli\core__init__.py”,第 511 行,在 get_default_cli
文件“C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-qw7dqhq0\azure-cli-core\azure\cli\core__init__.py”中,第 34 行,在初始化中
文件“C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\knack\cli.py”,第 82 行,在init self.config = config_cls(config_dir=config_dir, config_env_var_prefix=config_env_var_prefix)文件“C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\knack\config.py”,第 38 行,在init ensure_dir(config_dir)
文件“C:\Program Files (x86) \Microsoft SDKs\Azure\CLI2\Lib\sitepackages\knack\util.py”,第 38 行,在 ensure_dir os.makedirs(d)
文件“os.py”,第 220 行,在 makedirs PermissionError: [WinError 5] Access is拒绝:'C:\WINDOWS\system32\config\systemprofile\.azure'

标签: azureiisazure-web-app-serviceazure-keyvault

解决方案


我遇到了这个问题,最后发现我没有在本地登录Azure。

为我解决了这个问题的方法是将 Azure CLI 下载到我的机器上并运行

az login

只需按照生成的页面登录。运行您的应用程序,您应该会发现它现在已连接。


推荐阅读