前回、ADFSサーバーの要求プロバイダー信頼と証明書利用者信頼について紹介をし、要求プロバイダー信頼と証明書利用者信頼にそれぞれ異なるADFSサーバーを登録して、連携させることができるという話をしました。
そこで、今回はADFSサーバー間の連携を行うための具体的な設定について紹介します。
今回行うこと
前回の投稿でもご覧いただいた図ですが、2つの異なる会社でADFSサーバーを保有していて、A社のユーザーがB社のADFSサーバーを経由して様々なサービス(Office365など)にアクセスするというシナリオで必要な設定を見ていきます。
連携のために必要なこと – オーバービュー
異なる組織との間でADFSサーバーによる連携を実装する場合、同一組織での通信の場合とは異なり、どのような通信でも行えるわけではありません。そのことを考慮し、CP(上の図でいうところのA社のADFSサーバー)とRP(上の図でいうところのB社のADFSサーバー)の設定を行う必要があります。
具体的な注意点は以下のとおりです。
フェデレーションメタデータの参照
同一組織の場合、フェデレーション メタデータを直接参照することで、[証明書利用者信頼] を設定しましたが、異なる組織では CP 側の組織から直接フェデレーション メタデータを参照できるとは限りません。フェデレーション メタデータの参照ができない場合、事前にフェデレーションメタデータ ファイルを CP 側の組織にコピーし、証明書利用者信頼の設定ではコピーしたファイルを利用するように設定します。このことは、RP 側の組織から CP を参照するときにも同様のことが言えます。
ADFS プロキシの実装
組織間での ID 連携では、組織の ADFS サーバーに外部からアクセスすることになります。STS としての役割を持つ ADFS サーバーを外部からのアクセスによって乗っ取られると甚大な被害が予想されます。この問題を回避するために ADFS プロキシを設置し、外部から ADFS サーバーに直接アクセスできないように構成します。
証明書の検証
既定では、ADFSサーバーで扱われる証明書は適切なものであるか検証されます。しかし、証明書の検証時に証明機関にアクセスすることになると、証明機関サーバーが別組織にあり、アクセスできない場合があります。このため、証明書検証方法については、ADFS の設計時に検討しておくべき重要な項目のひとつです。
受け渡しするクレームの定義
組織間で受け渡しするクレームについて、どのようなクレームをトークンに含むのか、またどのような型(属性) で受け渡しをするのか、組織間で事前に決定しておきます。
次回、証明書の検証とクレームの項目について、詳しく解説します。