讀取 Azure 雲端服務 上的金鑰儲存庫憑證秘密(外延支援)
本文討論如何設定由 Microsoft Azure 雲端服務 所裝載的應用程式(外延支援),以便從密鑰保存庫讀取憑證密碼。
概觀
不同於裝載於 Azure App 服務 的應用程式,Azure 雲端服務 所裝載的應用程式(外延支援)必須能夠從密鑰保存庫讀取憑證密碼。 雖然 Azure 金鑰保存庫 的驗證最佳做法建議您使用受控識別,但目前不支援此功能 雲端服務(外延支援)。 在 雲端服務(外延支援)中,應用程式必須採用憑證認證來進行 Microsoft 身分識別平台 上的應用程式驗證。
在您的應用程式程式代碼中,您應該使用 SecretClient 命名空間中的 Azure.Security.KeyVault.Secrets 類別。 下表概述要用於特定工作的其他 API。
Task | API | Namespace |
---|---|---|
擷取憑證 | X509Store.Certificates 屬性 | System.Security.Cryptography.X509Certificates |
驗證憑證 | 類別建 ClientCertificateCredential(String, String, String) 構函式 | Azure.Identity |
下列 C# 代碼段示範如何將金鑰保存庫的憑證密碼讀取至 SecretClient
物件:
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2 cert = store.Certificates.OfType<X509Certificate2>().FirstOrDefault(
x => x.Thumbprint == certificateThumbprint
);
store.Close();
// Fetch tenantID and clientID from App registration.
var credential = new ClientCertificateCredential(tenantID, clientID, cert);
var client = new SecretClient(new Uri(keyVaultUrl), credential);
其他相關資訊
如需如何透過服務主體和憑證進行驗證的詳細資訊,請參閱 Azure 金鑰保存庫 中的驗證。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。