クライアント証明書による認証

authentication-certificate ポリシーを使用し、クライアント証明書を使用してバックエンド サービスで認証します。 証明書を最初に API Management にインストールする場合は、最初にサムプリントまたは証明書 ID (リソース名) で識別します。

注意事項

証明書が Azure Key Vault に格納されている証明書を参照している場合は、証明書 ID を使用して識別します。 キー コンテナー証明書がローテーションされると、API Management のサムプリントが変更され、サムプリントによって識別された場合、新しい証明書はポリシーによって解決されません。

Note

ポリシーの要素と子要素を、ポリシー ステートメントで指定された順序で設定します。 API Management ポリシーを設定または編集する方法について説明します。

ポリシー ステートメント

<authentication-certificate thumbprint="thumbprint" certificate-id="resource name" body="certificate byte array" password="optional password"/>

属性

属性 説明 必要 Default
thumbprint クライアント証明書のサムプリント。 ポリシー式を使用できます。 thumbprint または certificate-id のいずれかが存在する可能性があります。 該当なし
証明書 ID 証明書リソースの名前。 ポリシー式を使用できます。 thumbprint または certificate-id のいずれかが存在する可能性があります。 該当なし
body バイト配列としてのクライアント証明書。 組み込みの証明書ストアから証明書が取得されない場合に使用します。 ポリシー式を使用できます。 いいえ 該当なし
password クライアント証明書のパスワード。 ポリシー式を使用できます。 body で指定された証明書がパスワードで保護されている場合に使用します。 該当なし

使用法

証明書 ID によって識別されるクライアント証明書

<authentication-certificate certificate-id="544fe9ddf3b8f30fb490d90f" />  

サムプリントによって識別されるクライアント証明書

<authentication-certificate thumbprint="CA06F56B258B7A0D4F2B05470939478651151984" />

組み込みの証明書ストアから取得されるのではなく、ポリシーで設定されたクライアント証明書

<authentication-certificate body="@(context.Variables.GetValueOrDefault<byte[]>("byteCertificate"))" password="optional-certificate-password" />

ポリシーに対する処理の詳細については、次のトピックを参照してください。