azure - 在将 local.settings.json 文件部署到 Azure 之前,如何保护 Azure Function 中的 local.settings.json 文件

标签 azure .net-core azure-functions azure-keyvault

我正在使用 .net core 3.1>> 构建 Azure 函数,并在其 local.settings.json 中存储一些敏感数据,如下所示:-

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "SiteUrl": "***.sharepoint.com/",
    "TenantId": "0***",
    "ClientId": "9****",
    "CertificateThumbPrint": "E***",
    "WEBSITE_LOAD_CERTIFICATES": "E***"
  }
}

那么我可以保护这些值并将它们存储在 Azure key 保管库中吗?谁能提供一些示例代码吗?

第二个问题。现在,当我将这些设置部署到 Azure Function 并访问 Azure Function Configuration >> 我发现这些设置已经加密,这是否意味着不需要将这些配置存储在 Azure Key Vault 中,因为似乎已经加密了并通过 https 提供?

enter image description here

最佳答案

So, can I secure those values and store them inside Azure key vault?

是的,您可以将 local.settings.json 文件中的键值对存储到 Azure Key Vault,并使用必须配置的访问策略和权限集来保护它。

您无法将存储在一个 Azure Function App 配置中的配置检索到应用程序设置的另一个 Function App 配置中,这是一个非常困难的过程。

您可以将它们存储在 Azure Key Vault 中,因为它充当许多应用程序的中央存储库,用于访问存储在其中的应用程序设置、 secret 、键值对、证书密码。

  1. 将所有必需的 secret (键值对、应用程序设置)、证书等全部存储在 Azure Key Vault 中:

enter image description here

  • 通过在“权限”、“主体选项”中提供访问策略来提供应在 Function App 中访问此 Key Vault 配置的权限级别:
    enter image description here

    然后:

  • enter image description here

  • 您可以将 Key Vault 中存储的应用程序设置检索到任何 Azure Function App 配置,格式为 @Microsoft.KeyVault(SecretUri=https://myvaultname.vault.azure.net/secrets/mysecret/)。对于存储在 key 保管库中的每个 secret (应用程序设置/键值对),将有一个唯一的 secret URI 用于在应用程序中访问。 enter image description here

  • Practical C# 代码实现,用于将设置存储在 Key Vault 中、将它们检索到 Azure Function 应用程序配置 - 应用程序设置并从 Function (CSharp) 代码访问它们。

  • 直接在 Function Code 中获取应用程序设置.

  • 关于azure - 在将 local.settings.json 文件部署到 Azure 之前,如何保护 Azure Function 中的 local.settings.json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75252506/

    相关文章:

    python - 不使用 VS Code 扩展的 Azure Function 部署

    python - 在 Azure Functions 中运行 Python + OpenCV + dlib

    c# - 如何从 ASP .NET Core 中创建 Azure AD 用户?

    c# - SQLAzureExecutionStrategy ShouldRetryOn 未在 EF 异常上调用

    asp.net-core - 构建 ASP.NET Core 项目以引用 .Net 标准库

    c# - 在 .NET Core 上创建 HttpMessageHandler,可以向我自己发出请求

    iis - 如何检索部署 azure 网站的 iis 服务器的名称

    azure - 移动或重命名时可以保留 Blob 版本吗?

    c# - .Net 核心 : Return IActionResult from a custom Exception Middleware

    基于Java的Azure函数-异常: ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader无法转换