SecretVault:在 .NET 9 中通过单一接口统一管理所有云端密钥

发布日期:2026-04-29 10:01:58   浏览量 :2
发布日期:2026-04-29 10:01:58  
2

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

每个涉及云服务的 .NET 项目最终都会遇到同一个问题:密钥分散管理

你起初使用亚马逊云科技(AWS)密钥管理器。随后,一项新服务需要微软 Azure 密钥保管库。有人又部署了哈希公司(HashiCorp)的 Vault。不久之后,你的代码库中便充斥着特定于提供商的软件开发工具包(SDK)、不一致的错误处理机制,且在不重写半数基础设施代码的情况下,完全无法切换提供商。

我构建了 SecretVault 来解决这个问题。一个接口。四个提供商。零供应商锁定。

代码中的实际问题

如今大多数代码库的情况如下:

// 在你的 AWS 服务中的某处
var awsClient = new AmazonSecretsManagerClient();
var response = await awsClient.GetSecretValueAsync(new GetSecretValueRequest
{
    SecretId = "prod/db-password"
});
var secret = response.SecretString;

// 在其他地方,针对 Azure
var kvClient = new SecretClient(vaultUri, new DefaultAzureCredential());
var azureSecret = await kvClient.GetSecretAsync("db-password");
var value = azureSecret.Value.Value;

不同的软件开发工具包(SDK)。不同的错误类型。不同的思维模型。而当你想要添加缓存或轮换密钥时?你必须为每个提供商手动进行配置——每次都是如此。

SecretVault 的方式

// 就这么简单。同一行代码。适用于任何提供商。
var password = await secrets.GetSecretAsync("db-password");

ISecretManager 是你的应用程序代码唯一需要接触的接口。只需在一行依赖注入(DI)配置中将亚马逊云科技(AWS)替换为微软 Azure,你的业务逻辑无需任何更改。

包含内容

SecretVault 以 6 个专注的 NuGet 包 形式发布——仅安装你需要的部分:

包名称 功能说明
SecretVault.Core ISecretManager 接口 + 缓存 + 链式调用
Se

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
回到顶部