我的 Azure 密钥保管库充满了 GUID。是因为我使用 AddAzureKeyVault 将密钥保管库合并到我的配置中吗?

问题描述 投票:0回答:2

我有一个在 Azure 中运行并使用 Azure 密钥保管库的 C# ASP.NET Core 应用程序。在我的

Program.cs
中,我使用 AzureKeyVaultConfigurationExtensionsAddAzureKeyVault(来自 Azure.Extensions.AspNetCore.Configuration.Secrets 版本 1.2.1.0)将 Azure 密钥保管库机密合并到我的配置中:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((context, config) =>
        {
            var secretClient = new SecretClient(keyVaultUri, credential);
            var options = new AzureKeyVaultConfigurationOptions { ReloadInterval = keyVaultReloadInterval };
            config.AddAzureKeyVault(secretClient, options);
        });

最近我注意到我的密钥库充满了名称为 GUID 的秘密。我不相信我或其他任何人是故意创造这些的。

此外,我曾经从 Azure 中的应用程序实例之一收到此错误:

{"error":{"code":"SecretNotFound","message":"在此密钥保管库中找不到具有(名称/ID)的机密。如果您最近删除了此机密,则可以使用以下命令恢复它如需解决此问题的帮助,请参阅 https://go.microsoft.com/fwlink/?linkid=2125182"}}

根据堆栈跟踪,此异常来自应用程序尝试构建配置的点。

at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken)
at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync[TResult](RequestMethod method, Func`1 resultFactory, CancellationToken cancellationToken, String[] path)
at Azure.Security.KeyVault.Secrets.SecretClient.GetSecretAsync(String name, String version, CancellationToken cancellationToken)
at Azure.Extensions.AspNetCore.Configuration.Secrets.ParallelSecretLoader.GetSecret(String secretName)
at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.LoadAsync()
at Azure.Extensions.AspNetCore.Configuration.Secrets.AzureKeyVaultConfigurationProvider.Load()
at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration()
at Microsoft.Extensions.Hosting.HostBuilder.Build()
at Program.Main(String[] args) in C:\path\to\Program.cs:line 23

这表明 AzureKeyVaultConfigurationProvider 在密钥保管库中创建并需要这些 GUID。有谁更确切地知道它的作用吗?这有记录吗?

configuration azure-keyvault
2个回答
1
投票

启用密钥保管库日志记录。 这将显示在 Key Vault 上执行的操作以及执行这些操作的服务主体。 这应该足以告诉你它们来自哪里。


0
投票

就我而言,我意识到当新的数据存储或端点添加到链接到 Keyvault 的机器学习工作区时,就会创建具有此类名称的机密。

© www.soinside.com 2019 - 2024. All rights reserved.