You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Key Vault存储Stripe、Facebook密钥并在ASP.NET Core中调用

将Stripe/Facebook密钥存储到Azure Key Vault并在ASP.NET Core中使用

步骤1:在Azure Key Vault中添加机密

  • 登录Azure门户,创建或进入你的Key Vault实例
  • 进入「机密」菜单,点击「生成/导入」
  • 依次创建以下机密(名称可自定义,建议清晰易懂):
    • 名称:StripeApiKey,值为你的Stripe密钥
    • 名称:FacebookAppId,值为Facebook的App ID
    • 名称:FacebookAppSecret,值为Facebook的应用密钥

步骤2:配置ASP.NET Core应用访问Key Vault

  • 安装必要的NuGet包:
    Install-Package Azure.Extensions.AspNetCore.Configuration.Secrets
    Install-Package Azure.Identity
    
  • 修改Program.cs的配置加载逻辑,添加Key Vault作为配置源:
    var builder = WebApplication.CreateBuilder(args);
    
    // 从appsettings读取Key Vault地址,添加到配置链
    var keyVaultUri = new Uri(builder.Configuration["KeyVaultUri"]);
    builder.Configuration.AddAzureKeyVault(keyVaultUri, new DefaultAzureCredential());
    
    // 后续的服务注册、中间件配置...
    
  • 在appsettings.json中添加Key Vault的URI:
    {
      "KeyVaultUri": "https://你的密钥保管库名称.vault.azure.net/"
    }
    

步骤3:在应用中调用机密

方式1:直接通过IConfiguration读取

在代码中直接从配置获取机密值:

// 示例:在服务注册或控制器中使用
var stripeKey = builder.Configuration["StripeApiKey"];
var fbAppId = builder.Configuration["FacebookAppId"];

方式2:在appsettings.json中引用Key Vault机密

如果需要在配置文件中关联这些密钥,可以用Key Vault引用语法:

{
  "Stripe": {
    "ApiKey": "@Microsoft.KeyVault(SecretName=StripeApiKey)"
  },
  "Facebook": {
    "AppId": "@Microsoft.KeyVault(SecretName=FacebookAppId)",
    "AppSecret": "@Microsoft.KeyVault(SecretName=FacebookAppSecret)"
  }
}

之后可以通过绑定配置类的方式读取,比如创建StripeSettings类,用Options模式注入。

步骤4:配置Key Vault访问权限

  • 回到Azure门户的Key Vault实例,进入「访问控制(IAM)」
  • 添加角色分配,给你的应用服务主体(本地开发时可使用当前Azure账户)分配「Key Vault机密用户」角色,确保应用有权限读取机密

内容的提问来源于stack exchange,提问作者Jatinder Singh Malhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:46:01