カスタム クレーム プロバイダー
この記事では、Microsoft Entra カスタム クレーム プロバイダーの概要について説明します。 ユーザーがアプリケーションに対して認証を行うときは、カスタム クレーム プロバイダーを使用してトークンに要求を追加できます。 カスタム クレーム プロバイダーは、外部システムから要求をフェッチするために、外部 REST API を呼び出すカスタム拡張機能で構成されています。 カスタム クレーム プロバイダーは、ディレクトリ内の 1 つまたは複数のアプリケーションに割り当てることができます。
ユーザーに関するキー データは、多くの場合、Microsoft Entra ID の外部システムに格納されます。 たとえば、セカンダリ メール、課金レベル、機密情報などです。 一部のアプリケーションでは、アプリケーションが設計どおりに機能するために、これらの属性に依存する場合があります。 たとえば、アプリケーションでは、トークン内の要求に基づいて特定の機能へのアクセスをブロックできます。
次のビデオでは、Microsoft Entra カスタム認証拡張機能とカスタム クレーム プロバイダーの素晴らしい概要を紹介します:
次のシナリオでは、カスタム クレーム プロバイダーを使用します。
- レガシ システムの移行 - ユーザーに関する情報を保持する Active Directory フェデレーション サービス (AD FS) やデータ ストア (LDAP ディレクトリ等) などのレガシ ID システムがある場合があります。 これらのアプリケーションを移行する必要がありますが、ID データを Microsoft Entra ID に完全に移行することはできません。 アプリはトークンに関する特定の情報に依存する可能性があり、再設計することはできません。
- ディレクトリに同期できない他のデータ ストアとの統合 - サードパーティのシステム、またはユーザー データを格納する独自のシステムがある場合があります。 この情報は、同期または直接移行によって Microsoft Entra ディレクトリに統合するのが理想的です。 しかし、それは必ずしも実現可能ではりません。 この制限は、データ所在地、規制、またはその他の要件が原因である可能性があります。
Note
カスタム クレーム プロバイダーが、カスタム クレームをトークンに追加するための唯一の方法というわけではありません。 エンタープライズ アプリケーション用に、JSON Web Token (JWT) 内で発行されたクレームをカスタマイズすることもできます。
トークン発行開始イベント リスナー
イベント リスナーは、イベントの発生を待機するプロシージャです。 カスタム拡張機能では、トークン発行開始イベント リスナーが使用されます。 イベントは、トークンがアプリケーションに発行されるときにトリガーされます。 イベントがトリガーされると、外部システムから属性をフェッチするためにカスタム拡張機能 REST API が呼び出されます。
カスタム クレーム プロバイダーを設定するには、トークン発行開始イベントを使用して REST API を作成してから、トークン発行イベント用にカスタム クレーム プロバイダーを構成する必要があります。
.NET 用 Azure Functions クライアント ライブラリの認証イベント トリガー
Azure Functions の認証イベント トリガーを使用すると、Microsoft Entra ID 認証イベントを処理するカスタム拡張機能を実装できます。 認証イベント トリガーは、認証イベントの受信 HTTP 要求に対するすべてのバックエンド処理を処理します。
- API 呼び出しをセキュリティで保護するためのトークン検証
- オブジェクト モデル、型指定、IDE IntelliSense
- API 要求スキーマと応答スキーマの受信と送信の検証