读取 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 反馈社区