Azure Key Vault .NET: impostazioni proxy per segreti e richieste di token
Assegnate lo stesso trasporto Azure Core a SecretClientOptions e ClientSecretCredentialOptions prima di avviare uno dei due percorsi di richiesta.
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
});Usate i vaultUrl, tenantId, clientId e clientSecret reali dell'applicazione. Le due assegnazioni Transport = transport sono intenzionali: una instrada il recupero del token, l'altra le richieste di segreti di Key Vault.
Mantenete vaultUrl come endpoint effettivo dell'insieme. Il WebProxy dell'handler contiene l'intermediario; candidati HTTP pubblici sono disponibili nell'elenco di proxy HTTP quando i criteri di rete dell'insieme consentono quella rotta; configurate i suoi Credentials prima di creare i client se la rete li richiede.
Riusate il trasporto per il carico dei client e liberate le risorse possedute allo spegnimento. Una connessione proxy riuscita stabilisce una rotta, ma i criteri di rete e di accesso di Key Vault decidono ancora se l'applicazione può leggere il segreto.