Azure Key Vault .NET: การตั้งค่าพร็อกซี่สำหรับความลับและคำขอโทเค็น
กำหนดการขนส่ง Azure Core เดียวกันให้กับ SecretClientOptions และ ClientSecretCredentialOptions ก่อนเริ่มเส้นทางคำขอใดเส้นทางหนึ่ง
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
});ใช้ vaultUrl, tenantId, clientId และ clientSecret จริงของแอปพลิเคชัน การกำหนด Transport = transport สองครั้งเป็นเจตนา: ครั้งหนึ่งกำหนดเส้นทางการรับโทเค็น อีกครั้งกำหนดคำขอความลับของ Key Vault
เก็บ vaultUrl ไว้เป็นปลายทางจริงของตู้เก็บความลับ WebProxy ของตัวจัดการถือตัวกลางไว้ ผู้สมัคร HTTP สาธารณะมีอยู่ในรายการพร็อกซี่ HTTPเมื่อนโยบายเครือข่ายของตู้ยอมให้ใช้เส้นทางนั้น กำหนดค่า Credentials ก่อนสร้างไคลเอนต์หากเครือข่ายต้องการ
ใช้การขนส่งซ้ำสำหรับภาระงานของไคลเอนต์และคืนทรัพยากรที่ถือครองเมื่อปิด การเชื่อมต่อพร็อกซี่ที่สำเร็จจะสร้างเส้นทาง แต่นโยบายเครือข่ายและการเข้าถึงของ Key Vault ยังคงตัดสินว่าแอปพลิเคชันอ่านความลับได้หรือไม่