Azure Key Vault .NET: настройки на прокси за тайни и заявки за токени
Задайте един и същ транспорт на Azure Core за SecretClientOptions и ClientSecretCredentialOptions, преди да започнете който и да е от двата пътя на заявка.
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080")
};
var transport = new Azure.Core.Pipeline.HttpClientTransport(handler);
var credential = new Azure.Identity.ClientSecretCredential(
tenantId, clientId, clientSecret,
new Azure.Identity.ClientSecretCredentialOptions
{
Transport = transport
});
var vault = new Azure.Security.KeyVault.Secrets.SecretClient(
new Uri(vaultUrl),
credential,
new Azure.Security.KeyVault.Secrets.SecretClientOptions
{
Transport = transport
});Използвайте реалните vaultUrl, tenantId, clientId и clientSecret на приложението. Двете присвоявания Transport = transport са умишлени: едното насочва получаването на токен, а другото — заявките за тайни на Key Vault.
Запазете vaultUrl като действителната крайна точка на хранилището. WebProxy на манипулатора държи посредника; публични HTTP кандидати са налични в списъка с HTTP прокси, когато мрежовата политика на хранилището позволява този маршрут; конфигурирайте неговите Credentials преди създаването на клиентите, ако мрежата ги изисква.
Използвайте повторно транспорта за работата на клиентите и освобождавайте притежаваните ресурси при спиране. Успешната прокси връзка установява маршрут, но мрежовите и достъпните политики на Key Vault все още решават дали приложението може да чете тайната.