Azure Key Vault .NET: configuración de proxy para secretos y solicitudes de tokens
Asigne el mismo transporte de Azure Core a SecretClientOptions y ClientSecretCredentialOptions antes de iniciar cualquiera de las dos rutas de solicitud.
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
});Use los vaultUrl, tenantId, clientId y clientSecret reales de la aplicación. Las dos asignaciones Transport = transport son deliberadas: una enruta la obtención del token y la otra las solicitudes de secretos de Key Vault.
Mantenga vaultUrl como el punto de conexión real del almacén. El WebProxy del controlador contiene el intermediario; hay candidatos HTTP públicos en la lista de proxies HTTP cuando la directiva de red del almacén permite esa ruta; configure sus Credentials antes de crear los clientes si la red los exige.
Reutilice el transporte para la carga de trabajo de los clientes y libere los recursos propios al apagar. Una conexión de proxy correcta establece una ruta, pero las directivas de red y acceso de Key Vault siguen decidiendo si la aplicación puede leer el secreto.