(オプション)シングル ログアウトの設定
目次
casso11jp
目次
2
シングル ログアウト プロトコル(SLO)は、特定のユーザに関するすべてのセッションの同時終了を実行し、セキュリティの保証に役立ちます。これらのセッションは、ログアウトを開始したブラウザ セッションの一部であることが必要です。
シングル ログアウトにより、特定ユーザに関するすべてのセッションが必ずしも終了するとは限りません。たとえば、ユーザが 2 つのブラウザを開いている場合、そのユーザは 2 つの独立したセッションを確立できます。シングル ログアウトを開始したブラウザのセッションのみが、そのセッションに関するすべての連携したサイトで終了します。もう一方のブラウザのセッションは、引き続きアクティブです。ユーザが開始したログアウトによりシングル ログアウトがトリガされます。
注:
Single Sign-On
は、シングル ログアウト プロトコルの HTTP リダイレクト バインドのみをサポートします。SLO を設定することにより、サービス プロバイダがシングル ログアウト プロトコルをサポートするかどうかと、その場合にサービス プロバイダがシングル ログアウトを処理する方法がアイデンティティ プロバイダに通知されます。
シングル ログアウトを有効にする場合には、以下の操作も必要です。
- ポリシー サーバ管理コンソールを使用して、アイデンティティ プロバイダでセッション ストアを有効にします。
- サービス プロバイダで保護されたリソースが含まれるレルムに対して永続セッションを設定します。管理 UI で永続セッションを設定します。
シングル ログアウトを設定する方法
- 管理 UI にログオンします。
- 設定する SAML サービス プロバイダの[SAML プロファイル]ページに移動します。
- ページの[SLO]セクションで、[HTTP リダイレクト]チェック ボックスをオンにします。この設定により、シングル ログアウトが有効になります。
- 以下のフィールドに注意して、残りのフィールドに値を入力します。
- 有効期間シングル ログアウト リクエストが有効な秒数を指定します。このプロパティは、シングル サインオンの有効期間とは異なります。シングル サインオンの有効期間はアサーションが対象です。有効期間が期限切れになると、IdP は、ログアウトを開始したエンティティにシングル ログアウト レスポンスを送信します。また、有効期間は、シングル ログアウト メッセージ期間の計算でスキュー時間([一般]で設定)にも依存します。
- SLO ロケーション URL、SLO レスポンス ロケーション URL、SLO 確認 URLこれらのフィールドのエントリは https:// または http:// で始まる必要があります。
- (オプション) 1 つのブラウザ セッション中で同じパートナーに送信されたアサーションのセッション インデックスと同じセッション インデックスを使用するには、[セッション インデックスの再利用]フィールドを選択します。このオプションを使用することで、すべてのサードパーティ パートナーでのシングル ログアウトの成功を保証できます。
フェデレーション Web サービスは、ユーザ セッションがアイデンティティ プロバイダおよびすべての サービス プロバイダ サイトで削除された後、ユーザをログアウト確認ページにリダイレクトします。
シングル ログアウト リクエスト有効期間
SLO 有効期間およびスキュー時間により、シングル ログアウト リクエストが有効となる総時間の計算方法がポリシー サーバに指定されます。
注:
SLO 有効期間は、SSO 有効期間とは別の値です。ログアウト リクエスト期間の計算において関連する 2 つの値は、IssueInstant 値および NotOnOrAfter 値と呼ばれます。SLO レスポンスでは、NotOnOrAfter 値になるまでシングル ログアウト リクエストが有効です。
シングル ログアウト リクエストが生成される際、ポリシー サーバはそのシステム時刻を使用します。結果として得られる時間が IssueInstant 値になります。この値は、リクエスト メッセージで設定されます。
ポリシー サーバは、ログアウト リクエストがいつ無効でなくなるかを判別します。ポリシー サーバは、その現在のシステム時刻を使用し、スキュー時間および SLO 有効期間を加算します。その結果の時間が NotOnOrAfter 値になります。時間は GMT が基準になります。
たとえば、アイデンティティ プロバイダでログアウト リクエストが 1:00 GMT に生成されたとします。スキュー時間は 30 秒、SLO 有効期間は 60 秒です。したがって、そのリクエストは 1:00 GMT から 1:01:30 GMT までの間が有効です。IssueInstant 値は 1:00 GMT です。シングル ログアウト リクエスト メッセージはその後 90 秒で無効になります。
シングル ログアウト確認ページのガイドライン
シングル ログアウトをサポートするには、任意のサイトにログアウト確認ページを用意する必要があります。ユーザは、このページによってログアウトを認識できます。
ログアウト確認ページは、以下の基準を満たす必要があります。
- シングル ログアウトがサービス プロバイダで開始される場合、ログアウト確認ページは、サービス プロバイダサイトの非保護のローカル リソースであることが必要です。
- シングル ログアウトがアイデンティティ プロバイダ サイトで開始される場合、ログアウト確認ページはアイデンティティ プロバイダ サイトの非保護のローカル リソースであることが必要です。
- このページは、フェデレーション パートナー ドメイン内のリソースであってはなりません。たとえば、ローカル ドメインが ca.com の場合、SLO 確認ページを example.com ドメインに配置することはできません。
ログアウト失敗に関するフィードバックを受信するには、ログアウト確認ページが以下の要件もサポートすることが必要です。
- Base 64 エンコード データの処理ができ、Cookie を読み取ることができること。
- SIGNOUTFAILURE Cookie を検索するコードが含まれていること。この条件は、IdP および SP のログアウト ページが満たす必要があります。シングル ログアウトの失敗が発生すると、Cookie がブラウザで設定されます。Cookie には、ログアウトが失敗したフェデレーション サイトのパートナー ID が含まれます。これらの ID は、Base 64 でエンコードされています。複数の ID が列挙される場合、それらはスペース文字によって区切られます。この Cookie を検索するようにログアウト確認ページを設定することによって、ログアウトが失敗した場所を確認ページからユーザに通知できます。この情報は、ユーザが複数のパートナー サイトからログアウトするネットワークで便利です。また、SIGNOUTFAILURE Cookie が検出された場合、ログアウト確認ページは、Web ブラウザを閉じてセッション データをすべて削除するようにユーザ通知する必要があります。