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

Verwenden Sie die echten vaultUrl, tenantId, clientId und clientSecret der Anwendung. Die beiden Transport = transport-Zuweisungen sind beabsichtigt: Eine leitet den Tokenabruf, die andere die Key Vault-Geheimnisanforderungen.

Behalten Sie vaultUrl als tatsächlichen Vault-Endpunkt bei. Der WebProxy des Handlers enthält den Vermittler; öffentliche HTTP-Kandidaten stehen in der HTTP-Proxy-Liste bereit, wenn die Netzwerkrichtlinie des Vaults diese Route zulässt; konfigurieren Sie dessen Credentials, bevor die Clients erstellt werden, falls das Netzwerk sie verlangt.

Verwenden Sie den Transport für die Arbeitslast der Clients erneut und geben Sie eigene Ressourcen beim Herunterfahren frei. Eine erfolgreiche Proxyverbindung stellt eine Route her, doch Netzwerk- und Zugriffsrichtlinien von Key Vault entscheiden weiterhin, ob die Anwendung das Geheimnis lesen darf.

Ähnliche Artikel