フェデレーション展開への機能の追加

目次
casso126jjp
目次
2
POST シングル サインオンの設定が終了した後、追加の機能をフェデレーション ネットワークに付加することができます。
この展開例で取り上げる追加タスクは以下のとおりです。
  • シングル ログアウトの設定
  • Artifact シングル サインオンの設定
  • アサーションへの属性の追加
  • アサーションのデジタル署名の有効化
  • アサーションの暗号化および復号
これらの追加機能の中には、実稼働環境におけるシングル サインオンで必須のものがあります。たとえば、POST バインドにおけるデジタル署名などです。必須タスクには注記が付いています。
シングル ログアウトの設定
シングル ログアウト プロトコル(SLO)は、特定のユーザに関するすべてのセッションの同時終了を実行し、セキュリティの保証に役立ちます。ログアウトを開始したブラウザとこれらのセッションを関連付けます。シングル ログアウトにより、特定ユーザに関するすべてのセッションが必ずしも終了するとは限りません。
シングル ログアウトの設定により、アイデンティティ プロバイダおよび サービス プロバイダがシングル ログアウト プロトコルをサポート可能になります。また、設定により、シングル ログアウトの処理方法が決定されます。
IdP でのシングル ログアウトの有効化
IdP でシングル ログアウトを開始できます。IdP (idp.demo)で、SP 単位でシングル ログアウトを有効化します。
以下の手順に従います。
  1. 管理 UI にログインし、sp.demo の SAML サービス プロバイダ オブジェクトにアクセスします。
  2. [SAML プロファイル]ページに移動します。
  3. [HTTP-Redirect]を選択します。
    残りのフィールドがアクティブになります。
  4. 次のフィールドに値を入力します。
    • SLO ロケーション URL
      http://www.sp.demo:81/affwebservices/public/saml2slo
      SP の SLO サーブレットを定義します。
    • SLO 確認 URL
      http://www.idp.demo:80/idpsample/SLOConfirm.jsp.
  5. 他のフィールドはデフォルトのままにします。
  6. [サブミット]をクリックします。
  7. ポリシー サーバ管理コンソールにログインし、セッション ストアを有効にします。
SP でのシングル ログアウトの有効化
サービス プロバイダでシングル ログアウトを開始できます。
以下の手順に従います。
  1. 保護されたリソースを持つレルムが永続セッションに対して設定されていることを確認します。
  2. Partner IDP.demo Auth Scheme という名前の認証方式に移動します。
  3. この認証方式の SAML 2.0 設定を変更して[SLO]タブにアクセスします。
  4. [SLO]タブで、[HTTP-リダイレクト]を選択します。
    残りのフィールドがアクティブになります。
  5. フィールドには以下のように入力します。
    • SLO ロケーション URL
      http://www.idp.demo:80/affwebservices/public/saml2slo
    • SLO 確認 URL
      http://www.sp.demo:81/spsample/SLOConfirm.jsp
  6. 他のすべてのフィールドは、デフォルト値のままにしておきます。
  7. ポリシー サーバ管理コンソールにログインし、セッション ストアを有効にします。
シングル ログアウトのテスト
シングル ログアウトをテストするには、独自の Web ページを使用します。SP で開始されるシングル サインオンをテストするための HTML ページには、シングル ログアウト サービスへのハードコードされたリンクが含まれることを確認してください。
シングル サインオンのテストに成功した後に、シングル ログアウトをテストできます。作成したランディング・ページから、HTTP リダイレクト バインディングを使用してシングル ログアウト URL にブラウザを誘導するリンクをクリックします。
SAML 2.0 Artifact シングル サインオンの設定
Artifact シングル サインオンを設定するタスクをアイデンティティ プロバイダおよびサービス プロバイダで実行します。
アイデンティティ プロバイダでの必須タスクは以下のとおりです。
サービス プロバイダでの必須タスクは以下のとおりです。
Artifact シングル サインオンを使用するための IdP セッション ストアのセットアップ
Artifact バインドを使用するには、IdP でセッション ストアのセットアップおよび有効化を行います。Artifact バインドを使用する場合、アサーションが Artifact で取得される前に、アサーションを保存するためのセッション ストアが必要です。
セッション ストアを有効にする方法
  1. ODBC データベースをインストールし、セッション ストアとして機能するように設定します。この展開の場合、Microsoft SQL Server を使用しています。
    手順については、「
    ポリシー サーバ インストール ガイド
    」を参照してください。
  2. ポリシー サーバ管理コンソールを開きます。
  3. [データ]タブを選択します。
  4. [データベース]ドロップダウンリストから、[セッション サーバ]を選択します。
  5. 以下のフィールドに値を入力します。
    • データ ソース情報
      CA Single Sign-on
      セッション データ ソース
    • User Name
      admin
    • Password
      dbpassword
    • パスワードの確認入力
      dbpassword
    • 最大接続数
      16 (デフォルト)
  6. [セッション サーバの有効化]チェック ボックスを選択します。
  7. [OK]をクリックして設定を保存します。
IdP Web サーバで Artifact シングル サインオンを使用するための SSL の有効化
Web エージェント オプション パックがインストールされている Web サーバに対して SSL を有効にします。SSL の有効化により、アサーションが渡されるバック チャネルが安全であることが確認されます。
以下の手順に従います。
  1. サーバサイド証明書リクエストを作成します。
  2. 認証機関にサーバサイド証明書の署名を依頼します。
  3. Web サーバ設定にサーバサイド証明書を指定します。
    サンプル ネットワークで使用する IIS Web サーバの場合、IIS 認証ウィザードが使用されます。
  4. IdP でアサーションを保存するための永続セッションを有効化します。
Artifact 解決サービスの FWS ポリシーへのアクセス許可
Web エージェント オプション パックにより、フェデレーション Web サービス(FWS)アプリケーションがインストールされます。Web エージェントと同じ IdP に対応したポリシー サーバをインストールすると、FWS アプリケーション内のサービスに関するいくつかのポリシーが自動的に作成されます。これらのポリシーの 1 つにより、HTTP-Artifact シングル サインオンの Artifact 解決サービスが保護されます。
この Artifact 解決ポリシーの保護を適用することにより、Artifact 解決サービスにアクセスできる依存パートナーを指定します。
IdP で以下の手順に従います
  1. 管理 UI にログオンします。
  2. [インフラストラクチャ]-[エージェント]-[エージェント]をクリックします。
  3. [エージェントの作成]をクリックします。
  4. [名前]フィールドに idp-webagent を入力します(これは、このサンプル展開におけるエージェントの名前です)。[サブミット]をクリックします。
  5. [インフラストラクチャ]-[エージェント グループ]を選択します。
  6. FederationWebServicesAgentGroup エントリを選択します。
    [エージェント グループ]ダイアログ ボックスが表示されます。
  7. [追加/削除]をクリックします。[エージェント グループのメンバ]ダイアログ ボックスが表示されます。
  8. idp-webagent を[使用可能なメンバー]リストから[メンバーの選択]リストに移動させます。
  9. [OK]ボタンをクリックして、[エージェント グループ]ダイアログに戻ります。
  10. [サブミット]クリックした後、[閉じる]クリックしてメイン ページに戻ります。
  11. フェデレーション サンプル パートナー アフィリエイト ドメイン内のすべてのサービス プロバイダが Artifact 解決サービスにアクセスできるように指定します。以下の手順を実行します。
    1. [インフラストラクチャ]-[ポリシー]-[ドメイン]-[ドメイン]を選択します。
    2. FederationWebServicesDomain を選択します。
    3. [ポリシー]タブを選択した後、[変更]をクリックします。
    4. [ポリシー リスト]から、[SAML2FWSArtifactResolutionServicePolicy]エントリの右側にある編集の矢印をクリックします。
      [ポリシー]ダイアログ ボックスが表示されます。
    5. [ユーザ]タブから、SAML2FederationCustomUserStore ディレクトリの[メンバーの追加]を選択します。
      [ユーザ/グループ]ダイアログ ボックスが表示されます。
    6. リストから[affiliate:FederationSamplePartners]を選択し、[OK]をクリックします。
    7. [サブミット]をクリックして変更を終了します。
Artifact 解決サービスを保護するポリシーが適用されました。
IdP でアサーションを保存するための永続セッションの有効化
保護された認証 URL が含まれるレルムの永続セッションを有効にします(「認証 URL の保護」)。永続セッションは、SAML Artifact バインドのアサーションを保存するために必要とされます。
認証 URL を保護したときに永続セッションを有効化していない場合は、ここで有効化します。
以下の手順に従います。
  1. 管理 UI にログインします。
  2. [インフラストラクチャ]-[ドメイン]-[ドメイン]の順に移動します。
  3. 認証 URL のドメインにアクセスします。レルム。
  4. [レルム]ページから、認証 URL を持つレルムを選択して変更します。
  5. [セッション]セクションで、[永続]を選択します。
  6. [OK]をクリックします。
  7. IdP で Artifact バインドを選択します。
IdP での Artifact バインドの選択
Artifact シングル サインオンの場合、Artifact バインドを有効にします。
以下の手順に従います。
  1. [フェデレーション]-[レガシー フェデレーション]-[SAML サービス プロバイダ]をクリックします。
  2. このパートナーの設定にアクセスするには、sp.demo を選択します。
  3. [変更]をクリックし、[SAML プロファイル]ページを選択します。
  4. 以下のフィールドに値を入力します。
    • オーディエンス
      sp.demo
      この値は、サービス プロバイダの値と一致する必要があります。
    • アサーション コンシューマ サービス
      http://www.sp.demo:81/affwebservices/public/ saml2assertionconsumer
    • 認証レベル、有効期間、認証コンテキスト クラス参照
      デフォルトを使用
      テスト環境では、ポリシー サーバのトレース ログに以下のメッセージが存在する場合、有効期間を 60 (デフォルト)より大きな値に増加させることができます。
      Assertion rejected (_b6717b8c00a5c32838208078738c05ce6237) - current time (Fri Sep 09 17:28:33 EDT 2005) is after SessionNotOnOrAfter time (Fri Sep 09 17:28:20 EDT 2005)
  5. [Artifact バインディング]セクションで[HTTP-Artifact]を選択します。
  6. [Artifact エンコーディング]フィールドでは URL を選択します。
    Artifact は、URL にエンコードされたクエリ文字列に追加されます。
  7. [属性]ページに移動します。
  8. [バックチャネル]セクションで、以下のフィールドに入力します。
    • Password
      smfederation
    • パスワードの確認入力
      smfederation
    アイデンティティ プロバイダは、バックチャネルでの安全な通信にこのパスワードを使用します。
  9. [サブミット]をクリックします。
  10. SP で CA 証明書を証明書データ ストアに追加します。
SP での SSL バックチャネルの CA 証明書の追加
Artifact シングル サインオンにおいて、Basic over SSL が Artifact 解決サービスを保護する認証方式である場合は、サービス プロバイダの証明書データ ストアに証明書を追加します。
証明書データ ストアには、サービス プロバイダとアイデンティティ プロバイダの間の SSL 接続を確立する認証機関証明書が保持されます。証明書は、アサーションが送信されるバックチャネルのセキュリティを保護します。Artifact 解決サービスを保護し、バックチャネルのセキュリティを保護することで、信頼できる機関により SSL 接続のセキュリティが保護されることをサービス プロバイダが認識できるようにします。
共通ルートおよび中間 CA のセットが、
Single Sign-On
に含まれています。証明書データ ストアにない CA 証明書を使用するには、それらをインポートします。
この展開の場合、エイリアスは sampleAppCertCA、CA の証明書は docCA.crt です。
以下の手順に従います。
  1. 管理 UI にログインします。
  2. [インフラストラクチャ]-[X509 証明書管理]-[認証機関]をクリックします。
  3. [新規インポート]をクリックします。
    注:
    フィールド、コントロール、およびそれぞれの要件については、[ヘルプ]をクリックしてください。
  4. [ファイルの選択]手順では、docCA.crt を選択します。
    ウィザードの[パスワード]手順がスキップされます。
  5. [エントリの選択]手順で、[エイリアス]列に sampleAppCertCA と入力します。
  6. 「確認」の手順では、証明書を確認し、[完了]をクリックします。
    CA 証明書が証明書データ ストアにインポートされます。変更は、インポートの終了直後に有効になります。
  7. SP において SAML 認証に対する Artifact バインドを有効化します。
重要
: システムが使用する他の証明書の信頼チェーンに含まれている CA 証明書を削除することはできません。使用中の CA 証明書を削除しようとすると、証明書を削除できないことを知らせるエラー メッセージが表示されます。
サービス プロバイダでの Artifact バインドの有効化
サービス プロバイダで SAML 認証方式に対応するシングル サインオン バインドを設定します。設定により、サービス プロバイダ通信方法がアイデンティティ プロバイダに指定されます。
以下の手順に従います。
  1. [インフラストラクチャ]-[認証]-[認証方式]をクリックします。
  2. [Partner IDP.demo Auth Scheme]を選択します。この認証方式は、ベーシック設定用に作成した認証方式です。
  3. [変更]-[SAML 2.0 設定]-[SSO]タブを選択します。
  4. [解決サービス]フィールドに次に値を入力します。
    https:/www.idp.demo:443/affwebservices/saml2artifactresolution
  5. [暗号化 & 署名]ページに移動します。
  6. [バックチャネル]セクションで、以下のフィールドに入力します。
    • Authentication
      基本
    • SP 名
      sp.demo
    • Password
      smfederation
    • パスワードの確認入力
      smfederation
    パスワードは、アイデンティティ プロバイダにおけるパスワードと一致する必要があります。このパスワードにより、アイデンティティ プロバイダにおいて Artifact 解決サービスまでのバックチャネル全域の安全なアクセスが可能になります。
  7. [OK]をクリックします。
Artifact シングル サインオンのテスト
独自の Web ページを使用して、
Single Sign-On
Single Sign-On
のネットワークでシングル サインオンをテストします。
独自の HTML ページには、認証リクエスト サービスへのハードコードされたリンクが含まれる必要があります。この展開では、Artifact バインドのリンクは以下のとおりです。
http://<server:port>/affwebservices/public/saml2authnrequest?ProviderID= IdP_ID&ProtocolBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact
  • server:port
    Web エージェント オプション パックがインストールされてた SP でのサーバの名前およびポートを定義します。
  • IdP_ID
    プロバイダ ID を定義します。
この展開では、リンクは以下のとおりです。
http://www.sp.demo:81/affwebservices/public/saml2authnrequest?ProviderID= idp.demo&ProtocolBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact
このリンクを含めた HTML ソース ファイルは以下の例のようになります。
<a href="http://www.sp.demo:81/affwebservices/public/saml2authnrequest?ProviderID= idp.demo&ProtocolBinding=urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"> Link for ARTIFACT Single Sign-on</a>
認証リクエスト サービスは、ユーザの認証コンテキストを取得するためのリンクで指定されたアイデンティティ プロバイダにユーザをリダイレクトします。アイデンティティ プロバイダでは、ユーザを認証し、セッションを確立した後、サービス プロバイダのターゲット リソースにユーザを戻します。
: 認証リクエスト リンク内の ProviderID は、SP において SAML 認証方式の[IdP ID]フィールドの値に一致する必要があります。[IdP ID]フィールドは、[認証方式プロパティ]ダイアログ ボックスの[方式のセットアップ]タブにあります。
アサーションへの属性の追加
ユーザ ストア レコードから SAML アサーションに属性を追加して、ユーザを識別することができます。属性は、ターゲット リソースへのアクセスをリクエストしているユーザに対応するアイデンティティ プロバイダのユーザ ストアに存在する必要があります。
この展開の場合、ユーザ レコードで user1 の givenname を表す属性を追加します。
アイデンティティ プロバイダで以下の手順に従います
  1. 管理 UI にログインします。
  2. [フェデレーション]-[レガシー フェデレーション]-[SAML サービス プロバイダ]をクリックします。
  3. sm.demo を選択します。
  4. [変更]をクリックし、[属性]ページに移動します。
  5. [属性]セクションの[追加]をクリックします。
  6. [属性の追加]ダイアログ ボックスで、以下のフィールドに入力します。
    • 属性タイプ
      未指定(デフォルト)
    • 属性の種類
      ユーザ属性
    • Variable Name
      firstname
    • 属性名
      givenname
      givenname は user1 のプロファイル内の属性です。
  7. [OK]をクリックして変更を保存し、[属性]ページに戻ります。
  8. [サブミット]をクリックします。
デジタル署名と検証の設定
SAML 2.0 POST シングル サインオンの場合、アイデンティティ プロバイダは SAML レスポンスに署名する必要があります。アイデンティティ プロバイダでの設定タスクにより、デジタル署名が有効化されます。サービス プロバイダでの設定タスクにより、署名の検証が有効化されます。
重要
: 実稼働環境においては、署名処理は必須のセキュリティ要件です。
アイデンティティ プロバイダでの署名の有効化
POST バインドの SAML アサーションを署名するキーおよび証明書は、証明書データ ストアに保存されます。SAML レスポンスの署名が必要であるため、アイデンティティ プロバイダの証明書データ ストアには該当するキー/証明書ペアが含まれていることが必要です。
サンプル アプリケーションが自動的にインストールするキー/証明書ペアを使用して、サンプル アプリケーションを展開します。新しいキー/証明書ペアをインポートする場合は、以下の手順を実行します。
秘密キー/証明書ペアをインポートする方法
  1. 管理 UI にログインします。
  2. [インフラストラクチャ]-[X509 証明書管理]-[信頼された証明書]-[秘密キー]の順に移動します。
  3. 秘密キー/証明書 idp.demo を証明書データ ストアにインポートします。
    idp.demo は SAML レスポンスに署名します。
  4. [フェデレーション]-[レガシー フェデレーション]-[SAML サービス プロバイダ]を選択します。
  5. サービス プロバイダ sp.demo を選択した後、[暗号化 & 署名]タブに移動します。
  6. [署名の処理を無効にする]チェック ボックスをオフにします。このチェック ボックスの選択解除は、署名処理が有効になることを意味します。
  7. 以下のフィールドに値を入力します。
    • 署名エイリアス
      秘密キー/証明書ペアのインポート時に指定したエイリアスを入力します。
    • 署名アルゴリズム
      RSAwithSHA1 (デフォルト)
    • POST 署名オプション
      アサーションの署名(デフォルト)
  8. [サブミット]をクリックします。
サービス プロバイダでの署名の検証の有効化
POST シングル サインオンの場合、アイデンティティ プロバイダは SAML アサーションにデジタル署名する必要があります。そのため、サービス プロバイダが署名を検証する必要があります。
デジタル署名を検証する方法
  • 証明書(公開キー)を証明書データ ストアにインポートします。
  • 発行者の DN および証明書のシリアル番号を指定します。
公開キーをインポートする方法
  1. 管理 UI で、[インフラストラクチャ]-[X509 証明書管理]-[信頼された証明書]-[秘密キー]の順に移動します。
  2. 公開キー/証明書ペアを証明書データ ストアに追加します。この展開の場合、証明書は post-cert.crt です。
    キー/証明書ペアがデータ ストアに追加されました。
  3. [サブミット]をクリックします。
  4. [インフラストラクチャ]-[認証]-[認証方式]の順に移動します。
  5. SAML 2.0 認証方式(Partner IdP.demo Auth Scheme)を選択します。
  6. [暗号化 & 署名]タブを選択します。
  7. [D-Sign 情報]セクションで、[署名の処理を無効にする]チェック ボックスをオフにして、署名の処理を有効にします。
  8. 以下のフィールド値を指定します。
    • 発行者 DN
      CN=Certificate Manager,OU=IAM,O=CA.COM
    • シリアル番号
      008D 8B6A D18C 46D8 5B
    D-Sig 情報を使用して、サービス プロバイダが SAML レスポンスの署名を確認できます。[発行者 DN]と[シリアル番号]の値は、サービス プロバイダの証明書データ ストアに保存された証明書から得られます。
  9. [OK]をクリックします。
    以上で、検証設定が完了しました。
  10. POST シングル サインオンをテストします。
アサーションの暗号化と復号
セキュリティ強化のために、アサーションを暗号化できます。暗号化は、基本的なシングル サインオン ネットワークを設定した後に実行可能なオプションのタスクです。
アイデンティティ プロバイダは、サービス プロバイダがアサーションの復号に使用する秘密キー/証明書ペアに対応した証明書を持つアサーションを暗号化します。
設定タスクは、アイデンティティ プロバイダとサービス プロバイダで実行可能です。
IdP でのアサーションの暗号化の有効化
この展開では、sp_encrypt.crt が暗号化される証明書です。
IdP での暗号化を有効にする方法
  1. 管理 UI にログインします。
  2. [インフラストラクチャ]-[X509 証明書管理]-[信頼された証明書]-[秘密キー]の順に移動します。
  3. sp-encrypt.crt 証明書を証明書データ ストアにインポートします。
  4. [フェデレーション]-[レガシー フェデレーション]-[SAML サービス プロバイダ]の順に移動します。
  5. sp.demo を選択します。
  6. [変更]-[SAML 2.0 設定]を選択します。
  7. [暗号化 & 署名]タブに移動します。
  8. [アサーションを暗号化する]を選択します。
  9. [暗号化ブロック アルゴリズム]および[暗号化キー アルゴリズム]のデフォルトをそのまま使用します。
  10. [発行者 DN]で、証明書の発行者を入力します。この展開の場合、DN は次のとおりです。
    CN=Doc Certificate Authority、OU=Doc、O=CA.COM
    : [発行者 DN]フィールドに入力する値は、証明書データ ストア内の証明書の発行者 DN に一致する必要があります。一致する値を入力したときに検証する DN を確認してください。
  11. [シリアル番号]フィールドに、証明書データ ストア内の証明書のシリアル番号を入力します。この展開の場合、値は 00EFF6AFB49925C3F4 です
    数値は 16 進数であることが必要です。
  12. [OK]をクリックして、変更を保存します。
  13. SP で暗号化アサーションを復号します。
SP でのアサーションの復号の有効化
アサーションがアイデンティティ プロバイダで暗号化されている場合、サービス プロバイダは秘密キーおよび対応する証明書を証明書データ ストアに保存している必要があります。
サービス プロバイダは、アサーションを復号するための秘密キー/証明書ペアを保有する限り、アイデンティティ プロバイダからの暗号化されたアサーションを受理します。
: 暗号化されたアサーションをサービス プロバイダで受理するために[暗号化されたアサーションを要求する]機能を有効にする必要はありません。
以下の手順に従います。
  1. コマンド ウィンドウを開きます。
  2. [インフラストラクチャ]-[X509 証明書管理]-[信頼された証明書]-[秘密キー]の順に移動します。
  3. 秘密キー/証明書ペア sp-encrypt.crt を証明書データ ストアに追加します。このペアのエイリアスは sp1privkey です。秘密キーのパスワードは fedsvcs です。
  4. シングル サインオンをテストします。以下のいずれかに進んでください。
    • SAML 2.0 POST シングル サインオンのテスト
    • Artifact シングル サインオンのテスト