- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 DefaultAzureCredential
连接到 Azure 中托管的 key 保管库,代码如下:
using System;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Configuration; // Azure.Extensions.AspNetCore.Configuration.Secrets 1.2.2
using Azure.Identity; // Azure.Identity 1.6.0
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(builder =>
{
Uri keyVaultUrl = new(builder.Build().GetSection("keyVaultUrl").Value);
DefaultAzureCredentialOptions options = new() { ExcludeEnvironmentCredential = true, ExcludeSharedTokenCredential = true };
builder.AddAzureKeyVault(keyVaultUrl, new DefaultAzureCredential(options));
})
.ConfigurationWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
当我的 Web 应用程序发布到 Azure 并成功使用我设置的系统管理标识时,代码工作正常,但在本地运行时,我遇到以下异常:
Azure.Identity.AuthenticationFailedException: 'ManagedIdentityCredential authentication failed. Managed Identity response was not in the expected format. See the inner exception for details.
Status: 403 (GlobalBlock)
内部异常揭示:
'<' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
我知道托管身份预计不会在本地工作,但我认为使用 DefaultAzureCredential
的目的是回退到另一种凭据类型,如 Microsoft 的 documentation 所示。 。因此,我希望它使用 VisualStudioCredential 来代替;事实上,如果我显式使用 VisualStudioCredential
,那么应用程序会在本地运行(当然,在发布到 Azure 时不会运行)。
我有点无法解释我所看到的行为,并且不确定如何配置 DefaultAzureCredential
以便它在本地和 Azure 中都能工作。有人有什么想法吗?
我使用的是 Visual Studio 2019 和 .NET 5.0。
最佳答案
您的本地计算机上是否安装了 Azure Arc 代理?
这将创建一个托管服务器标识,并且 DefaultAzureCredential
将尝试使用它。
代理将安装在 Program Files\AzureConnectedMachineAgent 中并设置以下环境变量:
IMDS_ENDPOINT=http://localhost:40342
IDENTITY_ENDPOINT=http://localhost:40342/metadata/identity/oauth2/token
https://learn.microsoft.com/en-us/azure/azure-arc/servers/managed-identity-authentication
关于c# - 为什么 DefaultAzureCredential 尝试在本地计算机上使用 ManagedIdentityCredential?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72642211/
我试图允许应用程序服务(python)从azure keyvault获取 secret ,而不使用硬编码的客户端ID/ secret ,因此我尝试使用ManagedIdentity。 我已在我的服务应
我试图允许应用程序服务(python)从azure keyvault获取 secret ,而不使用硬编码的客户端ID/ secret ,因此我尝试使用ManagedIdentity。 我已在我的服务应
我尝试使用 DefaultAzureCredential 连接到 Azure 中托管的 key 保管库,代码如下: using System; using Microsoft.AspNetCore.H
我尝试使用 DefaultAzureCredential 连接到 Azure 中托管的 key 保管库,代码如下: using System; using Microsoft.AspNetCore.H
对于 Azure Key Vault,我使用 DefaultAzureCredential。当本地开发以及使用应用程序身份发布到 Azure 时,这非常有用。我不需要在应用程序中存储任何 ID 或 s
我最近将 Azure 应用服务和 Azure SQL Server 配置为使用托管身份访问。应用服务具有系统分配的托管标识,并具有作为 SQL 数据库所有者的正确分配角色。当我将代码发布到应用程序服务
我最近将 Azure 应用服务和 Azure SQL Server 配置为使用托管身份访问。应用服务具有系统分配的托管标识,并具有作为 SQL 数据库所有者的正确分配角色。当我将代码发布到应用程序服务
我在我的 azure 中有以下设置。我有专用网络设置。我的 azure 函数正在其中运行。我正在使用托管身份来访问 KeyVault 信息。 到目前为止,我已经尝试创建专用端点,在 azure 功能中
我有一个 Java Spring boot 应用程序,它仅从 Azure Key Vault 读取 secret ,以下是使用的步骤 创建了应用程序注册 复制了应用注册详细信息 生成的 secret
我有一个 Java Spring boot 应用程序,它仅从 Azure Key Vault 读取 secret ,以下是使用的步骤 创建了应用程序注册 复制了应用注册详细信息 生成的 secret
我是一名优秀的程序员,十分优秀!