如何使用 functionApp 托管标识更新 KeyVault 中的机密

How to update secrets in KeyVault using functionApp managed identity

我能够使用以下 URI 通过 Azure 函数托管标识读取密钥库机密。

@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)

我已经使用 Keyvault 访问策略提供了对 FA 托管身份的获取和设置机密访问权限。

如何使用托管身份更新 keyvault 中的秘密。 我正在使用 visual Studio.

在 C# 中开发 FunctionApp

在此位置使用 Secrets SDK:https://docs.microsoft.com/en-us/azure/key-vault/secrets

您可以创建一个机密客户端,并使用 SetSecret API。

这是一个使用 Node.JS 的非常基本的示例:https://github.com/udayxhegde/keyvault_managedid_node

您可以使用大致这些代码行对 .NET 和 C# 执行类似的操作。

using System;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;


#in code snippets below, kvuri is your keyvault uri
#client_id is id of your managed identity
var client = new SecretClient(new Uri(kvUri), new ManagedIdentityCredential(client_id));
await client.SetSecretAsync(secretName, secretValue);