[英]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 時在本地運行良好。 不知道為什么我在本地需要那個標志。
我認為這是你的問題: https://github.com/Azure/azure-sdk-for.net/issues/28218
嘗試將 Azure.Identity 降級到 1.4(如果可能)以查看問題是否繼續重現。
您必須為登錄 Visual Studio 的用戶分配 Key Vault 訪問策略。 請參閱: Assign a Key Vault access policy ,但在“Select principal*” select 用戶而不是應用托管標識的步驟中
你總是把這個設置為真嗎?
IsAccountIdentifierLoggingEnabled = true
將以上設置為 false 並查看它是否在本地工作而無需將 ExcludeManagedIdentityCredential 設置為 true。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.