【第6回】Azureで社内システム再現(オンプレ編)|ADFS & ShibbolethでSSOを実装④
概要
「Azureで社内システム再現(オンプレ編)」では、
Azure の IaaS サービスを使って簡単な社内システムを再現します。
機能としては、社員番号を入力して検索ボタンを押すと、
対応する名前を表示するだけのシンプルなものです。
※詳しい全体構成については、【第0回】Azureで社内システム再現(オンプレ編)|構成図と動作の流れで紹介しています。
システム構成(今回の対象範囲)
今回は、外部公開されているテスト用 SP サイトと ADFS(IdP)の間に
SAML ベースの信頼関係を構築します。
このテスト SP サイトでは、ログイン後の画面にユーザー情報が表示されるため、
ADFS 側の要求規則(Claim ルール)が正しく動作しているかを確認しやすいのが特長です。
本記事では、以下の作業を実施します。
- テスト SP サイトが提供するメタデータをダウンロード
- ADFS に SP メタデータをインポート(証明書利用者信頼の追加)
- 要求規則を作成し、Active Directory の属性を SP に渡す
- IdPメタデータを SP サイトにアップロード
テスト SP サイトの紹介
今回使用するのは、以下の外部公開されたテスト用 SAML SP サイトです。
🔗 https://sptest.iamshowcase.com/
このサイトは、SAML 認証の動作確認を目的としたサービスプロバイダ(SP)です。
IdP(ADFSなど)と連携することで、SAML アサーションの内容を画面上に表示してくれるため、
要求規則(Claim ルール)の動作確認に適しています。
ログインが成功すると、ユーザー名やアサーションの属性値がそのままブラウザに表示されます。
そのため、ADFS から送信される属性情報(SAM-Account-Name など)が正しく受け渡されているかどうかを
視覚的に確認することができます。
1. テストSPサイトのメタデータをダウンロード
テストSPサイト(https://sptest.iamshowcase.com/)から、ADFS 連携用のメタデータを取得します。
IDP initiated SSO を選択
画面上部のメニュー「Instructions」から「IDP initiated SSO」を選択します。
IDP initiated SSO と SP initiated SSO の違い**
- IDP initiated SSO:IdP(今回は ADFS)から認証処理を開始する構成
- SP initiated SSO:SP 側のサービスからアクセスが始まり、そこから IdP にリダイレクトされる構成
メタデータのダウンロード
表示されたページ内の「DOWNLOAD METADATA」ボタンをクリックします。
クリックすると、テストSPが提供するメタデータ(XML形式)がブラウザ上に表示されます。
メタデータファイルを保存
ブラウザ上に表示された XML ファイルを右クリックし、「名前を付けて保存」を選択します。
今回は、testsp_metadata.xml
というファイル名で保存しました。
2. ADFS にメタデータをインポート(証明書利用者信頼の追加)
ダウンロードしたテストSPのメタデータを ADFS にインポートし、
証明書利用者信頼(Relying Party Trust)として登録します。
メタデータファイルの指定
ウィザードを起動し、「証明書利用者についてのデータをファイルからインポートする」を選択します。
保存しておいたメタデータファイル(例:testsp_metadata.xml
)を指定します。
表示名の設定
証明書利用者の表示名を設定します。
ここでは Test-SP
としました。
登録完了の確認
設定が完了すると、ADFS の「証明書利用者信頼」に Test-SP が追加されていることが確認できます。
3. クレームルール(要求規則)の設定
テスト SP サイトでは、IdP から送信された属性情報(クレーム)をログイン後の画面で確認できるようになっています。
そのため、今回は学習目的として、Active Directory の属性を 1 つ SP に渡すルールを作成します。
クレームルールの作成
以下の画面では、Active Directory の sAMAccountName
属性を「名前 ID」として送信するルールを構成しています。
- 規則テンプレート:
LDAP 属性を要求として送信
- 属性ストア:
Active Directory
- LDAP 属性:
SAM-Account-Name
- 出力方向の要求の種類:
名前 ID
この設定により、ユーザーが SSO でログインした際、
sAMAccountName
(例:user01)が「名前 ID」として SP に送信され、ログイン後画面に表示されます。
4. ADFS メタデータを SP サイトにアップロード(SP Initiated SSO の構成)
SP Initiated SSO(SP起点のシングルサインオン)を構成するために、テスト用 SP サイトに ADFS のメタデータをアップロードします。これにより、テストサイトからの認証リクエストに ADFS が応答できるようになります。
SP Initiated SSO の設定ページを開く
テスト SP サイト(https://sptest.iamshowcase.com)にアクセスし、メニューから
Instructions
> SP initiated SSO
を選択します。
ADFS のメタデータをアップロード
次に、ADFS からダウンロードしたメタデータファイル(FederationMetadata.xml
)をアップロードします。
CHOOSE FILE
ボタンを押してファイルを選択し、SUBMIT FILE
をクリックします。
テスト SP の専用アクセス URL を取得
アップロードが成功すると、SP Initiated SSO に使用する 専用URL が生成されます。
この URL にアクセスすることで、SAML 認証フローが開始されます。
https://sptest.iamshowcase.com/ixs?idp=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Discussion