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
    });

Gebruik de echte vaultUrl, tenantId, clientId en clientSecret van de toepassing. De twee Transport = transport-toewijzingen zijn bewust: de ene leidt het ophalen van tokens, de andere de Key Vault-geheimenaanvragen.

Houd vaultUrl als het werkelijke vault-eindpunt. De WebProxy van de handler bevat de tussenpersoon; openbare HTTP-kandidaten staan in de HTTP-proxylijst wanneer het netwerkbeleid van de vault die route toestaat; configureer de Credentials ervan voordat de clients worden gemaakt als het netwerk dit vereist.

Hergebruik het transport voor de werklast van de clients en geef eigen resources vrij bij het afsluiten. Een geslaagde proxyverbinding legt een route vast, maar het netwerk- en toegangsbeleid van Key Vault bepaalt nog steeds of de toepassing het geheim mag lezen.

Gerelateerde artikelen