- 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/
我正在尝试设置 Azure webapp 服务(使用 docker)来使用用户管理的身份访问我的 keyvault。我已经设置了一个用户管理身份,将其分配给我的 web 应用程序,并为其提供了我正在测
我正在尝试设置 Azure webapp 服务(使用 docker)来使用用户管理的身份访问我的 keyvault。我已经设置了一个用户管理身份,将其分配给我的 web 应用程序,并为其提供了我正在测
我使用默认的 azure 凭据方法获取访问 token ,同时使用函数应用程序的托管标识获取访问 token 。我能够获取 token 。但现在我不确定如何对该方法进行单元测试。这是当前状态 priv
现在,我正在将我们的应用程序从使用客户端 ID + key 连接到 Azure 应用程序配置和 Azure Key Vault 转换为使用 DefaultAzureCredentials。总的来说,我
我在使用 DefaultAzureCredential 进行身份验证时遇到一些问题。 如果我运行这段代码: var credentials = new VisualStudioCredential()
使用 try/except 和 DefaultAzureCredential() 记录和处理异常的示例方法有哪些? 示例: 在 Python Azure 函数中使用 DefaultAzureCrede
使用 try/except 和 DefaultAzureCredential() 记录和处理异常的示例方法有哪些? 示例: 在 Python Azure 函数中使用 DefaultAzureCrede
我正在处理官方 Azure 示例:Getting started - Managing Compute Resources using Azure .NET SDK 。并在线 resourceGrou
我有一个通过 az login 登录到 Azure 的控制台 我可以运行以下 JavaScript,控制台会按照我的预期输出我的详细信息 const { DefaultAzureCredential
我尝试使用 DefaultAzureCredential 连接到 Azure 中托管的 key 保管库,代码如下: using System; using Microsoft.AspNetCore.H
我尝试使用 DefaultAzureCredential 连接到 Azure 中托管的 key 保管库,代码如下: using System; using Microsoft.AspNetCore.H
我在 .NET 6 上有一个以 dotnet 隔离模式运行的 C# azure 函数。此函数调用另一个 azure 函数,该函数使用 Azure AD 身份验证。为了生成 token ,我有以下代码:
我在 .NET 6 上有一个以 dotnet 隔离模式运行的 C# azure 函数。此函数调用另一个 azure 函数,该函数使用 Azure AD 身份验证。为了生成 token ,我有以下代码:
我有一个 functionApp (V3),它尝试使用 DefaultAzureCredential 访问应用程序配置。我的系统托管用户已打开并具有“应用程序配置数据读取者”角色。我在本地调试中运行它
我正在使用 azure.identity 中的 DefaultAzureCredential() 来获取凭据并使用它来建立 TableServiceClient (azure.data.table)
我们在 Azure 管理身份环境中操作,其中有一个高性能标准输入标准输出进程,其中每个进程请求访问 Azure Key Vault,以获取其他 Azure 资源/组件的 secret 和设置。但是我们
基于给出的文档here 。使用 DefaultAzureCredentials() 时,它将检查环境变量,然后检查 ManagedIdentity 等。在我的测试中,我部署了系统托管服务身份 AKS。
基于给出的文档here 。使用 DefaultAzureCredentials() 时,它将检查环境变量,然后检查 ManagedIdentity 等。在我的测试中,我部署了系统托管服务身份 AKS。
我正在尝试在 Azure AD 中进行服务到服务身份验证。当两个服务(webapps)针对 Azure AD 应用程序注册在本地运行时,我可以正常工作。但是,当 Web 应用程序在 Azure 中运行
我们正在尝试使用 Azure 用户分配的托管标识和 python SDK 对 DefaultAzureCredential 进行身份验证。我们看到的方法是在 python SDK guidance 之
我是一名优秀的程序员,十分优秀!