Azure Cloud Services のキー コンテナー証明書シークレットの読み取り (延長サポート)

この記事では、キー コンテナーから証明書シークレットを読み取ることができるように、Microsoft Azure Cloud Services (延長サポート) によってホストされるアプリケーションを設定する方法について説明します。

概要

Azure App Serviceでホストされているアプリケーションとは異なり、Azure Cloud Services (延長サポート) によってホストされているアプリケーションは、キー コンテナーから証明書シークレットを読み取ることができる必要があります。 Azure Key Vault の認証のベスト プラクティスではマネージド ID を使用することをお勧めしますが、Cloud Services (延長サポート) では現在この機能はサポートされていません。 Cloud Services (延長サポート) では、アプリケーションは、Microsoft ID プラットフォームでのアプリケーション認証に証明書資格情報を使用する必要があります。

アプリケーション コードでは、 名前空間の クラスを SecretClient 使用する Azure.Security.KeyVault.Secrets 必要があります。 次の表は、特定のタスクに使用する他の API の概要を示しています。

タスク 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 フィードバック コミュニティに製品フィードバックを送信することもできます。