读取 Azure 云服务 上的密钥保管库证书机密(扩展支持)
本文讨论如何设置由Microsoft Azure 云端服务(扩展支持)托管的应用程序,以便它可以从密钥保管库读取证书机密。
概述
与Azure App 服务中托管的应用程序不同,由 Azure 云服务(扩展支持)托管的应用程序必须能够从密钥保管库读取证书机密。 尽管 Azure 密钥库的身份验证最佳做法建议使用托管标识,但云服务(扩展支持)目前不支持此功能。 在云服务(扩展支持)中,应用程序必须采用证书凭据进行Microsoft 标识平台的应用程序身份验证。
在应用程序代码中,应使用 SecretClient 命名空间中的 Azure.Security.KeyVault.Secrets 类。 下表概述了用于特定任务的其他 API。
任务 | API | 命名空间 |
---|---|---|
提取证书 | 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 云服务(扩展支持)配合使用。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。