Azure Keyvault 本地问题
Azure Keyvault Local Issues
我通过托管身份使用 Keyvault 已有一段时间了。但是对于这个项目,我在本地开发时得到了奇怪的结果。
出于某种原因,如果我没有 ExcludeManagedIdentityCredential = true,在我的本地机器上开发时,它会抛出一个错误并且不会得到秘密。如果我添加该标志,它会像预期的那样使用我的 visual studio 凭据。
很困惑为什么我必须添加那个标志,这是我以前从未有过的。
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions()
{
Diagnostics =
{
LoggedHeaderNames = { "x-ms-request-id" },
LoggedQueryParameters = { "api-version" },
IsLoggingContentEnabled = true,
IsAccountIdentifierLoggingEnabled = true,
},
ExcludeManagedIdentityCredential = true
};
var client = new SecretClient(new Uri(xxx), new DefaultAzureCredential(options));
错误:
不确定为什么它甚至在本地尝试托管身份,以及为什么它不会失败并继续使用 visual studio 身份。
总结:在云中运行良好,在添加 ExcludeManagedidentityCredential = true 时在本地运行良好。不知道为什么我在本地需要那个标志。
您必须为登录 Visual Studio 的用户分配 Key Vault 访问策略。请参阅:Assign a Key Vault access policy,但在步骤中使用“Select principal*”select 用户而不是应用管理身份
你总是将它设置为 true 吗?
IsAccountIdentifierLoggingEnabled = true
将以上设置为 false 并查看它是否在本地工作而不需要将 ExcludeManagedIdentityCredential 设置为 true。
我认为这是你的问题:https://github.com/Azure/azure-sdk-for-net/issues/28218
尝试将 Azure.Identity 降级到 1.4(如果可能)以查看问题是否继续重现。
我通过托管身份使用 Keyvault 已有一段时间了。但是对于这个项目,我在本地开发时得到了奇怪的结果。
出于某种原因,如果我没有 ExcludeManagedIdentityCredential = true,在我的本地机器上开发时,它会抛出一个错误并且不会得到秘密。如果我添加该标志,它会像预期的那样使用我的 visual studio 凭据。
很困惑为什么我必须添加那个标志,这是我以前从未有过的。
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions()
{
Diagnostics =
{
LoggedHeaderNames = { "x-ms-request-id" },
LoggedQueryParameters = { "api-version" },
IsLoggingContentEnabled = true,
IsAccountIdentifierLoggingEnabled = true,
},
ExcludeManagedIdentityCredential = true
};
var client = new SecretClient(new Uri(xxx), new DefaultAzureCredential(options));
错误:
不确定为什么它甚至在本地尝试托管身份,以及为什么它不会失败并继续使用 visual studio 身份。
总结:在云中运行良好,在添加 ExcludeManagedidentityCredential = true 时在本地运行良好。不知道为什么我在本地需要那个标志。
您必须为登录 Visual Studio 的用户分配 Key Vault 访问策略。请参阅:Assign a Key Vault access policy,但在步骤中使用“Select principal*”select 用户而不是应用管理身份
你总是将它设置为 true 吗?
IsAccountIdentifierLoggingEnabled = true
将以上设置为 false 并查看它是否在本地工作而不需要将 ExcludeManagedIdentityCredential 设置为 true。
我认为这是你的问题:https://github.com/Azure/azure-sdk-for-net/issues/28218
尝试将 Azure.Identity 降级到 1.4(如果可能)以查看问题是否继续重现。