У меня есть секрет с именем «HMAC», связанный с именем HMACKey в рабочем процессе, и мне сказали использовать код string secretKey = await {Key Vault Client}.GetSecretAsync({Key Vault Url}, secret), чтобы получить это.
Но любая реализация, которую я пытаюсь выполнить, приводит к ошибкам в сценарии C#, и я не знаю, как просмотреть фактическое сгенерированное сообщение об ошибке.
Я предполагаю, что {Key Vault Url} означает первую часть URI для секретного идентификатора, который в моем тестовом примере это https://hmactesting.vault.azure.net
Но что подразумевается под {Key Vault Client}?
Это секретное имя «HMAC» или имя хранилища ключей «HMACTesting» или что-то еще? Я предположил имя хранилища ключей, но это не работает. Это что-то еще, что мне нужно сначала настроить/ссылаться в коде?
В итоге я получил строку secretKey = await HMACTesting.GetSecretAsync("https://hmactesting.vault.azure .net", secret) Но это всего лишь ошибки. Я также попробовал сделать URL-адрес хранилища переменной на случай, если строка ему не понравится, но это не имело никакого значения.
Так нужно ли мне сделать что-то еще, или я понял это полностью? неправильный? Я искал в сети, но не нашел ничего конкретного, показывающего, как это сделать из объекта «Код сценария CSharp» в рабочем процессе Azure?
Я понимаю, что это, вероятно, очень простой вопрос, но просто не могу при поиске найдите что-нибудь подходящее.
Буду признателен за любую помощь.
Мой полный тестовый сценарий выглядит следующим образом, я что-то упускаю?
Код: Выделить всё
// Add the required libraries
#r "Newtonsoft.Json"
#r "Microsoft.Azure.Workflows.Scripting"
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Microsoft.Extensions.Logging;
using Microsoft.Azure.Workflows.Scripting;
using Newtonsoft.Json.Linq;
using System;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
///
/// Executes the inline csharp code.
///
///
The workflow context.
/// This is the entry-point to your code. The function signature should remain unchanged.
public static async Task Run(WorkflowContext context, ILogger log)
{
//String Variables (for clarity)
string KeyVaultUrl = "https://hmactesting.vault.azure.net";
string secret = "HMAC";
string compare = string.Empty;
string _origonalMessage = string.Empty;
string _origonalHmac = string.Empty;
string _calculatedHmac = string.Empty;
////Define the trigger output.
var triggerOutputs = (await context.GetTriggerResults().ConfigureAwait(false)).Outputs;
//string kvSecret = await kVClient.GetSecretAsync(azureKeyVaultUrl, secret);
////Set the local HMAC key from the Azure Key Vault.
string secretKey = "HMAC-TEST"; //
Подробнее здесь: [url]https://stackoverflow.com/questions/79287623/how-do-you-get-a-key-vault-secret-using-csharp-script-code-in-an-azure-workflo[/url]