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 усе ще вирішують, чи може застосунок читати секрет.