试图从C#应用程序服务中的KeyVault检索机密。
>
Visual Studio>工具>选项>Azure服务身份验证-经过身份验证的Azure帐户
很可能在DotNet
运行的shell中使用AZ登录
,如果是vs code等未选中的话。
...
"KeyVaultName" : "abc123",
"Secrets": {
"One" : "@Microsoft.KeyVault(Secreturi=[uri to secret copied from Azure blade])"
}
...
...
using Azure.Extensions.AspNetCore.Configuration.Secrets;
using Azure.Identity;
...
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, config) =>
{
var builtConfig = config.Build();
var secretClient = new SecretClient(
new Uri($"https://{builtConfig["KeyVaultName"]}.vault.azure.net/"),
new DefaultAzureCredential());
config.AddAzureKeyVault(secretClient, new KeyVaultSecretManager());
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
似乎有些不对劲,因为我必须两次定义keyvault的名称,一次在SecretClient中,一次在@microsoft.keyvault引用中。
我好像混合了两种从钥匙库获取秘密的方法。
我在program.cs
中添加的是一个配置提供程序,它将机密映射到配置集合中。在startup.cs
中放置断点并检查配置集合中的值验证了这一点。
我应该做的是命名为secretsecret--one
,它将映射和重写本地配置值{“secret:{”one“:”...“}}
。不能使用环境变量配置映射中使用的:
或__
,因为秘密名称中不支持这些字符。
另一方面,如果希望使用在Azure应用程序设置(App Service Configuration)刀片上设置的环境变量重写配置值,则可以使用KeyVault引用。
这样做的问题是,您仍然需要另一种方法来确保您不会在本地保留机密,并冒着将它们提交给源代码管理的风险。
我正在尝试各种Azure功能,目前希望从KeyVault检索一个秘密。 直截了当地说: 我正在使用这个nuget包与我的azure资源进行交互。 我开发了一个简单的。NET核心控制台应用程序,并在本地运行。 我有一个密钥库资源,其中定义了一个处于活动状态且未过期的秘密。 我在AAD中注册了一个应用程序,因此我的本地出货。NET Core控制台应用程序在AAD中具有标识。 然后我在AAD的注册应用程
当我为Azure开发时,我通常开始复制一些keyvault客户端代码,所以只有keyvault URL会在我的设置文件中,没有秘密会在我的git存储库中结束。 在开始制作Azure函数之后,我意识到不可能为触发器连接字符串(例如服务总线或blob存储)这样做。 推荐的方法似乎是在部署时将应用程序直接连接到Azure中的keyvault,并只在Secret Manager中本地管理机密,如本文所建议
目前似乎不可能在上传Azure Key Vault机密时设置该机密的版本。我在使用SetSecretAsync。我是不是漏掉了什么?即使在尝试从Azure Portal进行操作时,您也没有机会设置版本,也没有方法备份或还原机密。 这似乎是有意的(考虑到似乎缺乏这样做的方法),但请考虑我为什么这样做的背景。我们担心一个秘密被错误地删除,甚至保险库本身被错误地删除。当我们将机密用于加密/解密目的时,如
我以前曾使用curl从我的Azure KeyVault中检索秘密。 首先,我检索我的令牌并获取我的密钥库的url: 然后我可以访问我的KeyVault 然而,这只是为了获取秘密。有没有办法通过curl来更新它们?还是使用azure cli更好?在这种情况下,最好的自动身份验证形式是什么?
在使用Java从azure keyvault检索机密时,我面临一个问题 我使用了以下依赖项azure-security-keyvault-secrets-4.3.6。jar azure-identity-1.4.2。jar azure-core-1.12.0。罐子 还有我的密码, 当我运行上面的代码时,我得到了下面的错误
我正在开发一个使用密钥库的应用程序。这个应用程序是用。NET Core3.1(ASP.NET)编写的,这个应用程序从我的本地机器上运行得非常好。我将该应用程序部署为azure应用程序服务,现在得到“HTTP Error 500.30-ANCM In-Process Start failure”错误消息。我检查了应用程序事件日志,它说: “用户、组或应用程序'appId={appId};oid={o