簡體   English   中英

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 時在本地運行良好。 不知道為什么我在本地需要那個標志。

我認為這是你的問題: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM