1.2.2. Global Logout Profile
Global Logout Profile を使用すると、IDP と SP のセットで認証されたプリンシパルをログアウトでき、そのアサーションを、関連する 1 つ以上の IDP と SP に伝播できます。
プリンシパルが IDP で認証されると、プリンシパルと IDP が認証セッションを確立します。IDP は、その認証に基づいて、さまざまな SP に対してアサーションを発行したり、公開したりすることがあります。プリンシパルが SP 内のセキュアなリソースにアクセスしようとすると、SP は IDP から発行されたアサーションに基づいて、プリンシパルで追加のセッションを確立することを選択する可能性があるため、IDP に依存します。
セッションまたはセッションのセットが作成されると、さまざまな方法でプリンシパルがセッションから個別にログアウトされたり、グローバルログアウトプロファイルを使用してすべてのセッションやすべての SP および IDP から一度にログアウトしたりできます。Global Logout Profile は、フローにおいて HTTP Redirect、HTTP POST、または HTTP Artifact バインディングを使用できます。また、本書では扱われない特定のケースで SOAP バインディングを使用することもできます。
Single Logout Profile は、Global Logout Profile の同意語として使用できます。
JBoss EAP は SAML アーティファクトバインディングをサポートしません。
Web ブラウザーのシングルサインオンプロファイルフローと同様に、グローバルログアウトプロファイルフローは IDP または SP のいずれかで開始できます。
Global Logout Profile の基本的なフローは次のとおりです。
Session Participant によって IDP 発行されたログアウト。
Service Providers やその他パーティーなどのセッションの参加者は、独自のセッションをプリンシパルとともに終了させ、
<LogoutRequest>メッセージの形式で、Logout Request を、プリンシパルのセキュリティーアサーションを最初に発行した IDP に送信します。この要求は IDP と依拠当事者 (relyiing party) 間で直接送信することも、プリンシパルのユーザーエージェントをパススルーとして使用することで間接的に送信することもできます。IDP は、Session Participant を特定します。
IDP が Logout Request を受信すると、そのリクエストを使用して、IDP がセッション認証またはセッション参加者として所有するセッションを含め、どの依拠当事者に依存しているセッションを終了するかを決定します。IDP は各セッションに対して、依存側に対してログアウトリクエストを発行し、各社からの Logout Response を待ってから、新しい Logout Response を元のセッション参加者に発行します。IDP で Global Logout Profile フローが開始された場合、フローはこのステップで開始し、その他のメカニズムを使用してセッションと SP が決定されます。
IDP が発行するログアウト。
IDP がすべてのセッションと関連する当事者を判別すると、ログアウトリクエストを
<LogoutRequest>メッセージの形式でログアウト要求を送信し、依拠当事者に依存してログアウト応答を待機します。これらの要求は IDP と依存側間で直接送信することも、プリンシパルのユーザーエージェントを介して間接的に送信することもできます。Session Participant または Authority.が発行するログアウト応答をログアウトします。
IDP 自体を含む各依存側は、Logout Request の IDP によってダイレクトされたセッションの終了を試み、
<LogoutResponse>メッセージの形式で Logout Response を返すことがあります。Logout Request と同様に、応答は依存側と IDP 間で直接発行することも、プリンシパルのユーザーエージェントから間接的に発行することもできます。IDP は元の Session Participant への Logout 応答を発行します。
すべての Logout Response が依存側から受信されると、IDP は
<LogoutResponse>メッセージの形式で新しいログアウト応答を送信し、ログアウトを要求した元のセッション参加者に戻ります。このフローの他の部分と同様に、この応答は IDP とセッションの参加者間で直接渡されるか、プリンシパルのユーザーエージェントによって間接的に渡すことができます。ログアウト要求が IDP で開始された場合は、この手順は省略されます。
JBoss EAP では、Global Logout Profile の IDP 部分と SP 部分との間の直接の通信はサポートされません。