1.6.2. クレームベースのアイデンティティー
SSO を実装する方法の 1 つがクレームベースのアイデンティティーシステムを使用することです。クレームベースのアイデンティティーシステムでは、システムはアイデンティティー情報を渡すことができますが、その情報をクレームと発行者 (またはオーソリティー) の 2 つに抽象化します。クレームは、ユーザー、グループ、アプリケーション、組織などの 1 つのサブジェクトが他のサブジェクトに関して作成するステートメントです。1 つまたは複数のクレームは、1 つまたは複数のトークンにパッケージ化され、プロバイダーによって発行されます。クレームベースのアイデンティティーでは、個別のセキュアなリソースがユーザーに関する情報をすべて認識しなくても SSO を実装できます。
セキュリティートークンサービス
セキュリティートークンサービス (STS) は、セキュアなアプリケーション、web サービス、または Jakarta Enterprise Beans に対してユーザーを認証および承認するときに使用するセキュリティートークンをクライアントに発行する認証サービスです。STS でセキュア化されたアプリケーションに対して認証を試みるクライアント (サービスプロバイダー) は集中管理された STS オーセンティケーターにリダイレクトされ、トークンが発行されます。認証に成功すると、そのクライアントはトークンと元のリクエストを提供してサービスプロバイダーへ再度接続しようとします。そのサービスプロバイダーはクライアントのトークンを STS で検証し、処理を継続します。クライアントは STS に接続する他の web サービスや Jakarta Enterprise Beans に対して同じトークンを再使用できます。セキュリティートークンを発行、キャンセル、更新、および検証でき、セキュリティートークンのリクエストおよび応答メッセージの形式を指定する集中管理された STS の概念は、WS-Trust
と呼ばれます。
ブラウザーベースの SSO
ブラウザーベースの SSO では、サービスプロバイダーと呼ばれる 1 つ以上の web アプリケーションがハブアンドスポーク型アーキテクチャーの集中管理されたアイデンティティープロバイダーに接続します。IDP は、SAML トークンのクレームステートメントをサービスプロバイダー (スポーク) に発行し、アイデンティティーおよびロール情報の中心のソース (ハブ) として動作します。リクエストは、ユーザーがサービスプロバイダーへのアクセスを試みるときや、ユーザーが直接アイデンティティープロバイダーでの認証を試みるときに発行されます。これらはそれぞれ SP 開始 (SP-initiated) フローおよび IDP 開始 (IDP-initiated) フローと呼ばれ、どちらも同じクレームステートメントが発行されます。
SAML
SAML (Security Assertion Markup Language) は、通常はアイデンティティープロバイダーとサービスプロバイダーである 2 者が認証および承認情報を交換できるようにするデータ形式です。SAML トークンは、STS または IDP によって発行されるトークンの種類で、SSO の有効化に使用できます。SAML によってセキュア化されるリソースである SAML サービスプロバイダーは、STS または IDP の種類の 1 つである SAML アイデンティティープロバイダーにユーザーをリダイレクトし、そのユーザーを認証および承認する前に有効な SAML トークンを取得します。
デスクトップベースの SSO
デスクトップベースの SSO は、サービスプロバイダーとデスクトップドメイン (Active Directory または Kerberos など) がプリンシパルを共有できるようにします。これにより、ユーザーはドメインクレデンシャルを使用してコンピューターにログインでき、サービスプロバイダーは認証中にそのプリンシパルを再使用できるため、再認証や SSO の提供が必要ありません。