Azure Key Vault .NET: nastavení proxy pro tajné klíče a požadavky na tokeny
Přiřaďte stejný transport Azure Core do SecretClientOptions i ClientSecretCredentialOptions před zahájením kterékoli z obou cest požadavku.
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
});Použijte skutečné hodnoty vaultUrl, tenantId, clientId a clientSecret aplikace. Dvě přiřazení Transport = transport jsou záměrná: jedno směruje získání tokenu a druhé požadavky na tajné klíče Key Vault.
Ponechte vaultUrl jako skutečný koncový bod trezoru. WebProxy obsluhy drží prostředníka; veřejní kandidáti HTTP jsou k dispozici v seznamu HTTP proxy, pokud to síťová politika trezoru povoluje; nakonfigurujte jeho Credentials před vytvořením klientů, pokud to síť vyžaduje.
Transport znovu použijte pro zátěž klientů a při ukončení uvolněte vlastněné prostředky. Úspěšné proxy připojení vytvoří trasu, ale síťové a přístupové politiky Key Vault stále rozhodují, zda aplikace smí tajný klíč číst.