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

Схожі статті