簡體   English   中英

Azure visual studio 2022 connected services 的 key vault 集成

[英]Azure key vault integration from visual studio 2022 connected services

我正在嘗試將條帶憑證存儲在 Azure Key Vault 中。 我在我的 Visual Studio 應用程序中使用了連接的服務選項卡,這似乎有效。 但是,當我在本地運行應用程序時,程序文件中出現錯誤。 我正在使用 do.net 6 核心 razor 頁。

這些是錯誤希望你能幫助。

DefaultAzureCredential 無法從包含的憑據中檢索令牌。 有關詳細信息,請參閱故障排除指南。 https://aka.ms/azsdk.net/identity/defaultazurecredential/疑難解答

  • EnvironmentCredential 身份驗證不可用。 環境變量沒有完全配置。 有關詳細信息,請參閱故障排除指南。 https://aka.ms/azsdk.net/identity/environmentcredential/troubleshoot
  • ManagedIdentityCredential 身份驗證不可用。 多次嘗試未能從托管標識終結點獲取令牌。
  • 進程“C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\lybeojxv.4oe\TokenService\Microsoft.Asal.TokenService.exe”因意外錯誤而失敗:TS003:錯誤,TS004:無法獲取訪問令牌。 'AADSTS50020:來自身份提供者'live.com'的用戶帳戶'{EmailHidden}'在租戶'Microsoft Services'中不存在,無法訪問該租戶中的應用程序'872cd9fa-d31f-45e0-9eab-6e460a02d1f1'(Visual Studio) . 需要先在租戶中將賬號添加為外部用戶。 注銷並使用不同的 Azure Active Directory 用戶帳戶再次登錄。 跟蹤 ID:b90f1908-e45e-4679-aadc-64dbc7452600 相關 ID:62078fe0-4072-4e16-8ed7-6b5060844d88 時間戳:2022-02-09 07:51:08Z'。
  • 未找到存儲的憑據。 需要在 VSCode Azure 帳戶中對用戶進行身份驗證。 有關詳細信息,請參閱故障排除指南。 https://aka.ms/azsdk.net/identity/vscodecredential/疑難解答
  • 請運行“az login”來設置帳戶
  • PowerShell 未安裝。

這是程序 class...

public class Program
 {
    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureAppConfiguration((context, config) =>
            {
                var keyVaultEndpoint = new 
  Uri(Environment.GetEnvironmentVariable("VaultUri"));
                config.AddAzureKeyVault(keyVaultEndpoint, new DefaultAzureCredential());

            })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

    public static void Main(string[] args)
    {
        var host = CreateHostBuilder(args).Build();
        using (var scope = host.Services.CreateScope())
        {
            var services = scope.ServiceProvider;
            var loggerFactory = services.GetRequiredService<ILoggerFactory>();
            try
            {
                var context = services.GetRequiredService<ApplicationDbContext>();
                var userManager = services.GetRequiredService<UserManager<IdentityUser>>();
                var roleManager = services.GetRequiredService<RoleManager<IdentityRole>>();
            }
            catch (Exception ex)
            {
                var logger = loggerFactory.CreateLogger<Program>();
                logger.LogError(ex, "An error occurred seeding the DB.");
            }
        }
        host.Run();
    }

}

...

試試這些

在 Visual Studio 中驗證您的 Azure 憑據

工具 - 選項 - Azure 服務身份驗證 - 選擇一個帳戶或使用 Azure 憑據進行身份驗證

蔚藍服務認證

確保您有權訪問 AZ Keyvault(獲取和列出)

az portal - Keyvault - Access policy - 添加 - Select principal 並保存

准入政策

launchSettings.json文件中驗證這些設置

啟動設置.json

您只需提供您的 TenantId 即可使用 Visual Studio 憑據:

new DefaultAzureCredential(new DefaultAzureCredentialOptions { VisualStudioTenantId = "your_tenant_guid" })

附言。 TenantId 在 Azure Active Directory 主頁上可見

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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