Azure Key Vault .NET: Pengaturan Proksi untuk Rahasia dan Permintaan Token
Tetapkan transport Azure Core yang sama ke SecretClientOptions dan ClientSecretCredentialOptions sebelum memulai salah satu jalur permintaan.
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
});Gunakan vaultUrl, tenantId, clientId, dan clientSecret asli aplikasi. Dua penetapan Transport = transport memang disengaja: satu merutekan perolehan token dan yang lain merutekan permintaan rahasia Key Vault.
Pertahankan vaultUrl sebagai titik akhir vault yang sebenarnya. WebProxy pada handler menyimpan perantara; kandidat HTTP publik tersedia di daftar proksi HTTP ketika kebijakan jaringan vault mengizinkan rute itu; konfigurasikan Credentials miliknya sebelum membuat klien jika jaringan memerlukannya.
Gunakan kembali transport untuk beban kerja klien dan lepaskan sumber daya yang dimiliki saat mematikan. Koneksi proksi yang berhasil membentuk rute, tetapi kebijakan jaringan dan akses Key Vault tetap menentukan apakah aplikasi boleh membaca rahasia itu.