サービスプロバイダー (SP) とは?
アイデンティティとアクセス管理 (Identity and access management, IAM) の領域において、サービスプロバイダー (SP)(または OpenID Connect (OIDC) の文脈における依存パーティ)は、認証 (Authentication) および認可のために アイデンティティプロバイダー (Identity provider, IdP) に依存するアプリケーションまたはサービスです。サービスプロバイダーは、ユーザーにサービスを提供し、アイデンティティプロバイダーによって発行されたトークンに基づいて アクセス制御 (Access control) ポリシーを強制します。
サービスプロバイダーの標準
サービスプロバイダーには厳格な標準はありませんが、アイデンティティ管理を必要とする任意のタイプのアプリケーションやサービスになることがあります。しかし、サービスプロバイダーは依存するアイデンティティプロバイダーによって設定された標準に従うことがよくあります。例えば、アイデンティティプロバイダーが OpenID Connect (OIDC) をサポートしている場合、サービスプロバイダーは通常、認証 (Authentication) および認可に OIDC を使用します。
サービスプロバイダーのアーキテクチャ
「サービスプロバイダー」という用語は、特定のアーキテクチャや実装を指定するものではありません。通常、サービスプロバイダーは信頼を確立し、安全な通信を可能にするためにアイデンティティプロバイダーに登録する必要があります。登録プロセスには通常、メタデータとクライアント認証情報の交換が含まれます。
例えば、OpenID Connect の文脈では、サービスプロバイダーのメタデータには通常以下が含まれます:
- クライアント ID: サービスプロバイダーのための一意の識別子。
- クライアントシークレット: サービスプロバイダーを認証するために使用される共通の秘密。
- リダイレクト URI : アイデンティティプロバイダーが認証 (Authentication) および認可の後にユーザーを戻す URI。
登録が完了すると、サービスプロバイダーはユーザーをアイデンティティプロバイダーの指定したエンドポイントにリダイレクトすることにより、 認証 (Authentication) プロセスを開始できます。
対話を伴わないユースケースのために構築されたサービスプロバイダーは、 マシン間通信 (Machine-to-machine) 通信を必要とする クライアント と呼ばれることがよくあります。