Azure Key Vault .NET: configurações de proxy para segredos e pedidos de tokens
Atribua o mesmo transporte do Azure Core a SecretClientOptions e ClientSecretCredentialOptions antes de iniciar qualquer um dos dois caminhos de pedido.
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 os vaultUrl, tenantId, clientId e clientSecret reais da aplicação. As duas atribuições Transport = transport são deliberadas: uma encaminha a obtenção do token e a outra os pedidos de segredos do Key Vault.
Mantenha vaultUrl como o ponto final real do cofre. O WebProxy do manipulador contém o intermediário; há candidatos HTTP públicos na lista de proxies HTTP quando a política de rede do cofre permite esse caminho; configure as suas Credentials antes de criar os clientes se a rede as exigir.
Reutilize o transporte para a carga dos clientes e liberte os recursos próprios ao encerrar. Uma ligação de proxy bem-sucedida estabelece um caminho, mas as políticas de rede e de acesso do Key Vault continuam a decidir se a aplicação pode ler o segredo.