繁体   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